12:57:53 RRSAgent has joined #shapes 12:57:53 logging to http://www.w3.org/2015/05/20-shapes-irc 12:57:55 RRSAgent, make logs rdf-data-shapes 12:57:57 Zakim, this will be SHAPES 12:57:57 I do not see a conference matching that name scheduled within the next hour, trackbot 12:57:58 Meeting: RDF Data Shapes Working Group Teleconference 12:57:58 Date: 20 May 2015 12:58:27 the webex access code has changed, make sure you reload the wiki page 12:59:23 access code is: 642 797 732 13:00:04 ericP has changed the topic to: RDF Data Shapes WG: https://www.w3.org/2014/data-shapes/ - New webex code: 642 797 732 Next agenda: https://www.w3.org/2014/data-shapes/wiki/F2F3#Agenda Use WebEx for audio connection - see F2F page for details 13:00:46 Dimitris has joined #shapes 13:02:15 aryman has joined #shapes 13:05:07 hsolbrig has joined #shapes 13:06:08 pfps has joined #shapes 13:06:13 Hi. 13:12:12 scribenick: dimitris chair: Arnaud agenda: https://www.w3.org/2014/data-shapes/wiki/F2F3#Day_2_-_Wednesday_May_20 13:12:38 topic: What would it take for you to live with the other proposals? 13:13:30 Arnaud: identify gaps 13:13:31 Labra has joined #shapes 13:13:47 ... start with the presenters and go from there 13:14:29 definition for recursion, graph coverage and closed shapes, oneOf, multi-occurance, negation 13:14:30 ericp: if we abandon our semantics we have no guarantee 13:15:16 ... it's tempting to write these out of shacl 13:15:32 and find a subset of shex that matches the semantics 13:16:52 ... the sparql version increased in complexity 13:18:01 +q 13:18:47 pfps: having named things and reference other things does not mean we allow recursion 13:19:26 +q 13:19:39 ericp: from the user perspective people will do recursion so is this a compile time syntax error? 13:20:42 pfps: there are certain recursion patterns shex does not allow 13:21:30 q+ 13:21:34 q+ 13:21:56 ack hknublau 13:22:57 hknublau: if we intersect a core and each goes his own way we won't be succesful 13:23:24 ... we should come up with a definition that satisfies requirements 13:24:37 I agree with Holger, most of Eric's list is quite simple in a SPARQL-based solution. 13:24:39 arnaud: I agree with holger 13:25:02 q- 13:25:26 ack aryman 13:26:33 aryman: seeing Peter's proposal the grammar does permit recursion but that's not the full definition of a language 13:28:01 pfps: (giving a more formal definition) 13:29:07 aryman: I agree with Holger, we need to address all problems 13:29:07 ack Labra 13:29:10 The grammar of the language is the grammar of the language. Context-free grammars are often used as over-generalizations of the grammar of a language, and have implementation advantages. 13:30:19 http://www.slideshare.net/jelabra/linked-dataquality-2014 13:30:23 labra: it is quite normal & natural to have cycles like in RDF e.g. foaf:knows 13:30:26 slide 6 13:31:10 in this slide recursion is needed 13:31:44 But having loops in the data is not by itself an argument for recursion. 13:32:39 arnaud: we will see about recusrion later, Holger what would it take for you to live with Eric's or Peter's proposal? 13:33:02 hknublau: it's easier with Peter's proposal 13:33:16 q+ 13:33:44 The difference between my proposal and Holger's are lessening, and not ones of kind. 13:34:19 ... PEter's proposal is not as complete as mine but by merging we can make it. With ShEx it's quite different because SPARQL is a second-class citizen in the language. 13:34:31 s/PEter/peter/ 13:35:35 ... we complicate shacl too much 13:36:22 q+ 13:36:38 ack hsolbrig 13:36:43 ... we can have a separate semantics document, compact syntax along with the main proposal 13:37:37 hsolbrig: referring to Jose's slide 6, is this the recursion we are referring to? 13:37:50 pfps: this is loops in the data model 13:38:10 +q 13:38:36 hsolbrig: all we need is to model with shapes the uml diagram 13:38:46 pfps: it can be done without recursion 13:39:26 ... we have two sides a constraints side and a recognition side 13:43:24 hsolbrig: eric is there something more that we need to do beyond the slide 6? 13:44:08 q- 13:44:46 pfps: in the constraint side you don;t have to use recursion because you don't need it 13:45:02 .. and the data loops tie everything together 13:45:53 ericp : because we have a type arc? 13:46:10 pfps: usually we have a type arc but it is not necessary 13:46:27 q+ 13:46:47 q+ 13:47:16 another example: http://www.slideshare.net/jelabra/towards-an-rdf-validation-language-based-on-regular-expression-derivatives 13:47:19 slide 4 there 13:48:06 ... even if you took owl recognition in a CWA owl is more powerful than ShEx 13:49:21 pfps: it wouldn't work in e.g. ir ex:reportedBy was the only way to identify the issue 13:50:21 I don't think that constraints can do something like saying that issues are those things whose related things are issues. 13:50:47 q+ 13:52:02 hsolbrig: I didn't see Peter's proposal but I 'd excited to merge Eric's and Holger's 13:52:57 ... what Holger states as templates fits very well to Eric's semantic actions 13:54:27 ack Labra 13:54:46 another example: http://www.slideshare.net/jelabra/towards-an-rdf-validation-language-based-on-regular-expression-derivatives 13:56:07 labra: I put another sample in slide 4 but you don't have a type arc. We need shacl to identify this data models 13:56:41 ... we should try to identify an expressive enough core language like choices, conjuction 13:56:53 ack aryman 13:57:04 ... if have these constructs I don't mind having other extension mechanisms 13:57:15 I dispute the Person example. The RDF data does not match the E-R diagram. 13:58:24 q+ 13:58:42 ack Labra 13:58:46 pfps: (about slide 6) since we have rdf:type in the ER we can do everything 13:59:16 labra: the rdf:type could be missing 14:00:26 pfps: in ER every entity belongs to a class, even for the person example there has to be an indication that it is a person 14:00:29 q? 14:01:17 labra: we are not modelling ER we are modelling data 14:01:41 q+ 14:02:23 so does every node except the top in pfps's proposal need a descriminator? 14:03:27 aryman: I agree with peter about ER but in practice let's assume we don't have type triples 14:03:53 The diagram says "E-R Diagram" ! So it *is* an E-R diagram! 14:04:16 :) 14:04:23 I called the diagram E-R because it is familiar to people 14:04:29 but it is a RDF data model 14:04:40 we are not modelling an RDF database 14:05:26 ... in this case there cycles 14:05:31 q- 14:05:36 I mean, it is not a E-R diagram in the classic term of relational databases 14:05:42 ack kcoyle 14:06:29 E-R diagrams aren't relational databases, so I'm not sure why the need to distinguish them 14:07:07 kcoyle: I like meting the ShEx syntax with a backend like Holger's or Peter's proposal but if we need SPARQL 50% we don;t do a good job 14:07:20 If the SHACL proposals look too programmy, then what would make them less programmy? 14:07:20 ... the core should protect people from SPARQL 14:07:39 Perhaps you are agling for something like OWL contraints, as in Stardog ICV. 14:07:55 arnaud: What would it take for you to live with the other proposals? 14:08:38 pfps: Mine and Holger's proposal are getting closer so it wouldn't be too much, the only issue would be shapes are classes 14:09:30 ... for the ShEx proposal, to have something so different in a W3C standard would quite hard for me 14:10:10 ... only if we had the ShEx semantics but why go with something that is new, untried when there is a good alternative 14:10:46 ... it has to be cleaner than Caesar's wife 14:11:40 ... shex has problems to translate into SPARQL and the other is global coverage, although coverage looks it dropped from the proposal 14:12:37 ... adding recursion or coverage could cause everything to break 14:13:15 arnaud: we can accept features on not when time comes 14:14:12 +q 14:14:33 ... Karen as a normal user is not font of using SPARQL 14:14:40 -q 14:15:03 Yes, Karen’s concers can be addressed by tools providing a high-level front end. 14:15:07 pfps: Karen is wrong and even with ShEx we would have to resort to another language anyway 14:15:19 Our examples were cryptic because they were in RDF. 14:16:41 arnaud: we can decide where we draw the line between core and extensions 14:17:47 ... Holger proposed to start with a minimal set and extend with user need which is a conservative approach 14:17:59 +1 to holger - the SPARQL-based syntaxes are RDF-encodings, which are ugly at best 14:18:48 ... css was created from the ground up in W3C 14:18:50 q+ 14:18:57 ack Labra 14:19:59 labra: we need to agree on constructs, Holger wanted a minimal core we want something more 14:20:46 I'm not sure why having something not be in the core would prevent it from being interoperable. 14:20:57 q+ to say that i started out only caring about the surface syntax, but then had to meet more use cases. Won't we face the same problem here? 14:21:13 q+ 14:21:18 ack ericP 14:21:18 ericP, you wanted to say that i started out only caring about the surface syntax, but then had to meet more use cases. Won't we face the same problem here? 14:22:02 ericp: the syntax grew based on user demans 14:22:20 s/demans/demons/ 14:22:45 I think that Jose was arguing for only standardizing the core. I am against that. 14:23:00 ... and that is how complexity grew as well 14:23:45 ack hsolbrig 14:23:55 arnaud: we need to make sure the different documents be in sync 14:25:19 hsolbrig: I am ok to add syntactic sugar on top of SPARQL but not on rejecting constructs because they cannot be translated to SPARQL 14:26:37 q+ 14:26:39 +q 14:26:48 ack Labra 14:27:51 labra: the usual cases should not need SPARQL 14:27:54 ack hknublau 14:28:10 As soon as you have inter-property relationships you have to drop into SPARQL in any of the proposals. 14:29:17 hknublau: SPARQL is complex but is also powerful, if you want something wil a lot expressivity will turn out to something like SPARQL in the end and a new language for users to learn 14:29:35 Of course, you could always add new constructs to cover these situatons. In the SPARQL-based proposals this amounts to writing the translation into SPARQL. 14:29:36 ... any other alternative will become just as complex 14:33:31 http://doodle.com/qhpf64i2rn6283c9#table 14:34:05 break for 15mn 14:51:14 scribenick: ericP 14:53:21 +q 14:53:35 ack hknublau 14:54:46 can we at least do a straw poll to gauge the wg's mood? 14:57:04 I don't think this solves my issues, and I'd need more info (eg test examples) 14:57:05 q+ 14:57:12 ack aryman 14:58:45 PROPOSED: Merge Peter and Holger's proposals 14:58:53 +1 14:58:59 +1 14:59:20 kcoyle +1 (although I don't really know what that means) 14:59:35 We don't have a direction for the merge yet, but I'm not against this in principle. 14:59:41 0 14:59:58 +1 15:00:16 q? 15:00:31 I don't think that there would be much, if any, reduction in the total cognitive load. 15:00:53 The biggest difference is between the SHACL-based solutions and the ShEx-like solution. 15:01:25 I'm not sure I understand Peter's proposal so I can't vote 15:01:49 pfps: why bother? 15:02:07 My understanding it that it says "We don't need SHACL, just Sparql.." Is this not the case? 15:02:19 Arnaud: i have the feeling that there is an aspect to your proposal that is not in Holger's which his draft would benefit from 15:02:39 ... we talked yesterday about how what you call a constraint is different than Holger's 15:03:09 ... so if your terminology is better, would it be better in Holger's doc? 15:03:40 pfps: why weaken our proposals? 15:03:47 ... we're stuck on this divide 15:04:00 ... between the SPARQL-based and the non-SPARQL-based solutions 15:04:36 ... the ShEx solution is not SPARQL-based. it has SPARQL as an add-on but it has a different semantic base. 15:05:28 ... at some point we need to tie up one or both approaches 15:06:13 ... it's hard for me to imagine what shex folks could do that would make me accept it 15:06:36 Arnaud: i'm talking about implementing ShEx in SHACL 15:07:02 pfps: that that means the ShEx folks have to give up on some stuff that they deem important 15:07:36 Arnaud: can we evaluate what can be done in SPARQL? 15:08:04 pfps: let's first ask what will be the semantic underpinnings 15:09:07 PROPOSED: Define a compact syntax for SHACL, along the lines of ShEx 15:09:26 pfps: i'm all for a nice syntax for SHACL 15:09:51 aryman: then we can isolate the differences to a few features 15:10:41 Arnaud: do you want to say "ShEx people, go away; you want stuff that can't be implemented in SPARQL" 15:10:53 pfps: for me, "yes" 15:11:19 ... but we're asking the ShEx folks to give up on their semantics, coverage, recursion, etc... 15:11:50 aryman: ericP did say that compact syntax was the original motivation for ShEx 15:12:22 pfps: so this means that the only thing that remains is the syntax 15:13:16 Arnaud: iovka's not here, but she did say "are you going to reinvent this all?" 15:13:39 pfps: why should the SPARQL side be against this approach? 15:14:07 Arnaud: the caveat is that you have to have an open mind and extend SPARQL when necessary 15:15:01 ... iovka et al may continue to work on this elsewhere 15:15:26 pfps: it's always going to be the case that we have to ask will each feature be worth the pain? 15:16:13 hsolbrig: there's going to be an outer control logic which we can augment 15:16:42 (Not hsolbrig, hknublau) 15:17:12 aryman: there's a big intersection; we should look at the remaining features and evaluate their use and cost 15:17:21 s/hsolbrig/hknublau/ 15:19:48 Eric is proposing something very different from what I thought was the way forward. 15:20:01 And it's not the same at all as "meeting the use cases". 15:21:30 Multiple pieces of a shape that are about the same property were problematic in ShEx, but they cause no problems in the SPARQL-based solutions. 15:21:44 q+ 15:22:08 ack pfps 15:22:36 pfps: ericP appears to be arguing for a particular way of solving the use cases, not solving them. 15:23:20 q+ 15:24:56 ack ericP 15:25:13 { :performer { :role :surgeon } , :performer { :role :anesthtisiologist } } 15:25:13 you're fading again 15:25:24 can barely hear you 15:25:31 hard to hear eric 15:25:39 Again, Karen's desire to not drop into SPARQL does not distinguish between *any* of the proposals. 15:26:07 ericP: i didn't intend to say that i need to want a particular methodology; just that my guess is that iovka's semanttics will be useful in defining the control structure semantics 15:27:00 pfps: how does distinguish between the different possiblities? 15:27:35 Arnaud: i think it depends on the different features 15:28:11 can't we resolve this with test cases? this is speculation 15:28:51 pfps: ShEx has featues that aren't in the RDF encoding of holger's proposal 15:29:13 I'll do it scribenick: hsolbrig 15:29:40 thanks 15:29:47 pfps: There are a couple of things in ShEx that don't fit into Sparql as well as other things in the past 15:30:25 pfps: The SPIN "family" SPIN, RDF Constraints, Stardog doesn't see much of a need for that 15:31:11 hknublau: Eric's exmple could be expressed in pure SPARQL or just another template. 15:31:51 pfps: Anything that you can fit into a closed world OWL axiom, if will fit within the "most stark SPARQL setup" 15:32:01 s/if/it/ 15:33:00 Arnaud: Propose we take Peter's draft and agree to merge and define compact syntax along the lines of ShEx. If things don't fit, we will have to decide which way we go. 15:33:44 Arnaud: In the end, if compact is not rich enough for ShEx, they can go on. Rest of group will not agree to base the whole standard on ShEx. 15:34:17 pfps: If that is the premise, the work that Holger and I would do would likely have impact. I'm all for it. 15:35:42 PROPOSED: Adopt Holger's draft as SHACL, leveraging Peter's proposal to improve it, and define a compact syntax for it along the lines of ShEX 15:35:56 +1 15:35:58 +1 15:35:59 +1 15:36:00 +1 15:36:19 +0 15:36:25 +0 # i'm not sure if this rules out ShEx use cases 15:36:43 Labra has joined #shapes 15:36:51 +1 15:37:04 This is a fundamental vote, so I expect it will need to be confirmed by the WG as a whole. 15:40:17 Labra has joined #shapes 15:40:24 I have just connected 15:40:28 I thought that, in general, substantive votes should be announced in advance, so that WG members who care can do their homework. 15:40:41 PROPOSED: Adopt Holger's draft as SHACL, leveraging Peter's proposal to improve it, and define a compact syntax for it along the lines of ShEX 15:40:53 -1 15:42:18 labra: When I wanted to add a language construct in the past, Holger answered that template mechanism covered it and I wanted things to be well defined and identified. 15:43:04 arnaud: I would expect those issues to be addressed in the proposal I made, and if the group agrees that they should be added, they would be added. 15:43:59 q+ 15:44:01 labra: I think we need a more useful, expressive core language. Disjunctions are left, ... doesn't say whether they are adopted or not. Any time we want to add a feature, we have to create another issue.. 15:46:19 labra: I could add an issue for features in the abstract syntax, but that isn't a way forward. User can add his own features isn't the answer... 15:46:43 ack aryman 15:47:36 aryman: I think the group agrees that we have to proceed from use cases, not just features. If the use case is a general useful constraint, we need to represent it in the language. Define as template and then promote as part of core langauge. 15:48:14 PROPOSED: adopt ShEx's abstract syntax as the starting point and align everything else (i.e., RDF vocab and Compact Syntax) to it 15:48:24 aryman: If you agree that we proceed based on use cases, then there is pretty much concensus that that is what goes into the core. 15:48:26 It can also be the case that the features needed to cover a desirable set of use cases do not result in an implementable system. 15:48:27 +1 15:48:27 -1 15:48:28 -1 15:48:29 -1 15:48:41 +0 15:48:42 +1 # of course 15:48:43 +1 15:48:47 -1 15:49:20 Arnaud: This is a clear non-starter 15:49:21 Jose: you need to mute 15:49:42 eric - why of course? this indicates that you are aligned to a particular solution 15:50:03 because it meets the use cases we've seen 15:50:26 arnaud: More pragmatic to start with something minimal and then extend. 15:50:47 now we run the obvious risk that any feature that's inconvenient will be struck from the language 15:50:59 eric - so what? why not permit different solutions to the problems you have seen? 15:52:03 pfps, i think my last line answers that. do you disagree? (i'm not prescribing solutions, just language featuers) 15:52:58 q+ 15:52:58 Arnaud: This is as far as we can take this today. We should focus on trying to solve some of the issues we have. 15:53:11 ack pfps 15:53:32 pfps: Why not just vote to disband the working group? 15:54:27 Arnaud: not the group's decision. As chair I have the right to override one negative and it can be appealed if voter wishes. 15:55:02 q+ 15:55:24 q+ 15:56:05 ack Labra 15:57:29 Labra: This vote is quite important. We could have an offline vote... 15:57:36 ack aryman 15:58:24 Arthur: I think ShEx folks are concerned that their use cases may not be represented in the solution... lets focus on use cases. 15:59:15 Arthur: I think we should spend a lot more effort on the test suite and give others an opportunity to solve them. Lets not talk in generalities, focus on the specific and concrete. 15:59:30 q+ to ask if we can write ShExC tests 16:00:53 Arnaud: I agree. Even if you accept the general approach, doesn't mean that you can't object to the particular solution and say I'm not happy because it is missing something I need. 16:00:59 eric - but language features are in essence solutions 16:01:32 q+ 16:01:38 ack ericP 16:01:38 ericP, you wanted to ask if we can write ShExC tests 16:02:14 q+ 16:03:05 ack Labra 16:03:12 Arnaud: This is the kind of question we can address tomorrow. We may want two different test sets -- compact syntax and another to be certain of coverage 16:05:11 Arnaud: vote is not resolved. Considering putting it offline but worried about votes without context and ... 16:07:21 used to be that if you missed two meetings in a row then you could not vote 16:07:52 also, only one vote per org 16:08:32 ack aryman 16:08:39 re test cases, they should contain data 16:09:44 aryman: The test cases should be described with data -- example that validates, example that violates. Syntax should be documentation, but not definition. 16:10:22 Lunch break. After lunch discussion of issues 16:17:11 michel has joined #shapes 17:04:55 hi 17:07:18 scribenick: hsolbrig 17:08:00 Arnaud: Look at issues list. Should wait for pfps for inferencing. 17:08:09 I'm back, more or less. 17:08:35 back enough to talk about inferencing? 17:08:52 not for a bit - I have to do a bit more cleanup 17:09:31 Arnaud: Issue 37 17:09:48 iovka has joined #shapes 17:10:10 Issue 37 requires Ted... 17:10:20 Arnaud: Lets look at the list in general 17:11:02 Topic: Issue 25 -- what's in core? 17:11:51 Arnaud: No simple answer. I don't think we can draft a resolution, the answer will evolve over time. 17:12:05 Holger: I think it should be split into sub issues 17:12:40 Arnaud: I think we can close 25. 17:12:51 PROPOSED: Close ISSUE-25, as is - this will be defined over time on a case by case basis 17:12:54 +1 17:12:56 +1 17:13:00 +1 17:13:06 +1 17:13:09 +1 17:13:29 +1 17:13:34 aryman has joined #shapes 17:13:37 +1 17:13:47 RESOLVED: Close ISSUE-25, as is - this will be defined over time on a case by case basis 17:15:29 Topic: Issue 24 -- haven't seen it in other proposals. Can we just say that inheritence resolves it via rdfs mechanisms? 17:15:30 Issue-24 17:15:30 Issue-24 -- Can shapes specialise other shapes? -- open 17:15:30 http://www.w3.org/2014/data-shapes/track/issues/24 17:15:57 I would be fine with Holger's approach 17:16:05 q+ 17:16:38 +q 17:17:16 ericp. property paths can be used for closure 17:17:41 ack aryman 17:18:13 aryman: I don't think this has anything to do with classes and inferencing. we've already agreed that they are different things. 17:18:59 aryman: specializing shapes is totally orthogonal to classes, meaning, "When you evaulate this shape, first evaluate that". A specialized constraint should match less... 17:19:20 arnaud: Holger is saying that shape is a class... 17:19:35 ack hknublau 17:19:41 aryman: Not in Peter's proposal. There is a class of all shapes, but a shape isn't a class. 17:20:02 q+ 17:20:20 does that only apply if classShape is used? 17:20:26 holger: it doesn't depend on the shape/class link. There is scopeClass and inheritence in RDFS gives us what we want. 17:20:32 ack aryman 17:21:09 aryman: scopeClass, at least in Peter's proposal is something different. It says, "only apply this shape if this scope shape is true". It doesn't say this shape extends another shape.. 17:21:47 aryman: Not the same as class inheritence in RDF 17:22:40 here's what inclusion looks like in ShExC: http://w3.org/brief/NDUx 17:22:44 aryman: completely othogonal to rdfs inheritence. Like an inclusion macro -- can add or strengthen. 0..* can be constrained to 0..1 17:23:41 aryman: based on constraints being open. Could only strengthen if closed 17:23:44 q+ to say what this looks like in ShExC 17:23:55 ack ericP 17:23:55 ericP, you wanted to say what this looks like in ShExC 17:25:49 posting the syntax on IRC would be more helpful, I think 17:25:59 ericp: & states "inheritence" 17:26:41 how is that different from just conjoining the shape in? 17:26:55 holger: we have two mechanisms, what are the consequences? 17:26:57 here's another view of it: http://piratepad.net/shacl 17:27:28 aryman: if you scope the shape by a type and do proper inferencing you achieve the desired effect. We aren't requiring a shape to be linked to a class. 17:28:00 q+ 17:28:05 aryman: in some graphs you can have nodes that have the same type but you want to enforce different shapes. 17:28:21 holger: This is whe we've introduced the pre-condition scopes. 17:28:34 s/whe/why/ 17:28:55 ack pfps 17:28:58 simonstey has joined #shapes 17:29:21 pfps: & means textual inclusion -- place them together? 17:29:36 +q 17:29:47 ericp: Yes - its a group, not conjunction. 17:29:53 ack iovka 17:30:21 iovka: ??? (audio garbled) 17:31:11 pfps: It is a question on what the syntax means. You said you could do conjunction by two separate shapes... 17:32:17 iovka: You don't need to model it with grouping. This is kind of equivalent to conjunction because both shapes are satisfied. 17:33:03 +q 17:33:10 It's not even that I thought that it was logical conjunction. I was just asking what the combination construct was here. 17:33:48 aryman: it is very ackward to have to construct shapes by copying, pointer needed. 17:33:52 ack hsolbrig 17:34:53 hsolbrig: Can we all agree that shape specialization is needed? 17:35:32 arnaud: Yes - how is more complicated, but can we clarify we agree? 17:36:09 pfps has joined #shapes 17:36:12 q+ 17:36:24 ack pfps 17:36:26 arnaud: two possible ways, leverage rdfs inheritence. Other way is we develop our own mechanism 17:36:52 pfps: All of the proposals include some kind of conjunction? If so, we've already done it... 17:37:09 +q 17:37:17 ack iovka 17:38:43 holger: We can add a 3 line template that would handle conjunction... 17:39:27 aryman: closed shape, doesn't make sense to add additional properties. Once you've closed it, nothing below it can add properties... 17:39:46 holger: algorithm would have to collect inherited properties. It is implementable... 17:40:13 aryman: I'm not a fan of closed shapes. We expect a more open environment 17:40:39 i think we should ignore "CLOSED" annotations when inheriting. the alternative doesn't provide much value. 17:41:07 PROPOSED: Close ISSUE-24, stating that specialization can be achieved via conjunctions 17:41:16 +1 17:41:17 +1 17:41:18 +1 17:41:19 +1 17:41:24 +1 17:41:24 +1 17:41:26 +1 17:41:28 +1 17:41:31 1 17:41:35 +1 17:41:44 RESOLVED: Close ISSUE-24, stating that specialization can be achieved via conjunctions 17:42:13 topic: Issue-1 - What inferencing can or must be used? 17:42:13 Issue-1 -- What inferencing can or must be used? -- open 17:42:13 http://www.w3.org/2014/data-shapes/track/issues/1 17:43:03 +q 17:43:09 ack hknublau 17:43:20 arnaud: Peter's proposal is that we are operating in the RDFS entailment regime. Other proposal is that inverencing occurs prior to the application 17:43:55 q+ 17:43:56 +q 17:44:07 holger: Two ways first is core features we have control over. If value type is person, male person and female person are also valid. I'm in favor in walking subclass of rel here 17:44:47 holger: second cases is that, even if inferencing on db isn't activated, ... need inferencing 17:45:25 holger: general question is what can we expect when writing Sparql queries? We have to tell our users what is the default assumption. 17:45:55 +1 to inferencing being spotty on RDF databases 17:46:06 ack aryman 17:46:15 holger: I don't believe that we can rely on db inferencing. 17:46:21 SPARQL itself is defined over a graph 17:46:37 aryman: Agree with holger's conclusion. 17:46:40 +q 17:47:17 aryman: you can write shapes that do and don't depend on inferencing. Do we need to tag the shape to state requirements, reusing Sparql entailment tags? 17:47:58 ack Dimitris 17:48:04 aryman: can get around it w/ things like property paths if inferencing isn't present. Implementations could warn if issues 17:48:51 aryman, do you thnk the use cases favor entailment regines associated with shapes, schemas, invocations, or some combiations thereof? 17:49:13 q+ 17:49:19 Dimitris: I don't rely on inferencing, I do it through SPARQL. RDFS entailment is hard to do with property paths. I'd be in favor of type entilment only? 17:49:21 ack hknublau 17:49:41 hknoblau: Favor specifying inference requirements 17:50:33 hknoblau: no way to tell whether remote sets have inferencing on. What to do when some do, some don't, etc. 17:50:47 ack pfps 17:51:11 pfps: I worry that people will get unpleasant surprises 17:51:31 First is that if inferencing doesn't happen uniformly, folks won't know what is going wrong... 17:52:11 Second, if we do our own entailment regime, they will be even more unpleasantly surprised. Sparql engines are not particularly good here, so I'm reluctant to push the issue... 17:52:16 q+ 17:52:45 ack aryman 17:52:53 arnaud: First question is whether we are silent or not wrt inferencing. Second is whether any feature can/does depend on inferencing. 17:54:01 +q 17:54:25 q+ 17:54:27 aryman: you could tag a shape with the entailment needed and the engine could determine whether data source provided. 17:54:28 ack iovka 17:55:00 q+ 17:55:08 ack Dimitris 17:55:24 q+ to say that i suspect that entailment regimes will be more commonly associated with invocations and schemas than shapes 17:55:58 Dimitris: Main problem is class scope and value type. .... would be up to the user to profide inferencing 17:56:00 ack aryman 17:57:21 aryman: either you punt it to the application or make it explicit by tagging the shape. For shape reuse (template library) you need to advertise what kind of entailment is required. 17:57:27 s/.../these could be by default transitive (using property paths) and leave everything else open to the user to run or not inferencing before the validation/ 17:57:46 ack ericP 17:57:46 ericP, you wanted to say that i suspect that entailment regimes will be more commonly associated with invocations and schemas than shapes 17:58:26 ericp: Lowest hanging fruit would be to say whatever triples happen to be there. 1.1 advertises what is there, but Sparql is just in terms of triples 17:58:36 doesn't the proposal edited by Holger do subclass transitive closure and distribution over instance of? 17:58:52 q 17:58:56 q+ 17:58:56 pfps: yes 17:59:45 arnaud: So you are saying we'd be silent about it? Wouldn't that lead to unpleasant surprises? 18:00:05 eric: yes. We didn't worry about for several years in Sparql 18:00:08 ack pfps 18:00:47 i think that's more the previous issue, inheritance of shapes 18:01:04 pfps: If I write a constraint against person and another against student. It matters to me whether person matters against student. I need to know what kind of reasoning is going on 18:01:23 less about wheather the data has a DL, RDFS, etc. closure 18:01:47 +q 18:01:48 i think we have to gather use cases 18:01:52 ack hknublau 18:02:35 holger: I propse make subclassOf inferrencing mandatory and also for the value type. For all other cases, should be indicated by pointing to entailment URI 18:02:50 the problem with Holger's proposal is that it is defining a new entailment regime 18:02:55 arnaud: new entailment regime? 18:03:00 +q 18:03:07 holger: That is what users expect. 18:03:15 q+ 18:03:40 q- 18:03:42 pfps: One may not like rdfs class entailment, but to do something different is "quite brave" 18:03:51 ack aryman 18:04:47 aryman: Having the SPARQL engine do the entailment is a 'slippery slope', as any implementation would have to have a reasoner in it. If users expect subclass entailment to be on, it should on in all contexts including normal queries 18:05:11 +q 18:05:20 ack hknublau 18:05:27 aryman: We should leave entailment to the database and work with what we get. 18:08:41 holger: we can specify type inference with rdfs:subclassOf * and let the implementation handle it. 18:10:15 aryman: Concepts are "What is the meaning of value type?" which refers to rdfs:subclassOf and "What is the scoping?" which refers to triples of a proper type. Raw value type / raw scope plus inferred value type / preferred scope 18:10:36 arnaud: aryman and holger to go offline and craft a proposal 18:10:51 +1 to that proposal 18:10:58 +1 18:11:58 q+ 18:12:01 pfps: I think it is a bad solution, but we have to live with what the Sparql group produced. Proposal to signal what is required would be better 18:12:05 action: aryman to draft a proposal for ISSUE-1 (with Holger) 18:12:05 Created ACTION-26 - Draft a proposal for issue-1 (with holger) [on Arthur Ryman - due 2015-05-27]. 18:12:13 ack aryman 18:14:37 probably makes more sense to call the "inferred" variants sh:valueSuperType and sh:scopeSuperType 18:14:37 topic: Issue 31 - Is there going to be a single unitary semantics for all of SHACL 18:14:45 issue-31 18:14:45 issue-31 -- Is there going to be a single unitary semantics for all of SHACL -- open 18:14:45 http://www.w3.org/2014/data-shapes/track/issues/31 18:16:11 arnaud: How will we define things that aren't covered by SPARQL? 18:16:11 +q 18:16:21 ack hknublau 18:16:53 q+ 18:16:56 q+ 18:16:56 holger: Depends on whether we identify ... Solution is to write templates for them and be done with it. 18:17:02 ack aryman 18:17:31 aryman: for things that have a direct Sparql translation we use it, but at some point we need to define what the engine is doing. 18:18:01 aryman: answer should be "yes" to one semantics. Should be a direct translation from compact to verbose 18:18:34 aryman: It is conceivable that compact syntax may not be able to represent all SHACL 18:18:55 q+ 18:19:00 ack pfps 18:19:10 aryman: should focus on verbose RDF and meaning of compact is derived by translation. 18:20:50 ack Labra 18:20:53 pfps: I'm in favor of a single unitary semantics, but it doesn't have to all be Sparql. That there is a single definition of what everything means is what I want. 18:21:29 Labra: I agree with aryman that we need abstract syntax. 18:21:50 Why? 18:22:24 We already have a Turtle file with all terms. 18:22:46 pfps, why did OWL define an abstract syntax? 18:22:51 Yes, why is an abstract syntax required? Isn't it enough to have an RDF-encoding and a definition of which RDF graphs are valid SHACL? 18:23:29 q+ 18:23:40 OWL had an abstract syntax for two reasons, I think - it was hard to figure out what the RDF syntax should be and lots of people disliked RDF 18:23:41 ack aryman 18:23:48 Labra: most languages have an abstract syntax... 18:24:32 aryman: it is possible to define a language without abstract syntax. We can use RDF Turtle, but we need an additional abstraction that corresponds to the meaning. 18:24:58 Labra: I don't mean ShEx necessarily when I say abstract syntax 18:26:36 q+ 18:26:36 pfps: There may have been a proposal for two semantics -- on Sparql based and one model theoretic based with overlap. 18:26:42 ack aryman 18:28:13 aryman: When you are defining a shape, there is a Sparql query where no bindings say pass, and bindings say fail. The other part is the scoping chunk, where do I go next. We state a binding to a vocabulary ... chunk meanings, but putting it together requires a higher order abstraction 18:28:40 (why did zakim inject elipses into my note?) 18:29:32 pfps: Non-unitary but single semantics. Each part of the semantic puzzle was governed by one emperor, never condiminums... 18:30:06 PROPOSED: Close ISSUE-31, agreeing that we will only have one single governing semantics for all of SHACL 18:30:29 +1 18:30:48 emperor semantics paradigm 18:31:20 how about "non-overlapping" semantics 18:31:31 +1 18:31:32 +1 18:31:33 +1 18:31:34 +1 18:31:35 +1 18:31:36 +1 18:31:54 +1 18:31:54 +1 18:32:10 RESOLVED: Close ISSUE-31, agreeing that we will only have one single governing semantics for all of SHACL 18:32:31 break for 15 minutes. Reconvene at x:47 18:32:32 break 15mn 18:33:07 I think I’ll crash now - thanks everyone. 18:33:13 hknublau has left #shapes 18:47:40 back 18:51:15 scribenick: ericP 18:51:18 Topic: Issue-45 - Should SPARQL be a built-in extension language 18:51:18 issue-45 -- Should SPARQL be a built-in extension language -- open 18:51:18 http://www.w3.org/2014/data-shapes/track/issues/45 18:51:43 q+ 18:51:50 Arnaud: i think we know holger's position on this. we can discuss it wtihout him 18:52:00 ack aryman 18:52:01 q+ 18:52:17 ... his proposal is that SPARQL should be a built-in SHACL extension language 18:52:46 aryman: my colleageue, anamitra, want to use SHACL client-side 18:53:14 +q 18:53:19 ... his user population is conversent with javascript and claims that forcing them to learn SPARQL would be a show-stopper 18:53:52 ... he wants shapes with high-level concepts, but with javascript extensions 18:54:12 ... SPARQL has a special role; specifyig the semantics 18:54:24 ... but that doesn't mean that the implementation has to be SPARQL 18:54:43 ... we should provide language bindings. 18:55:12 ... the core spec should define a language binding for SPARQL, i.e. what's the contract, what's SPARQL return, etc. 18:55:34 ... but we should leave the door open for other langauges 18:56:11 ... plugging in SPARQL should play by the ssame rules as other languages. 18:56:54 q- 18:57:00 ack kcoyle 18:57:10 Arnaud: two questions: is SPARLQ the only extension language (arnaud says "no"), 18:57:23 ... .. is SPAQRL mandatory? 18:57:50 kcoyle: i've got the impression from holger that you're not a complete SHACL impl without SPARQL 18:58:05 Arnaud: we can update the text to clarify what we interpret 18:58:31 ... my reading is that he's not requiring that SPARQL be the only extension language 18:58:41 kcoyle: it comes down to whether SPARQL is required 18:58:55 Arnaud: here i'm not sure what he's proposing. 18:58:59 q+ 18:59:21 ack iovka 18:59:42 iovka: requiring that everyone implement SPARQL is too heavy. 19:00:31 hsolbrig: the proposal said that "SHACL SHOULD include SPARQL as an extension langauge" 19:00:50 ... i want to implement SHACL Core without SPARQL 19:00:55 PROPOSED: SHACL shall include SPARQL as an extension language, without making it a required feature for compliance (possibly via profiles) and without implying that SHACL must be implemented in SPARQL 19:01:02 ... SPARQL is an obvious extension langauge 19:01:07 +1 19:01:10 +1 19:01:20 ... i don't know if "SHOULD" means i have to buid one. 19:01:21 +1 19:01:25 hsolbrig has joined #shapes 19:01:25 +1 19:01:35 +1 19:01:45 +1 19:01:56 is there any way to see history now that I'm rejoined? 19:02:03 I can't see the proposal 19:02:41 +1 19:03:13 Arnaud: holger has been making the core as small as possible and saying that the core without SPARQL isn't very useful 19:03:37 ... i expect some pushback on that; that we'll have to extend the Core 19:03:53 we had a message he quit 20:56 19:04:27 RESOLVED: Close Issue-45, stating that SHACL shall include SPARQL as an extension language, without making it a required feature for compliance (possibly via profiles) and without implying that SHACL must be implemented in SPARQL 19:04:29 +1 19:04:38 +1 19:04:40 +1 19:04:43 +1 19:04:50 -7 19:05:16 +1 19:05:30 @ericP huh? 19:05:34 s/-7// 19:06:05 @aryman we weren't supposed to be voting at that moment 'cauuse it was listed as a RESOLUTION. 19:06:27 oops 19:06:51 heck, I'll vot for anything... 19:06:56 +1 for aryman 19:07:02 vote early, vote often 19:07:53 hello? 19:07:55 kcoyle: why's ISSUE-42 needed? 19:08:05 Topic: Issue-42 - Adding sh:notEqual to potential datatype properties? 19:08:05 issue-42 -- Adding sh:notEqual to potential datatype properties? -- open 19:08:05 http://www.w3.org/2014/data-shapes/track/issues/42 19:08:25 pfps has joined #shapes 19:08:36 simonstey: the NE came up when i was talking about property paths. 19:08:47 ... so i'm not so sure about ISSUE-42 either 19:09:02 ... i'm more interested in ISSUE-41 Property Paths 19:09:13 topic: Issue-41 - Using property paths to refer to values/types? 19:09:13 issue-41 -- Using property paths to refer to values/types? -- open 19:09:13 http://www.w3.org/2014/data-shapes/track/issues/41 19:09:49 ... this came up because i thought that when i define a shape i may want to have the vale of one property have the same value as another property 19:10:13 ... today the OR piece came up indirectly when we were were talking about semantics 19:10:20 +q 19:10:33 ... and some low-level inferencing using property paths. 19:10:56 ... i tried to motivate this with use case 43, which is a use case we have at siemens 19:11:25 ... we have heterogeneous models and an intersecting "weaving" model 19:11:46 ... e.g. on the left a cable, on the right a connection, and a cable-to-connection 19:11:49 q- 19:12:03 https://www.w3.org/2014/data-shapes/wiki/User_Stories#S43:_Using_Property_Paths_for_Property_Value_Comparison 19:12:08 ... so the speed of the left must match the right 19:12:54 ... ISSUE-41 and ISSUE-42 could be reallized with a SPARQL query 19:12:59 +q 19:13:15 ... the question was whether we want to have property paths as a first class member of the language 19:14:05 ... one issue: what if you get more than one term from the property path: 19:14:20 ack iovka 19:14:30 ... ..: i propose that if all pass, then the property path passes 19:14:44 iovka: i see two requirements: 19:14:49 ... .. property paths 19:14:53 ... .. comparing values 19:15:02 +1 to iovka - there are two things here - paths and comparisons 19:15:43 simonstey: i agree that these are captured by queries 19:15:48 Why restrict property paths to be parts of a comparison? You might want to count the fillers of a property path or state that they are all in some class. 19:15:52 ... just wondered if we wanted this in the Core 19:16:50 Arnaud: ericP said earlier that there's nothing in SHACL for comparing values, but there is some demand 19:17:02 +q 19:17:07 ack iovka 19:17:08 ... putting it in the core, we wouldn't have to fall back to extensions 19:17:25 iovka: i'm wondering how you can include this in the core 19:18:24 ... if computational complexity and intuitive complexity are issues, you don't want variables 19:18:25 q+ 19:19:07 simonstey: i used sh:hasValue to say that the property from the focus node ... 19:19:16 +q 19:19:34 q+ 19:19:36 iovka: the variable is ?this, which i agree is a simple variable 19:20:24 ... if the bound variable is ?this (the focus node), ... 19:22:16 ... this requires some consideration 19:22:31 ack aryman 19:22:49 simonstey: in the req, i said that i need this for S44 Self-referencing 19:23:08 aryman: if you're constraing the value of some predicate, you have two possible sets of results 19:23:41 ... you specify what if hasValue has multiple values, but what if speed is multiple values? 19:23:55 simonstey: haven't thought that one through 19:24:14 aryman: there are lots of permutations 19:24:29 ack hsolbrig 19:24:45 simonstey: i'm fine leaving it to SPARQL; i just wanted to start the discussion 19:24:56 hsolbrig: we had earlier discussions of recursion. 19:25:21 ... when you combine these, you get some interesting features 19:25:35 q+ 19:25:53 ack pfps 19:26:02 ... when you include paths, you end up with recursion issues like the left-hand-side passes as long as the right-hand-side fails 19:26:20 pfps: i'm mytified by the weaping and gnashing of teath 19:26:51 ... have property paths in SPARQL 19:27:14 ... there are lots of syntaxes that don't use variables 19:27:37 ... as far as comparison goes, SPARQL uses variables but we don't need them. 19:27:59 ... if i want to say that my birth-date is less than my death-date 19:28:14 ... .. there's no problem 19:28:31 ... there's no cognitive load if folks don't use them 19:28:55 ... as far as computational expressivity, it's all expressible in SPARQL 19:28:57 q+ 19:29:50 ack aryman 19:30:09 q+ to say that judging computational complexity by whether it's implementable in SPARQL is at odds with the notion that we don't ahve to implement in SPARQL 19:30:36 aryman: since this isn't referring to antoehr shape so i don't think it complicates recursion 19:30:49 +q 19:30:57 hsolbrig: ok, i will withdraw my concearn 19:31:00 ack ericP 19:31:00 ericP, you wanted to say that judging computational complexity by whether it's implementable in SPARQL is at odds with the notion that we don't ahve to implement in SPARQL 19:32:06 increases the computational complexity of the *core* but not of SHACL 19:32:15 ack Dimitris 19:32:24 pfps, ok, i agree with that 19:32:33 but not sure it's relevent 19:33:20 Dimitris: this can be easily expressed in SPARQL but it may affect the cost of non-SPARQL implementations 19:33:38 Arnaud: this will always be true when we add stuff to Core 19:34:13 ... i think questions like this have to be address on a case-by-case basis 19:34:30 ... i'm actually on TC-39 (ecmascript) 19:34:49 ... this is how they proceed with the evolution of ecmascript 19:35:30 ... people come with proposals and the committee pokes holes and if it works, include it in the next version 19:36:09 ... so is it fair to say that NE is dependent on property paths? 19:36:42 simonstey: i said that this is implemented in property paths, but you could implement it other ways 19:36:52 q+ 19:37:07 ack hsolbrig 19:37:08 leave it open, let Simon develop the semantics 19:37:42 hsolbrig: i'm not sure we should rate the value of a proposal based on the tenacity of the proponent 19:38:14 ... should we add this to the test suite as a conditional proposal, allowing implementers to try it and evaluate it. 19:38:52 +1 to kicking the can down the road 19:39:08 alright 19:39:27 topic: ISSUE-42 Not Equal 19:40:28 simonstey: we have maxexclusive/minexclusive properties like in other constraint langages like OCL, you can say that a property shouldn't have a certain value 19:40:49 well, /= can be done in SPARQL so it is in SHACL 19:41:11 +q 19:41:20 ack Dimitris 19:41:20 +Q 19:41:22 q+ 19:41:45 ack iovka 19:42:11 you can do /= without dropping into SPARQL, but it is just klunky 19:42:18 Dimitris: we have something like that in OWL saying that properties don't have the same value 19:43:02 iovka: i don't think it's complex to have in the core. if we can test if X has a value, X doesn't have a value is the same thing 19:43:27 ... are we saying that two properties have different values? 19:43:36 +q 19:43:40 q- 19:44:20 simonstey: i though that we could re-use hasValue both for constants and for the object of property paths 19:44:43 ... but if we don't have property paths, it would just be comparison with a constant 19:44:51 ack aryman 19:44:55 saying /= 5.5 is the same as <5.5 or >5.5 19:45:03 iovka: so this doesn't add complexity 19:45:08 simonstey: agreed 19:45:33 don't we already have comparison operators (against constants) 19:45:45 Arnaud, why don't we add EQ, NE, LT, GT? 19:46:04 pfps, i thought we already had all the XS Facets 19:46:13 pfps: i thought we already had all the XS Facets 19:46:36 s/Arnaud,/aryman:/ 19:46:56 ... for all XSD datatypes, you can define EQ in terms of other types 19:47:07 +q 19:47:36 ack Dimitris 19:47:42 ... XML 1.1 allows every Unicode character except 0 19:48:00 +q 19:48:07 Dimitris: does it make sense to add negation? 19:48:23 ack simonstey 19:48:57 simonstey: i thought about adding negation to accomplish the same thing, but thought that adding negation would have wider impact on other constructs 19:48:59 q+ 19:49:07 ... but sure, we could use negation in other situations 19:49:15 ... and we have troubles with recursion etc. 19:49:20 ack aryman 19:49:22 ... it will have some side effects 19:49:57 +q 19:49:58 aryman: given that property paths can have multiple values, it might be better to call it "IN" and "NOT IN" 19:50:24 simonstey: sure 19:50:41 Arnaud: does SPARQL give uus the answer? 19:50:49 aryman: quuestin of where you draw the line 19:51:16 ack iovka 19:51:21 +1 to using SPARQL syntax where appropriate 19:51:23 Arnaud: buut in terms of naming, we can stay close to SPARQL 19:51:36 iovka: we considered this in ShEx 19:51:43 q+ 19:52:22 ... testing against a particular value is easy 19:52:26 ack aryman 19:52:28 ... the syntax will be more complex 19:52:54 aryman: in ResourceShape, there were allowedValues which took allowedalue 19:53:09 +q 19:53:25 ... so in a sense we already have that property so you just use a property path rather than a set of values 19:53:26 ack iovka 19:53:27 sh:allowedValues Enumeration of allowed values 19:53:35 ... did that make it to Holger's spec? 19:54:19 http://w3c.github.io/data-shapes/shacl/#sparql-AbstractAllowedValuesPropertyConstraint 19:54:44 iovka: this are two different things. one is constants, one from the graph. 19:54:46 http://w3c.github.io/data-shapes/shacl/#AbstractAllowedValuesPropertyConstraint 19:55:00 aryman: i'm saying we may have the equivalnet of hasValue 19:56:36 sh:allowedValues is similar to sh:hasValue but probably better to keep them separate 19:57:28 topic: Tomorrow 19:57:58 Arnaud: propose first hour to talk about UC&R and test suite 19:58:13 aryman: i'd like to see some concrete process on the test suite 19:59:05 michel has joined #shapes 20:00:24 trackbot, end meeting 20:00:24 Zakim, list attendees 20:00:24 sorry, trackbot, I don't know what conference this is 20:00:32 RRSAgent, please draft minutes 20:00:32 I have made the request to generate http://www.w3.org/2015/05/20-shapes-minutes.html trackbot 20:00:33 RRSAgent, bye 20:00:33 I see 1 open action item saved in http://www.w3.org/2015/05/20-shapes-actions.rdf : 20:00:33 ACTION: aryman to draft a proposal for ISSUE-1 (with Holger) [1] 20:00:33 recorded in http://www.w3.org/2015/05/20-shapes-irc#T18-12-05 Present: ericP, Dimitris, aryman, hsolbrig, kcoyle, pfps, hknublau, simonstey, michel, iovka, labra, Arnaud