W3C

RDF Data Shapes Working Group Teleconference

09 Jul 2015

Agenda

See also: IRC log

Attendees

Present
Arnaud, kcoyle, pfps, TallTed, hknublau, labra, simonstey, aryman
Regrets
Chair
Arnaud
Scribe
pfps

Contents


<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

Minutes

<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

Reference Guide

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

ISSUE-22 treatment of recursive shape definitions

<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

Summary of Action Items

Summary of Resolutions

  1. Approve minutes of the 2 July Telecon: http://www.w3.org/2015/07/02-shapes-minutes.html
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.143 (CVS log)
$Date: 2015/07/17 08:38:59 $