- From: RDF Data Shapes Working Group Issue Tracker <sysbot+tracker@w3.org>
- Date: Mon, 11 Jul 2016 20:02:16 +0000
- To: public-data-shapes-wg@w3.org
shapes-ISSUE-174 (Scopenode): Scopenode does not use RDF node definition [SHACL - Core] http://www.w3.org/2014/data-shapes/track/issues/174 Raised by: Karen Coyle On product: SHACL - Core After chatting with various folks I am convinced that the use of "node" in the definition of "node scope" in SHACL is not correct. Node in RDF (which definition SHACL claims to follow) is defined thus: "The set of nodes of an RDF graph is the set of subjects and objects of triples in the graph. It is possible for a predicate IRI to also occur as a node in the same graph."[1] When we look at that: "The set of nodes of an RDF graph is the set of subjects and objects of triples in a graph." -> Only subjects and objects are "nodes." "It is possible for a predicate IRI to also occur as a node in the same graph." This refers to the IRI that is a predicate in a graph, not the predicate position in the triple, which is always an "arc" and not a node. The IRI can be a node (a subject or an object) if it is the subject or object of a triple. This means that if you "say something" about the predicate (for example adding a provenance statement about the predicate) then it has become a node in a graph as well as being a predicate in the graph. In fact, most predicates are not also subjects or objects. This means that at the moment SHACL does not have a way to define a scope on predicates. If the above holds true, then two things must happen: 1) SHACL must not use "node" where it means all components of a triple and 2a) there must either be a SHACL vocabulary element that allows scoping based on *any* component of a triple, or 2b) there must be a separate SHACL vocabulary element that allows scoping based on matching a predicate. [1] https://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#section-rdf-graph
Received on Monday, 11 July 2016 20:02:17 UTC