IRC log of shapes on 2016-06-23
Timestamps are in UTC.
- 17:57:14 [RRSAgent]
- RRSAgent has joined #shapes
- 17:57:14 [RRSAgent]
- logging to http://www.w3.org/2016/06/23-shapes-irc
- 17:57:16 [trackbot]
- RRSAgent, make logs rdf-data-shapes
- 17:57:16 [Zakim]
- Zakim has joined #shapes
- 17:57:18 [trackbot]
- Zakim, this will be SHAPES
- 17:57:18 [Zakim]
- ok, trackbot
- 17:57:19 [trackbot]
- Meeting: RDF Data Shapes Working Group Teleconference
- 17:57:19 [trackbot]
- Date: 23 June 2016
- 17:58:09 [Arnaud]
- agenda: https://www.w3.org/2014/data-shapes/wiki/Meetings:Telecon2016.06.23
- 17:58:13 [Arnaud]
- chair: Arnaud
- 17:58:56 [pfps]
- present+
- 17:59:25 [Arnaud]
- present+
- 17:59:38 [Arnaud]
- present+ AndyS, ericP
- 18:00:31 [pfps]
- Welcome Andy.
- 18:00:59 [AndyS]
- hello everyone.
- 18:02:04 [hknublau]
- present+
- 18:02:06 [pfps]
- Remember, this system is not connected to Zakim the right way. :-(
- 18:02:31 [Arnaud]
- https://www.w3.org/2014/data-shapes/wiki/Meetings:Telecon2016.06.23
- 18:02:39 [jamsden]
- jamsden has joined #shapes
- 18:02:51 [kcoyle]
- kcoyle has joined #shapes
- 18:02:53 [pfps]
- The link works, but it still red
- 18:03:46 [pfps]
- I think that Arnaud copied the link when the page didn't exist
- 18:04:23 [pfps]
- Yeah this appears to be a caching problem, newly introduced
- 18:05:45 [Arnaud]
- regrets: Dimitris, marq
- 18:06:51 [jamsden]
- scribe:jamsden
- 18:07:48 [Arnaud]
- PROPOSED: Approve minutes of the 16 June 2016 Telecon: http://www.w3.org/2016/06/16-shapes-minutes.html
- 18:07:52 [pfps]
- minutes look fine
- 18:08:00 [Arnaud]
- RESOLVED: Approve minutes of the 16 June 2016 Telecon: http://www.w3.org/2016/06/16-shapes-minutes.html
- 18:08:36 [jamsden]
- Arnaud not be available for the next meeting, Eric to chair
- 18:09:07 [pfps]
- 169 is a fine issue to open
- 18:09:11 [jamsden]
- new raised issues: ISSUE-169 to rename scope and inverse property
- 18:09:12 [Arnaud]
- PROPOSED: Open ISSUE-169
- 18:09:16 [pfps]
- +1
- 18:09:20 [jamsden]
- +1
- 18:09:21 [hknublau]
- +1
- 18:09:48 [kcoyle]
- +1
- 18:09:58 [Arnaud]
- RESOLVED: Open ISSUE-169
- 18:10:26 [jamsden]
- topic: state of workgroup and timeline
- 18:11:08 [jamsden]
- look at open issues to establish a context for evaluating progress
- 18:11:22 [jamsden]
- determine if there are some issues that could be pruned
- 18:12:13 [jamsden]
- https://www.w3.org/2014/data-shapes/track/issues/open
- 18:12:33 [kcoyle]
- #93 may have been dealt with via edits
- 18:12:49 [ericP]
- Arnaud: we have 32 open issues; just opened another
- 18:12:55 [jamsden]
- Arnaud calling for volunteers to prune the list
- 18:13:03 [ericP]
- ... it might seem daunting
- 18:14:36 [hknublau]
- q+
- 18:14:41 [kcoyle]
- q+
- 18:14:56 [Arnaud]
- ack hknublau
- 18:14:58 [jamsden]
- Arnaud: welcomes input on what issues to addres
- 18:15:54 [jamsden]
- hknublau: introduced sh:partion feature from Arthur. Evaluated. may be overlapping with other features.
- 18:16:02 [jamsden]
- related to issue 92
- 18:16:31 [jamsden]
- pfps: partition didn't provide composition of and and ors
- 18:16:47 [Arnaud]
- ack kcoyle
- 18:16:52 [jamsden]
- ... will look into resolving this
- 18:17:23 [jamsden]
- kcoyle: issue 93 and 137 were alread addressed?
- 18:17:32 [pfps]
- If anyone in the working group thinks that an issue has been resolved they should point this out by email so that the WG can check and resolve the issue
- 18:18:14 [jamsden]
- hknublau: not addressed yet.
- 18:19:06 [jamsden]
- requires additional analysis
- 18:20:20 [jamsden]
- ISSUE-168
- 18:20:20 [trackbot]
- ISSUE-168 -- How to constrain number of instances of a class in a graph -- open
- 18:20:20 [trackbot]
- http://www.w3.org/2014/data-shapes/track/issues/168
- 18:21:22 [jamsden]
- not sure we have common understanding of the problem or whether its addressed by the current spec
- 18:22:36 [jamsden]
- kcoyle: would prefer that classes not be used at all in SHACL, but if used, should be used consistently. predicate of rdf:type as a class needs to be treated that way throughout. Would prefer everything to be treated just as triples, including rdf:type
- 18:23:10 [jamsden]
- count instances of Class or rdf:type properties
- 18:25:52 [jamsden]
- hknublau: already to count based on rdf:type, cardinality constraint on inverse triples syntax exists. Don't have a clean feature to find instances of a subclass. minCount, maxCount would require extensions to nodeConstraint.
- 18:26:28 [jamsden]
- ...compromise that doesn't require changes to nodeConstraint, instanceCount applied to scope node
- 18:27:50 [jamsden]
- kcoyle: can triples and subclasse be handled with Holger's proposal?
- 18:29:10 [jamsden]
- predicates with rdf:type shouldn't be treated in different ways
- 18:29:32 [jamsden]
- ... but don't need a specific solution to instance count
- 18:29:40 [hknublau]
- q+
- 18:30:13 [Arnaud]
- ack hknublau
- 18:31:19 [jamsden]
- hknublau: many ways of triggering validations, minimize what is in core and use extension mechanisms as needed. Not covered in use cases so shouldn't be adding anything new at this time.
- 18:32:01 [jamsden]
- Arnaud: propose we close ISSUE-168
- 18:32:17 [Arnaud]
- PROPOSED: Close ISSUE-168, without adding min/maxInstanceCount as not motivated enough
- 18:32:19 [hknublau]
- +1
- 18:32:25 [jamsden]
- +1
- 18:32:27 [kcoyle]
- +1
- 18:32:31 [pfps]
- 0
- 18:32:50 [ericP]
- +1
- 18:33:03 [Arnaud]
- RESOLVED: Close ISSUE-168, without adding min/maxInstanceCount as not motivated enough
- 18:33:29 [jamsden]
- ISSUE-68
- 18:33:29 [trackbot]
- ISSUE-68 -- pre-binding not defined in SHACL spec -- open
- 18:33:29 [trackbot]
- http://www.w3.org/2014/data-shapes/track/issues/68
- 18:33:38 [pfps]
- q+
- 18:34:16 [pfps]
- pre-binding does not rely directly on exists, but exists is related to pre-binding
- 18:34:18 [jamsden]
- Arnaud: relying on something unstable in SPARQL
- 18:34:23 [Arnaud]
- ack pfps
- 18:35:25 [pfps]
- The current definition of SPARQL has counterintuitive consequences for
- 18:35:27 [pfps]
- SHACL. One of these consequences is that even if pre-binding was fixed,
- 18:35:28 [pfps]
- sh:class would not work correctly. For example, even if pre-binding was
- 18:35:29 [jamsden]
- pfps: two related problems. ours and SPARQL, related because prebinding is close definition of exists which has problems. Almost all of SPARQL SHACL depends on exists. and it has problems.
- 18:35:30 [pfps]
- fixed sh:class would not work correctly because
- 18:35:31 [pfps]
- SELECT $this ($this AS ?subject) $predicate (?value AS ?object)
- 18:35:33 [pfps]
- WHERE {
- 18:35:34 [pfps]
- $this $predicate ?value .
- 18:35:36 [pfps]
- FILTER NOT EXISTS { ?value rdf:type/rdfs:subClassOf* $class } .
- 18:35:37 [pfps]
- }
- 18:35:39 [pfps]
- will return a result for any blank node that is an object of a triple with
- 18:35:40 [pfps]
- subject ?this and predicate $predicate only if no node in the graph is a
- 18:35:42 [pfps]
- SHACL instance of $class.
- 18:35:43 [pfps]
- So, even if pre-binding is fixed according to the SPARQL specification there
- 18:35:45 [pfps]
- will be no violations reported for
- 18:35:47 [pfps]
- ex:s1 a sh:Shape ;
- 18:35:48 [pfps]
- sh:scopeNode ex:Bob ;
- 18:35:50 [pfps]
- sh:property [ sh:predicate ex:child ; sh:class ex:Person ] .
- 18:35:51 [pfps]
- on the data graph
- 18:35:53 [pfps]
- ex:Bob ex:child _:Bill .
- 18:35:54 [pfps]
- ex:Susan a ex:Person .
- 18:36:48 [jamsden]
- ...use SPARQL spec to provide meaning to SHACL core components, they will not be correct
- 18:37:28 [jamsden]
- ...could get SPARQL spec fixed, publish warning about changes to SPARQL for SHACL to work right.
- 18:37:40 [jamsden]
- ...SHACL spec says something we can't use
- 18:38:20 [pfps]
- How do you disagree with this analysis?
- 18:39:23 [jamsden]
- AndyS: disagrees with this analysis. SPARQL engines seem to follow SHACL semantics. Treat blank nodes as constants. For some operations, have to transform SPARQL
- 18:39:27 [pfps]
- So the SPARQL specification is indeed saying something that SHACL can't use?
- 18:39:46 [jamsden]
- ...did not disagree with the analysis
- 18:40:20 [pfps]
- It is not that the spec is unclear here. The spec is clear, unambiguous, and unproblematic.
- 18:40:53 [jamsden]
- Arnaud: implementations by convention do things that are consistent with SHACL, but there is risk in relying on this.
- 18:40:57 [pfps]
- It may be that implementations diverge from the SPARQL spec here.
- 18:41:04 [pfps]
- Note that this is not pre-binding.
- 18:41:35 [jamsden]
- Arnaud: fixing SPARQL probably isn't an option
- 18:41:58 [AndyS]
- q+
- 18:42:09 [pfps]
- If the SPARQL community put together a consensus errata that clearly indicated a change to the SPARQL spec then I think that that would be adequate.
- 18:42:11 [pfps]
- q+
- 18:42:21 [Arnaud]
- ack AndyS
- 18:42:21 [jamsden]
- would require recharting the working group and could take a year
- 18:42:58 [jamsden]
- AndyS: parameterized queries was not addressed in SPARQL 1.1 due to limited time.
- 18:43:03 [Arnaud]
- ack pfps
- 18:43:52 [jamsden]
- pfps: hard to make fixes to W3C recommendations. Community group could come together and agree that what we all do should be updated in the spec - should be sufficient to move forward
- 18:44:02 [ericP]
- q+
- 18:44:53 [jamsden]
- ... right now SHACL depends on something that is counter to current SPARQL.
- 18:44:57 [Arnaud]
- ack ericP
- 18:45:29 [jamsden]
- ericP: if Peter makes the case in writing, ericP will bring it forward
- 18:46:10 [jamsden]
- ... eventually go to w3m
- 18:47:20 [jamsden]
- pfps: all the implementations agree with each other, but not the spec regarding what SHACL needs
- 18:48:00 [pfps]
- all the implementations that I know of, at least
- 18:48:20 [jamsden]
- Arnaud: there is no owner to address this for SPARQL. Could we treat this as an errata?
- 18:49:26 [jamsden]
- ... has been an ongoing problem with W3C process
- 18:50:51 [pfps]
- q+
- 18:51:08 [Arnaud]
- ack pfps
- 18:51:10 [AndyS]
- "RDF Tests Community Group"
- 18:51:21 [jamsden]
- pfps: RDF test community may be the right group to address this
- 18:51:23 [AndyS]
- which already exists.
- 18:52:01 [AndyS]
- q+
- 18:52:07 [Arnaud]
- ack AndyS
- 18:53:00 [jamsden]
- AndyS: start with RDF test community, see where we get, then widen it as needed depending on what happens. Not the first bug in the spec.
- 18:53:40 [AndyS]
- SPARQL errata -- https://www.w3.org/2013/sparql-errata
- 18:54:07 [jamsden]
- Anarud: second option: say that SHACL is not based on SPARQL or uses or expects SPARQL to be used, in a specific way.
- 18:56:00 [pfps]
- q+
- 18:56:09 [Arnaud]
- ack pfps
- 18:57:19 [jamsden]
- pfps: wg could do that but leaves open to complaints at succeeding stages. W3C management would possibly override the constraints. Not like SHACL needs and extension, it needs SPARQL to be changed to work as needed.
- 18:57:37 [jamsden]
- ... this would essentially be forking the SPARQL spec
- 19:00:00 [hknublau]
- q+
- 19:00:19 [jamsden]
- Who would define this? where would it be implemented? how would it be standardized?
- 19:00:40 [Arnaud]
- ack hknublau
- 19:01:23 [jamsden]
- jamsden PROPOSE: clarify meaning of EXISTS in the context of SHACL based on commun implementations and discuss the issue in SPARQL to motivate the clarification
- 19:02:18 [jamsden]
- hknublau: SHACL creates its own function to do the proper exists implementation.
- 19:03:42 [jamsden]
- pfps: this could introduce additional issues. A user function cannot take SPARQL syntax, but other arguments could be used
- 19:06:05 [pfps]
- q+ to bring up the second half of this issue
- 19:07:01 [AndyS]
- agree with that plan
- 19:07:04 [jamsden]
- Arnaud: could combine approaches, introducing new SHACL function if changes to SPARQL are not possible
- 19:07:14 [hknublau]
- should we write that down as a PROPOSAL?
- 19:07:35 [jamsden]
- ... results in deferring ISSUE-86
- 19:08:05 [jamsden]
- ISSUE-68
- 19:08:05 [trackbot]
- ISSUE-68 -- pre-binding not defined in SHACL spec -- open
- 19:08:05 [trackbot]
- http://www.w3.org/2014/data-shapes/track/issues/68
- 19:09:00 [Arnaud]
- PROPOSAL: we'll wait for the community to come up with an erratum for SPARQL we can use regarding EXISTS, if this doesn't pan out we will have to investigate defining our own extension instead
- 19:09:03 [pfps]
- 0
- 19:09:07 [hknublau]
- +1
- 19:09:08 [AndyS]
- +1
- 19:09:17 [kcoyle]
- 0
- 19:09:20 [ericP]
- 0
- 19:09:25 [jamsden]
- what does this dependency mean?
- 19:10:26 [jamsden]
- what are the implications for moving forward without resolving this.
- 19:11:11 [pfps]
- there is actually disagreement on other parts of EXISTS, some of which are related to SHACL's use of SPARQL
- 19:12:48 [jamsden]
- this this seems high risk and requires a proactive solution
- 19:15:53 [jamsden]
- AndyS: there is already awareness of the problem, issues recognized and that a change is required. This group could write up a proposed solution, but there may be ongoing progress already
- 19:16:22 [jamsden]
- Arnaud: put a deadline on assessing the progress and making a decision to seek another solution.
- 19:16:50 [jamsden]
- +1
- 19:16:54 [Arnaud]
- RESOLVED: we'll wait for the community to come up with an erratum for SPARQL we can use regarding EXISTS, if this doesn't pan out we will have to investigate defining our own extension instead
- 19:17:43 [Arnaud]
- ACTION: AndyS to work on an ERRATUM for EXISTs
- 19:17:43 [trackbot]
- Error finding 'AndyS'. You can review and register nicknames at <http://www.w3.org/2014/data-shapes/track/users>.
- 19:18:34 [AndyS]
- ACTION: aseaborne-tq to work on an ERRATUM for EXISTs
- 19:18:34 [trackbot]
- Created ACTION-38 - Work on an erratum for exists [on Andy Seaborne - due 2016-06-30].
- 19:18:55 [Arnaud]
- ack pfps
- 19:18:55 [Zakim]
- pfps, you wanted to bring up the second half of this issue
- 19:18:57 [pfps]
- The current definition of pre-binding does not work at all. The current
- 19:18:59 [pfps]
- definition is, in effect, "whenever a SPARQL processor evaluates a pre-bound
- 19:19:00 [pfps]
- variable, it must use the given value." However, SPARQL only evaluates
- 19:19:02 [pfps]
- variables in specific circumstances.
- 19:19:03 [pfps]
- For example, in
- 19:19:05 [pfps]
- SELECT $this ($this AS ?subject) $predicate (?value AS ?object)
- 19:19:06 [pfps]
- WHERE {
- 19:19:08 [pfps]
- $this $predicate ?value .
- 19:19:09 [pfps]
- FILTER NOT EXISTS { ?value rdf:type/rdfs:subClassOf* $class } .
- 19:19:11 [pfps]
- }
- 19:19:12 [pfps]
- no evalution of $this, $predicate, or $class is done.
- 19:19:14 [pfps]
- This has the effect that sh:class will not return any validation results for
- 19:19:15 [pfps]
- any object in the data graph that is a SHACL instance of any node in the
- 19:19:17 [pfps]
- data graph, even if the counterintuitive effects of EXISTS here are fixed.
- 19:19:18 [pfps]
- However, if an object in the data graph is not a SHACL instance of any node,
- 19:19:20 [pfps]
- then sh:class will always return a violation result for it if the
- 19:19:21 [pfps]
- counterintuitive effects of EXISTS here are fixed.
- 19:19:23 [pfps]
- So, even if EXISTS is fixed in SPARQL there will be a violation reported for
- 19:19:24 [pfps]
- ex:s1 a sh:Shape ;
- 19:19:26 [pfps]
- sh:scopeNode ex:Bob ;
- 19:19:27 [pfps]
- sh:property [ sh:predicate ex:child ; sh:class ex:Person ] .
- 19:19:29 [pfps]
- on the data graph
- 19:19:30 [pfps]
- ex:Susan ex:child ex:Bill .
- 19:20:17 [jamsden]
- pfps: first half was problem with SPARQL, the second problem is pre-binding. SPARQL didn't define pre-binding, but implementations implement it in some cases. SHACL defined its own. Substitution was originally used, but had problems, now overriding the evaluation
- 19:21:10 [jamsden]
- doesn't evaluate when matching triples against the graph, results in example failures - match of triple with prebound data against the data graph
- 19:26:05 [pfps]
- I have brought up this precise problem in the past
- 19:28:46 [pfps]
- q+
- 19:28:57 [Arnaud]
- ack pfps
- 19:30:14 [jamsden]
- pfps: we have to define what pre-binding has to do. Raises the EXISTS problem, that figure out something that works with the SPARQL specification - Peter has done this with a proposed fix, but won't be around to followup
- 19:31:21 [jamsden]
- ... put a fake value at right after the where that supports blank nodes, put in the pre-bound values, then everything else works. Some implementations are probably actually doing this, but hard to know. Difficult to determin how implementations are doing pre-binding
- 19:31:53 [pfps]
- here is the draft of a message on blank nodes and EXISTS
- 19:32:04 [pfps]
- Here is a situation where the SPARQL 1.1 Query recommendation says something
- 19:32:05 [pfps]
- clearly, unambiguously, and unproblematically that is counterintuitive. At
- 19:32:07 [pfps]
- least some SPARQL implementations diverge from the SPARQL specification
- 19:32:08 [pfps]
- here, and it is entirely possible that all major SPARQL implementations do.
- 19:32:10 [pfps]
- Consider the query
- 19:32:11 [pfps]
- prefix ex: <http://www.example.org/>
- 19:32:13 [pfps]
- SELECT ?this WHERE {
- 19:32:14 [pfps]
- ?this ex:p ?value .
- 19:32:16 [pfps]
- FILTER NOT EXISTS { ?value ex:q ex:d } .
- 19:32:17 [pfps]
- }
- 19:32:19 [pfps]
- and the graph
- 19:32:20 [pfps]
- @prefix ex: <http://www.example.org/> .
- 19:32:22 [pfps]
- ex:b ex:p _:v .
- 19:32:23 [pfps]
- ex:c ex:q ex:d .
- 19:32:25 [pfps]
- According to the SPARQL 1.1 Query recommendation there will be no results
- 19:32:26 [pfps]
- from evaluating this query on this graph. This happens because the
- 19:32:28 [pfps]
- definition of EXISTS is via substitution, which ends up producing
- 19:32:29 [pfps]
- BCP( _:v ex:q ex:d )
- 19:32:31 [pfps]
- which then matches against the ex:c ex:q ex:d triple.
- 19:34:11 [ericP]
- -> https://github.com/w3c/rdf-tests/issues/42 rdf-tests issue for defn of EGCYSTS
- 19:34:15 [AndyS]
- ACTION: aseaborne-tq to email WG lists about the places where discussion on EXISTS is happening.
- 19:34:15 [trackbot]
- Created ACTION-39 - Email wg lists about the places where discussion on exists is happening. [on Andy Seaborne - due 2016-06-30].
- 19:34:33 [Arnaud]
- trackbot, end meeting
- 19:34:33 [trackbot]
- Zakim, list attendees
- 19:34:33 [Zakim]
- As of this point the attendees have been pfps, Arnaud, AndyS, ericP, hknublau
- 19:34:41 [trackbot]
- RRSAgent, please draft minutes
- 19:34:41 [RRSAgent]
- I have made the request to generate http://www.w3.org/2016/06/23-shapes-minutes.html trackbot
- 19:34:42 [trackbot]
- RRSAgent, bye
- 19:34:42 [RRSAgent]
- I see 3 open action items saved in http://www.w3.org/2016/06/23-shapes-actions.rdf :
- 19:34:42 [RRSAgent]
- ACTION: AndyS to work on an ERRATUM for EXISTs [1]
- 19:34:42 [RRSAgent]
- recorded in http://www.w3.org/2016/06/23-shapes-irc#T19-17-43
- 19:34:42 [RRSAgent]
- ACTION: aseaborne-tq to work on an ERRATUM for EXISTs [2]
- 19:34:42 [RRSAgent]
- recorded in http://www.w3.org/2016/06/23-shapes-irc#T19-18-34
- 19:34:42 [RRSAgent]
- ACTION: aseaborne-tq to email WG lists about the places where discussion on EXISTS is happening. [3]
- 19:34:42 [RRSAgent]
- recorded in http://www.w3.org/2016/06/23-shapes-irc#T19-34-15