- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Tue, 9 May 2017 03:53:51 -0700
- To: "public-rdf-shapes@w3.org" <public-rdf-shapes@w3.org>
I took a quick look at the use of pre-binding in the SHACL document, version 07 May 2017. Previously I had been looking at the definition of pre-binding and only looking at its use when I found problems. I found that many uses of pre-binding in the document produce unsuitable or unexpected results. This shows that there has been no effective review of the current definition of pre-binding to check whether it is suitable for use in SHACL, a very surprising situation for such a central part of SHACL-SPARQL. Here are a few of the uses of pre-binding where it produces unsuitable or unexpected results. The very first use of pre-binding in the document produces completely unsuitable results. SELECT DISTINCT ?this WHERE { BIND ($targetNode AS ?this) } with the variable targetNode pre-bound to some RDF term will produce a solution sequence containing a single solution. That solution will have the variable this unbound. The second use of pre-binding also produces completely unsuitable results. SELECT DISTINCT ?this WHERE { ?this rdf:type/rdfs:subClassOf* $targetClass . } with the variable targetClass pre-bound to some RDF term will produce a solution sequence containing solutions binding the variable this to each node in the graph that is the subject of a triple in the graph with rdf:type as predicate. The second-last use of pre-binding produces unexpected results. The results of SELECT DISTINCT $this ?value WHERE { $this $PATH ?value . FILTER (!isLiteral(?value) || !langMatches(lang(?value), $lang)) } are independent of the pre-binding of the variable lang. This query forms the basis of one of the SHACL-SPARQL tests, with expected results dramatically different from the ones actually produced by the current definition of pre-binding. SHACL-SPARQL implementations thus are not implementing pre-binding as currently defined. Peter F. Patel-Schneider Nuance Communications
Received on Tuesday, 9 May 2017 10:54:26 UTC