See also: IRC log
<kcoyle> however, webex doesn'tseem to want to start
just bypass it - phone in directly using the number in the agenda
<kcoyle> yes, about to do that
I can scribe
scribenick pfps
<Arnaud> PROPOSED: Approve minutes of the 2 July Telecon: http://www.w3.org/2015/07/02-shapes-minutes.html
minutes look acceptable to me
RESOLUTION: Approve minutes of the 2 July Telecon: http://www.w3.org/2015/07/02-shapes-minutes.html
https://lists.w3.org/Archives/Public/public-data-shapes-wg/2015Jul/0019.html
<simonstey> Ref Guide: http://w3c.github.io/data-shapes/shacl-ref/
Arnaud: what should be done with respect to the document generated from the Turtle vocabulary file
... it would be a pity to not use it somehow
... The document does not look good in Firefox
hknublau: I proposed four options - drop it, appendix, stand-alone and delete corresponding from other document, stand-alone but partly repeated elsewhere
knublau: the last three are fine by me
<simonstey> I think it looks fine in firefox
the document looks fine to me in Firefox
<Arnaud> https://lists.w3.org/Archives/Public/public-data-shapes-wg/2015Jul/0021.html
kcoyle: I don't want a document on SPARQL
... document is organized around classes - properties should also be accessible
Arnaud: maybe an index at the end would work
kcoyle: maybe list the properties and classes at the top
... I can't find the Turtle file
<TallTed> (graphics look fine in my FF v17, Safari v8; bad in Opera v30, Chrome v43; all on OS X Yosemite)
Arnaud: also working in Firefox for me now
hknublau: adding a property index is possible, but some properties are used in multiple places
Arnaud: multiple index entries could solve this
... I agree with Karen that it should be a separate document
hknublau: The main document has two parts - core and advanced - and a third part on SPARQL implementation
... this third part could be moved to be with the vocabulary reference
Arnaud: The current document is just about vocabulary -
hknublau: yes
pfps: The current document also has SPARQL in it
... Which means that it also is a SPARQL definition of the vocabulary
<simonstey> +q
pfps: does the document define a valid SHACL shape graph?
Arnaud: what is the status of this document? should it be a recommendation?
<hknublau> Intention is to be normative
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
... the SPARQL would be stated to be a possible implementation
kcoyle: ditto - if the Turtle file is part of the spec, then this is important
... if the SPARQL is in the spec, then it doesn't need to be in this document
pfps: my understanding is that the SPARQL bits are definitional, which makes them important
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
... maybe the main document should be considered to be more like a primer
... what is needed for a definition of SHACL?
pfps: the document does not talk about ill-foundedness, it also does not describe what makes a syntactially valid SHACL shape graph
Arnaud: is all the content here in the main document?
hknublau: the plan would be to drop the overlap between the two document
... then both documents are needed for a full definition of SHACL
Arnaud: what needs to be removed from the main document?
hknublau: just the appendix
... then there would be two normative documents - is this acceptable
Arnaud: that's not problem at all
... the only issue is that the documents have to move somewhat in lockstep through the W3C process
... if there is redundancy than that could be a problem
<hknublau> straw poll?
<Arnaud> 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".
pfps: d is *much* more than just SHACL SPARQL execution
<aryman> a: -1, b: +1, c: +1, d: -1
hknublau: the main document talks about SPARQL-based execution - this could be moved into the new document
<Arnaud> chapter 13: http://w3c.github.io/data-shapes/shacl/#sparql
hknublau: this could also cover other SPARQL issues such as SPARQL endpoiints
aryman: the vocabulary should be independent of SPARQL (except perhaps for some aspects of templates)
Arnaud: the document includes SPARQL stuff
aryman: but that's the *definition* and not just about SPARQL execution
pfps: same as Arthur
<simonstey> a) -1 b) -1 c) +1 d) +-0
<hknublau> a -1 b 0.5 c 0.3 d 0.7
<TallTed> a -1 ; b +0.75 ; c +0.5 ; d -0.5
<kcoyle> kcoyle what i said in email
all the options listed are not very good in my opinion
Arnaud: it appears that c is the leader
hknublau: this is enough for me to proceed
<Arnaud> issue-22
<trackbot> issue-22 -- Treatment of recursive shape definitions -- open
<trackbot> http://www.w3.org/2014/data-shapes/track/issues/22
Arnaud: hopefully everyone understands the issue, but there are still choices to be made
... there appear to be several options - no recursive shapes - error on recursion - recursion is true - recursion is false
I don't think that these are the options that have been promoted
aryman: there is a spectrum on how much recursion is embraced - no recursion - only positive recursion - recursion over negation (but limited)
It appears to me that the most recent proposal on recursion allows arbitrary recursion
aryman: recursion is useful - as long as a semantics can be assigned then it should be allowed
Arnaud: I believe that iovka is on vacation
pfps: I have not changed my position
... 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
Arnaud: so there is a kind of recursion that unobjectionable
pfps: yes, but the semantics is different from that in resource shapes
<Arnaud> pfps: options: maximal (recursion is true), minimal (recursion is false), a mix (descriptive recursion)
pfps: you get pushed into multiple models
... 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
aryman: in FOL everything does work out, but that doesn't correspond to the way that people look at them
... there are local conditions and non-local conditions (value shape)
... the natural intuition is that the shape holds if the local conditions hold and the non-local conditions don't fail
... explicit or implicit negation requires much more analysis
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
aryman: SHACL should be a high-level language, usable by non-logicians
Arnaud: recursion is a natural way to write certain cases
kcoyle: I don't think that I understand this well enough to come up with use cases
Arnaud: a shape for bug that states that related things are also bugs
<hknublau> I generally agree with Arthur, we should support recursion as much as reasonable.
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
aryman: the requirement of certain properties may depend on context
... 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.
... the problems show up if there is a data loop
<Arnaud> strawpoll: a) (possibly very limited) maximal/true recursion, b) (possibly very limited) minimal/false recursion, c) mixed recursion/multiple models, d) no recursion
Arnaud: four options - recursion means yes, recursion means no, recursion means either yes or no, no recursion
<simonstey> a) might return wrong results if negation is involved
<aryman> a: +1, b: +?, c: +?, d: -1
<hknublau> a) +1 b) -1 c) 0.7 d) -1
a: -1, b: -1, c: 0, d: 1
<simonstey> a) 0 b) 0 c) ? d) -1
<kcoyle> No idea, but anything simple will probably work because our validation needs are fairly simple
<Labra> a) +1 b) -0.5 c) +0.7 d) -1
note simon's comment - recursion means yes only works in certain cases - a treatment is much more complex than "just say yes"
Arnaud: it appears that some recursion is wanted
<TallTed> d -1 ... I don't grok the other three enough to rank
hknublau: i'm not comfortable with a theoretical analysis - what are good examples?
<kcoyle> +1 for examples
<aryman> I wrote up two examples, see http://arxiv.org/abs/1505.04972 v2
<hknublau> aryman, please as Turtle files, and I need examples that break.
Arnaud: the preferred options are a and c
<simonstey> negation is what's bothering me
Arnaud: peter could you produce something that would allow progress?
<simonstey> (in combination with recursion)
<aryman> v2 is at https://github.com/agryman/data-shapes/blob/master/recursion/recursion-v2-changebars.pdf
<hknublau> @simonstey we could detect negation and throw “unknown” like in my proposal
<simonstey> yeah, would work for me
<simonstey> i guess
pfps: there is nothing new in this discussion so bringing up the same stuff again is unlikely to have any effect
... I can point to previous examples in the hope that someone will do something with them
hknublau: I'll do something with the examples
aryman: in the original OSLC spec we had recursion but didn't define it
... for simple positive recursion there is a spec that works
... the polentoni example works in this spec - there is even a single SPARQL query that computes polentoni
... I think that the positive recursion case is acceptable for SHACL
... negative recursion is more problematic - I'm not sure where the line between them is
... I have Turtle for my example
<aryman> @hknublau the data files are in github https://github.com/agryman/data-shapes/blob/master/recursion/recursion-v2-changebars.pdf
Arnaud: is there negation in resource shapes
aryman: no
... I'm trying to analyze Iovka's spec
pfps: intuitions are difficult to come by
<Arnaud> I think there is some limited way that might work here, we "just" need to find what it is
<Arnaud> trackbot, end meeting