- From: Holger Knublauch <holger@topquadrant.com>
- Date: Tue, 28 Jul 2015 09:27:17 +1000
- To: RDF Data Shapes Working Group <public-data-shapes-wg@w3.org>
Both tickets [1] and [2] essentially talk about the same thing - how a SHACL engine selects which shapes apply to a given data graph. My proposal is to resolve both as follows: The SHACL engine is invoked with two parameters: 1) a dataset including the data graph as its default graph 2) a shapes graph (we don't need to decide on whether that must be in the dataset here) There is a class sh:Graph, instances of which can represent the named graphs themselves similar to owl:Ontology, but the use of sh:Graph is not mandatory. Graphs that wish to help an engine find its default shapes graph can use the property sh:shapesGraph in a triple such as <dataGraph> sh:shapesGraph <shapesGraph> to point at one or more shapes graph - the union of those becomes the input 2) unless specified otherwise. If the SHACL core vocabulary is needed then it could look like <dataGraph> a sh:Graph ; sh:shapesGraph <http://www.w3.org/ns/shacl> . In addition, graphs can point to each other using a property sh:include, which plays a similar role like owl:imports, only without the OWL dependency/ballast. It defines an imports closure of graphs, e.g. myGraph sh:include schema.org to help tools such as SHACL editors figure out which other files need to be loaded when the user opens the base graph. Holger [1] http://www.w3.org/2014/data-shapes/track/issues/3 [2] http://www.w3.org/2014/data-shapes/track/issues/44
Received on Monday, 27 July 2015 23:27:52 UTC