Re: ISSUE-23 example on proposal (d)

In my view there are three general approaches here:
1/ Classes cannot be shapes.  This is (roughly) the ShEx solution.
2/ Data nodes can be shapes but SHACL does nothing special for them.
3/ Data nodes can be shapes and SHACL does something special for them.

In one version of option 3/ given the following two graphs, SHACL validation
would validate
Data graph: ex:individual rdf:type ex:class .
Shapes graph: ex:class rdf:type sh:Shape .
       ... constraints on ex:class ...
by applying the constraints on ex:class on ex:individual

In option 2/ SHACL would do nothing in the above case, but if the shapes graph
also had
    ex:class sh:classScope ex:class
then validation would happen.

peter



On 12/16/2015 11:12 AM, Dimitris Kontokostas wrote:
> As promised, here's an example on proposal (d)
> 
> PROPOSAL: Close ISSUE-23 by introducing sh:ClassShape, a rdfsubClassOf shhape.
> sh:ClassShape indicates that the Shape IRI is also the shcopeClass of the
> Shape and forbids an explicit shcopeClass declaration. If and where the shape
> IRI is defined as an rdfs:Class is out of scope for SHACL.
> 
> example on existing spec (with sh:ShapeClass)
> 
> we write:
> foaf:Person a sh:ShapeClass.
> 
> what it translates to:
> foaf:Person a rdfs:Class, sh:Shape ;
>   sh:scopeClass foaf:Person .
> 
> new proposal (sh:ClassShape)
> 
> we write:
> foaf:Person a sh:ClassShape.
> 
> what it translates to
> foaf:Person a sh:Shape ;
>   sh:scopeClass foaf:Person .
> 
> the only difference is the naming from sh:ShapeClass to sh:ClassShape and that
> sh:ClassShape is no longer a meta-class. the latter means that we do not care
> if and where "foaf:Person a rdfs:Class" is defined and we do not do anything
> with rdfs or inferencing
> 
> Best,
> Dimitris
> 
> -- 
> Kontokostas Dimitris

Received on Thursday, 17 December 2015 18:22:05 UTC