- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Thu, 17 Dec 2015 10:21:34 -0800
- To: Dimitris Kontokostas <jimkont@gmail.com>, public-data-shapes-wg <public-data-shapes-wg@w3.org>
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