Re: shapes-ISSUE-130 (rdf dataset assumption): SHACL should not assume that the data graph is in an RDF dataset [SHACL Spec]

The diff seems to indicate that functions still work only over datasets,
although there is a TODO indicated.  Two "or dataset"s were also removed -
making the dataset optional is probably benign.

As far as $shapesGraph goes, wording along the lines of "can be used to access
the shapes graph" would seem to work, but would need some explanation along
the lines of "If the shapes graph is a named graph in the same dataset as the
data graph then it can be accessed using its name in the dataset.  Otherwise a
SHACL engine would need to provide an alternative way to access the shapes graph."



peter


On 03/17/2016 02:04 AM, Dimitris Kontokostas wrote:
> I removed all mentions of dataset in the text that imply that validation works
> on RDF datasets
> https://github.com/w3c/data-shapes/commit/fa2d99fd61a473d14eef9cee57c0db1c61e03684
> 
> One thing left to decide and close this issue  is how to refer to the
> '$shapesGraph" variable. right now we have variations of the following in the spec
> "$shapesGraph ... a named graph IRI that contains the the shapes graph"
> 
> reading the sparql spec, named graphs imply an RDF dataset: 
> https://www.w3.org/TR/sparql11-query/#namedGraphs
> 
> even if we remove the "named" and refer to them as just graphs, SPARQL uses
> the "GRAPH" keyword in the "Querying the Dataset" section
> https://www.w3.org/TR/sparql11-query/#queryDataset
> 
> so, do we still have an implicit assumption that validation works on RDF datasets?
> 
> Since we already have a resolution on $shapesGraph I see the following options:
> a) we accept the edits as they are now in the spec and close this issue
> b) we try to weaken further the connection and change occurrences of "named
> graph" to "graph" 
> c) since this is  sparql-specific issue, we can add a disclaimer in section 1.2
> 
> regarding how a SHACL validation engine wraps graphs to perform validation, it
> can be an implementation detail
> 
> Dimitris
> 
> 
> On Wed, Mar 9, 2016 at 9:35 AM, Holger Knublauch <holger@topquadrant.com
> <mailto:holger@topquadrant.com>> wrote:
> 
>     Yes, you may have a point there - in cases like the default graph we need
>     to make sure that the system knows which subject to look for the
>     sh:shapesGraph triples. This is probably just a URI parameter.
> 
>     (There are so many edit suggestions open right now that I am looking
>     forward to sharing the workload with a second editor, now that Arthur has
>     left; yes I have a day job too.)
> 
>     Holger
> 
> 
>     On 8/03/2016 11:02, Tom Johnson wrote:
>>     > An RDF dataset is a purely conceptual entity. Many APIs implement
>>     Dataset. Any Graph can be wrapped into a Dataset for execution, even if
>>     that Dataset is just virtual and only has a single graph in it.
>>
>>     Reading the quoted text, this doesn't seem to hold. The "data graph"
>>     links to the "shapes graph" via a triple with its graph name as the
>>     subject. Many graphs do not have such a name (even those that are within
>>     Datasets; i.e. default graphs).
>>
>>     Does SHACL provide a mechanism for connecting such a graph to a shapes
>>     graph? If not, how does wrapping the graph in a dataset within the
>>     implementation help a SHACL user make this connection?
>>
>>     - Tom
>>
>>     On Mon, Mar 7, 2016 at 3:00 PM, Holger Knublauch <holger@topquadrant.com
>>     <mailto:holger@topquadrant.com>> wrote:
>>
>>         An RDF dataset is a purely conceptual entity. Many APIs implement
>>         Dataset. Any Graph can be wrapped into a Dataset for execution, even
>>         if that Dataset is just virtual and only has a single graph in it.
>>
>>         Holger
>>
>>
>>
>>         On 8/03/2016 2:45, RDF Data Shapes Working Group Issue Tracker wrote:
>>
>>             shapes-ISSUE-130 (rdf dataset assumption): SHACL should not
>>             assume that the data graph is in an RDF dataset [SHACL Spec]
>>
>>             http://www.w3.org/2014/data-shapes/track/issues/130
>>
>>             Raised by: Peter Patel-Schneider
>>             On product: SHACL Spec
>>
>>             """4. Declaring the Shapes Graph
>>
>>             A data graph MAY link to one or more shapes graphs via the
>>             property sh:shapesGraph. The subject of this predicate must be
>>             the graph resource, i.e. the name of the data graph in the
>>             dataset. The objects of this predicate must be IRI nodes,
>>             pointing at a named graph in the dataset. Tools may use this
>>             information to determine which shapes graph to use for
>>             validation. If present, tools SHOULD transitively follow any
>>             links from the shapes graph via the predicate owl:imports to
>>             other graphs and use the resulting union graph as parameter to
>>             the validation process."""
>>
>>             This assumes that the data graph is in an RDF dataset.  SHACL
>>             validation should work on data graphs that are not in an RDF
>>             dataset.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>     -- 
>>     -Tom Johnson
> 
> 
> 
> 
> -- 
> Dimitris Kontokostas
> Department of Computer Science, University of Leipzig & DBpedia Association
> Projects: http://dbpedia.org, http://rdfunit.aksw.org,
> http://http://aligned-project.eu <http://aligned-project.eu/>
> Homepage:http://aksw.org/DimitrisKontokostas
> Research Group: AKSW/KILT http://aksw.org/Groups/KILT
> 

Received on Thursday, 17 March 2016 13:20:48 UTC