17:58:57 RRSAgent has joined #shapes 17:58:57 logging to http://www.w3.org/2015/07/09-shapes-irc 17:58:59 RRSAgent, make logs rdf-data-shapes 17:58:59 Zakim has joined #shapes 17:59:01 Zakim, this will be SHAPES 17:59:01 I do not see a conference matching that name scheduled within the next hour, trackbot 17:59:02 Meeting: RDF Data Shapes Working Group Teleconference 17:59:02 Date: 09 July 2015 18:00:53 present+ Arnaud 18:01:21 present+ kcoyle 18:01:28 present+ pfps 18:01:35 however, webex doesn'tseem to want to start 18:01:55 just bypass it - phone in directly using the number in the agenda 18:02:09 yes, about to do that 18:02:33 I can scribe 18:02:47 scribenick pfps 18:02:51 present+ TallTed 18:02:52 chair: Arnaud 18:03:01 agenda: https://www.w3.org/2014/data-shapes/wiki/Meetings:Telecon2015.07.09 18:03:10 present+ hknublau 18:03:16 Topic: Minutes 18:03:30 Labra has joined #shapes 18:04:03 present+ labra 18:06:08 PROPOSED: Approve minutes of the 2 July Telecon: http://www.w3.org/2015/07/02-shapes-minutes.html 18:06:12 minutes look acceptable to me 18:06:24 RESOLVED: Approve minutes of the 2 July Telecon: http://www.w3.org/2015/07/02-shapes-minutes.html 18:06:51 Topic: Reference Guide 18:07:06 https://lists.w3.org/Archives/Public/public-data-shapes-wg/2015Jul/0019.html present+ simonstey 18:07:20 Ref Guide: http://w3c.github.io/data-shapes/shacl-ref/ 18:07:46 Arnaud: what should be done with respect to the document generated from the Turtle vocabulary file 18:08:26 Arnaud: it would be a pity to not use it somehow 18:09:12 Arnaud: The document does not look good in Firefox 18:10:28 hknublau: I proposed four options - drop it, appendix, stand-alone and delete corresponding from other document, stand-alone but partly repeated elsewhere 18:10:54 knublau: the last three are fine by me 18:11:43 I think it looks fine in firefox 18:11:49 the document looks fine to me in Firefox 18:11:58 https://lists.w3.org/Archives/Public/public-data-shapes-wg/2015Jul/0021.html 18:12:44 kcoyle: I don't want a document on SPARQL 18:13:16 kcoyle: document is organized around classes - properties should also be accessible 18:13:38 Arnaud: maybe an index at the end would work 18:14:11 kcoyle: maybe list the properties and classes at the top 18:14:33 kcoyle: I can't find the Turtle file 18:14:50 (graphics look fine in my FF v17, Safari v8; bad in Opera v30, Chrome v43; all on OS X Yosemite) 18:15:00 Arnaud: also working in Firefox for me now 18:15:56 hknublau: adding a property index is possible, but some properties are used in multiple places 18:16:11 Arnaud: multiple index entries could solve this 18:17:04 Arnaud: I agree with Karen that it should be a separate document 18:17:59 hknublau: The main document has two parts - core and advanced - and a third part on SPARQL implementation 18:18:18 hknublau: this third part could be moved to be with the vocabulary reference 18:18:56 Arnaud: The current document is just about vocabulary - 18:19:04 hknublau: yes 18:19:09 q+ 18:19:25 ack pfps 18:19:49 pfps: The current document also has SPARQL in it 18:20:23 pfps: Which means that it also is a SPARQL definition of the vocabulary 18:20:54 +q 18:21:39 pfps: does the document define a valid SHACL shape graph? 18:21:54 q+ 18:22:05 Arnaud: what is the status of this document? should it be a recommendation? 18:22:25 Intention is to be normative 18:22:27 ack simonstey 18:23:13 simon: this depends on the status of the Turtle file - if the Turtle file is a part of the spec, then this document is important 18:24:04 simon: the SPARQL would be stated to be a possible implementation 18:24:07 q+ 18:24:08 ack kcoyle 18:24:37 kcoyle: ditto - if the Turtle file is part of the spec, then this is important 18:24:58 kcoyle: if the SPARQL is in the spec, then it doesn't need to be in this document 18:25:03 ack pfps 18:25:41 pfps: my understanding is that the SPARQL bits are definitional, which makes them important 18:26:34 Arnaud: the main document is structured in a way that is more conveniant for readers, but this makes it harder to figure out what is the definition of SHACL 18:27:00 Arnaud: maybe the main document should be considered to be more like a primer 18:27:11 Arnaud: what is needed for a definition of SHACL? 18:27:21 q+ 18:27:26 ack pfps 18:28:20 pfps: the document does not talk about ill-foundedness, it also does not describe what makes a syntactially valid SHACL shape graph 18:28:30 q+ 18:28:37 Arnaud: is all the content here in the main document? 18:29:02 ack hknublau 18:29:37 hknublau: the plan would be to drop the overlap between the two document 18:29:56 hknublau: then both documents are needed for a full definition of SHACL 18:29:57 aryman has joined #shapes present+ aryman 18:30:15 Arnaud: what needs to be removed from the main document? 18:30:35 hknublau: just the appendix 18:30:52 hknublau: then there would be two normative documents - is this acceptable 18:30:58 Arnaud: that's not problem at all 18:31:51 Arnaud: the only issue is that the documents have to move somewhat in lockstep through the W3C process 18:32:23 Arnaud: if there is redundancy than that could be a problem 18:32:26 straw poll? 18:33:44 STRAWPOLL: a) Drop this idea and continue with the hand-crafted main document only. b) Merge its content as a (long) Appendix into the main document. c) Publish it as a stand-alone document, e.g. "SHACL Vocabulary Reference". d) Publish it as part of a stand-alone document that focuses on the SPARQL aspects, e.g. as "SHACL SPARQL Execution". 18:34:15 q+ 18:34:20 ack pfps 18:35:00 pfps: d is *much* more than just SHACL SPARQL execution 18:35:36 a: -1, b: +1, c: +1, d: -1 18:35:53 hknublau: the main document talks about SPARQL-based execution - this could be moved into the new document 18:35:59 chapter 13: http://w3c.github.io/data-shapes/shacl/#sparql 18:36:17 q+ 18:36:25 ack aryman 18:36:25 hknublau: this could also cover other SPARQL issues such as SPARQL endpoiints 18:36:58 aryman: the vocabulary should be independent of SPARQL (except perhaps for some aspects of templates) 18:37:09 q+ 18:37:26 Arnaud: the document includes SPARQL stuff 18:37:40 aryman: but that's the *definition* and not just about SPARQL execution 18:37:46 ack pfps 18:38:02 pfps: same as Arthur 18:38:07 a) -1 b) -1 c) +1 d) +-0 18:38:12 a -1 b 0.5 c 0.3 d 0.7 18:38:13 a -1 ; b +0.75 ; c +0.5 ; d -0.5 18:38:25 kcoyle what i said in email 18:38:51 all the options listed are not very good in my opinion 18:39:16 Arnaud: it appears that c is the leader 18:39:43 hknublau: this is enough for me to proceed 18:40:12 Topic: ISSUE-22 treatment of recursive shape definitions 18:40:30 issue-22 18:40:30 issue-22 -- Treatment of recursive shape definitions -- open 18:40:30 http://www.w3.org/2014/data-shapes/track/issues/22 18:41:10 Arnaud: hopefully everyone understands the issue, but there are still choices to be made 18:42:04 q+ 18:42:39 Arnaud: there appear to be several options - no recursive shapes - error on recursion - recursion is true - recursion is false 18:42:45 ack aryman 18:42:50 I don't think that these are the options that have been promoted 18:43:53 aryman: there is a spectrum on how much recursion is embraced - no recursion - only positive recursion - recursion over negation (but limited) 18:44:15 It appears to me that the most recent proposal on recursion allows arbitrary recursion 18:44:38 aryman: recursion is useful - as long as a semantics can be assigned then it should be allowed 18:45:02 Arnaud: I believe that iovka is on vacation 18:46:27 pfps: I have not changed my position 18:48:36 pfps: there is a good semantics for recursive definitions - treat them as in FOL - however this approach has certain consequences that the wg probably will not approve of 18:49:01 elf-pavlik has joined #shapes 18:49:11 Arnaud: so there is a kind of recursion that unobjectionable 18:49:25 pfps: yes, but the semantics is different from that in resource shapes 18:51:30 pfps: options: maximal (recursion is true), minimal (recursion is false), a mix (descriptive recursion) 18:52:53 q+ 18:54:03 pfps: you get pushed into multiple models 18:55:27 ack aryman 18:55:40 pfps: to exclude the difficult cases you have to analyze the entire shape graph, and some of the exclusions are hard to describe to non-logicians 18:56:17 aryman: in FOL everything does work out, but that doesn't correspond to the way that people look at them 18:56:42 aryman: there are local conditions and non-local conditions (value shape) 18:57:19 aryman: the natural intuition is that the shape holds if the local conditions hold and the non-local conditions don't fail 18:57:22 q+ 18:57:53 aryman: explicit or implicit negation requires much more analysis 18:58:17 ack pfps 18:59:08 q+ 18:59:12 ack aryman 18:59:40 pfps: Arthur's intuitions only work for a very limited language - I think that in this language recursion can be rewritten using transitive closure of properties 19:00:34 aryman: SHACL should be a high-level language, usable by non-logicians 19:01:02 Arnaud: recursion is a natural way to write certain cases 19:01:48 kcoyle: I don't think that I understand this well enough to come up with use cases 19:02:22 Arnaud: a shape for bug that states that related things are also bugs 19:02:24 q+ 19:02:30 q+ 19:02:53 ack pfps 19:04:10 ack aryman 19:05:25 I generally agree with Arthur, we should support recursion as much as reasonable. 19:05:32 pfps: the bug example is buggy - it is much more likely that the "bug" nodes have a local datum that says that they are a bug and then the constraint is that the nodes that are bugs have all their related reports also having the bug datum on them 19:05:50 aryman: the requirement of certain properties may depend on context 19:06:54 aryman: having an rdf:type is not enough to determine the shape since in some graphs the triples present depend on the context. A good example is a contacts document. The primary topic of a contact document is a person and the document contains many properties about that person (name, email, telephone), including other people known to the primary person. The primary person and the people they know might have rdf:type foaf:Person, but the people known by the primary person might just have foaf:name properties. The primary person has a different shape than the people known to the primary person. 19:07:39 aryman: the problems show up if there is a data loop 19:09:53 strawpoll: a) (possibly very limited) maximal/true recursion, b) (possibly very limited) minimal/false recursion, c) mixed recursion/multiple models, d) no recursion 19:10:21 Arnaud: three options - recursion means yes, recursion means no, recursion means either yes or no, no recursion 19:10:22 a) might return wrong results if negation is involved 19:10:27 s/three/four/ 19:10:30 a: +1, b: +?, c: +?, d: -1 19:10:39 a) +1 b) -1 c) 0.7 d) -1 19:10:49 a: -1, b: -1, c: 0, d: 1 19:11:04 a) 0 b) 0 c) ? d) -1 19:11:07 No idea, but anything simple will probably work because our validation needs are fairly simple 19:11:13 a) +1 b) -0.5 c) +0.7 d) -1 19:11:45 note simon's comment - recursion means yes only works in certain cases - a treatment is much more complex than "just say yes" 19:12:17 q+ 19:12:21 Arnaud: it appears that some recursion is wanted 19:12:27 ack hknublau 19:12:36 d -1 ... I don't grok the other three enough to rank 19:13:07 hknublau: i'm not comfortable with a theoretical analysis - what are good examples? 19:13:34 +1 for examples 19:13:57 I wrote up two examples, see http://arxiv.org/abs/1505.04972 v2 19:14:42 aryman, please as Turtle files, and I need examples that break. 19:14:46 Arnaud: the preferred options are a and c 19:15:05 negation is what's bothering me 19:15:17 Arnaud: peter could you produce something that would allow progress? 19:15:18 (in combination with recursion) 19:15:21 v2 is at https://github.com/agryman/data-shapes/blob/master/recursion/recursion-v2-changebars.pdf 19:15:45 @simonstey we could detect negation and throw “unknown” like in my proposal 19:16:40 yeah, would work for me 19:16:41 i guess 19:17:50 q+ 19:21:08 pfps: there is nothing new in this discussion so bringing up the same stuff again is unlikely to have any effect 19:21:55 pfps: I can point to previous examples in the hope that someone will do something with them 19:22:11 ack aryman 19:22:13 hknublau: I'll do something with the examples 19:22:51 aryman: in the original OSLC spec we had recursion but didn't define it 19:23:21 aryman: for simple positive recursion there is a spec that works 19:24:18 aryman: the polentoni example works in this spec - there is even a single SPARQL query that computes polentoni 19:24:41 aryman: I think that the positive recursion case is acceptable for SHACL 19:25:16 aryman: negative recursion is more problematic - I'm not sure where the line between them is 19:25:38 aryman: I have Turtle for my example 19:26:21 @hknublau the data files are in github https://github.com/agryman/data-shapes/blob/master/recursion/recursion-v2-changebars.pdf 19:26:28 Arnaud: is there negation in resource shapes 19:26:33 aryman: no 19:26:50 aryman: I'm trying to analyze Iovka's spec 19:29:52 pfps: intuitions are difficult to come by 19:31:08 I think there is some limited way that might work here, we "just" need to find what it is 19:31:20 trackbot, end meeting 19:31:20 Zakim, list attendees 19:31:20 sorry, trackbot, I don't know what conference this is 19:31:28 RRSAgent, please draft minutes 19:31:28 I have made the request to generate http://www.w3.org/2015/07/09-shapes-minutes.html trackbot 19:31:29 RRSAgent, bye 19:31:29 I see no action items