- From: Holger Knublauch <holger@topquadrant.com>
- Date: Sat, 10 Dec 2016 11:02:54 +1000
- To: "public-rdf-sha." <public-rdf-shapes@w3.org>
Peter, you stated there are several places but only enumerated one
(sh:class). Are the others also only about the EXISTS issue?
Holger
On 9/12/2016 12:46, Peter F. Patel-Schneider wrote:
> There are several places where the textual definition of validation differs
> from the SPARQL definition.
>
>
> Consider, for example the shapes graph
>
> se:s1 rdf:type sh:Shape ;
> sh:targetNode ex:n ;
> sh:property [ sh:predicate ex:p ;
> sh:class ex:c ] .
>
> and the data graph
>
> ex:n ex:p ex:m .
> ex:m rdf:type ex:c ;
> ex:p ex:l .
>
>
> According to the textual definition of sh:ClassConstraintComponent this data
> graph conforms to this shapes graph as no validation result is produced for
> ex:n because its sole value for ex:p is a SHACL instance of ex:c in the data
> graph.
>
>
> The SPARQL definition here uses the following SPARQL query
>
> SELECT DISTINCT $this ?value
> WHERE {
> $this ex:p ?value .
> FILTER NOT EXISTS
> { $value rdf:type/rdfs:subClassOf* $class . }
> }
>
> with this pre-bound to ex:n and class pre-bound to ex:c.
>
> According to the SHACL document
> evaluating this SPARQL query will produce a non-empty solution sequence,
> namely
> { { (this, ex:m), (value,ex:l) } }
> because
> $this ex:p ?value .
> will produce the set of solutions
> { { (this, ex:n), (value,ex:m) } ,
> { (this, ex:m), (value,ex:l) } }
>
> Therefore according to the SPARQL definition of sh:ClassConstraintComponent
> this data graph does not conform to this shapes graph.
>
>
>>>>>>>>>>>>>>>>>>> ISSUE<<<<<<<<<<<<<<<<<<<<<<<<
> The textual and SPARQL definitions conflict in several places. One or the
> other needs to be fixed or dropped.
>>>>>>>>>>>>>>>>>>> ISSUE<<<<<<<<<<<<<<<<<<<<<<<<
>
>
> Peter F. Patel-Schneider
> Nuance Communications
>
Received on Saturday, 10 December 2016 01:03:58 UTC