- From: Karen Coyle <kcoyle@kcoyle.net>
- Date: Sat, 14 May 2016 08:53:12 -0700
- To: Dimitris Kontokostas <kontokostas@informatik.uni-leipzig.de>
- Cc: public-data-shapes-wg <public-data-shapes-wg@w3.org>
Another way to look at this is that there is a data graph that is to be
addressed. If the data graph as a whole is not to be the target of the
constraints, then one must apply a scope to define the subset of the
graph that is the focus of the constraints. There is no change (AFAIK)
in the function of the constraint between:
ex:MyShape
a sh:Shape ;
rdfs:comment "every dct:subject must have IRIs as objects" ;
sh:scopeClass ex:Class;
sh:property [
sh:predicate dct:subject ;
sh:nodeKind sh:IRI ;
] .
and
ex:MyShape
a sh:Shape ;
rdfs:comment "every dct:subject must have IRIs as objects" ;
sh:property [
sh:predicate dct:subject ;
sh:nodeKind sh:IRI ;
] .
In both cases, the constraint applies to the scope of the shape; this
can be either the entire data graph or a subset of the data graph. If
the property constraint can function on a graph selected with rdf:type
then it can function on the data graph as a whole. The pre-selection of
every triple with property dct:subject seems unnecessary. It also seems
hard to grasp because node and class scopes pinpoint a starting node for
a graph while the property scope is going to return individual triples.
These do not seem to be the same logical function.
kc
On 5/14/16 5:07 AM, Dimitris Kontokostas wrote:
> Karen's example could be modeled with multiple shapes and property
> scopes or a single shape with allSubjectsScope and multiple sh:property
> definitions for dct:title & dct:subject which is more efficient
>
> Another gap that sh:AllSubjectsScope came to fill is sh:scopeClass
> rdfs:Resource that was available in very early versions of SHACL
> In general this scope gives shacl core the flexibility to define complex
> focus nodes using all subjects + filters that will not be easy otherwise
> so I would be keen on keeping this in core
>
> On Sat, May 14, 2016 at 7:22 AM, Karen Coyle <kcoyle@kcoyle.net
> <mailto:kcoyle@kcoyle.net>> wrote:
>
> Looking at this:
>
> On 5/13/16 5:23 PM, Holger Knublauch wrote:
>
> ex:MyShape
> a sh:Shape ;
> rdfs:comment "every dct:subject must have IRIs as objects" ;
> sh:scopeProperty dct:subject ;
> sh:property [
> sh:predicate dct:subject ;
> sh:nodeKind sh:IRI ;
> ] .
>
>
> There is 100% redundancy between sh:scopeProperty and the
> constraint. If I were to state what I want to do in terms of
> validation, it would come out like this:
>
>
> ex:MyShape
> a sh:Shape ;
> rdfs:comment "every dct:subject must have IRIs as objects" ;
> sh:property [
> sh:predicate dct:subject ;
> sh:nodeKind sh:IRI ;
> ] .
>
> because I am not using a scope at all. What this means is what is in
> the comment. A scope, logically, is a selection from the data graph,
> but this use case makes no such selection, and the constraint is
> sufficient.
>
> Is there a use of scopeProperty that would not be redundant?
>
>
> kc
>
> --
> Karen Coyle
> kcoyle@kcoyle.net <mailto:kcoyle@kcoyle.net> http://kcoyle.net
> m: 1-510-435-8234
> skype: kcoylenet/+1-510-984-3600 <tel:%2B1-510-984-3600>
>
>
>
>
> --
> Dimitris Kontokostas
> Department of Computer Science, University of Leipzig & DBpedia Association
> Projects: http://dbpedia.org, http://rdfunit.aksw.org,
> http://aligned-project.eu
> Homepage: http://aksw.org/DimitrisKontokostas
> Research Group: AKSW/KILT http://aksw.org/Groups/KILT
>
--
Karen Coyle
kcoyle@kcoyle.net http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet/+1-510-984-3600
Received on Saturday, 14 May 2016 15:53:39 UTC