- From: Dimitris Kontokostas <jimkont@gmail.com>
- Date: Wed, 29 Apr 2015 10:40:46 +0200
- To: Holger Knublauch <holger@topquadrant.com>
- Cc: public-data-shapes-wg <public-data-shapes-wg@w3.org>
- Message-ID: <CA+u4+a1mViucOt5vk4QTZr00zWxW+RNoN_mT+ubRhe4v4+_zcA@mail.gmail.com>
On Apr 29, 2015 00:35, "Holger Knublauch" <holger@topquadrant.com> wrote: > > On 4/28/2015 16:55, Dimitris Kontokostas wrote: >> >> >> >> On Tue, Apr 28, 2015 at 8:16 AM, Simon Steyskal <simon.steyskal@wu.ac.at> wrote: >>> >>> Hi! >>> >>>> since ex:myShExShapeA, ex:myShExShapeB are now an rdfs:Class will >>>> change behavior and will be treated as class shapes. >>>> This will trigger validation for all instances of ex:myShExShapeA & >>>> ex:myShExShapeB instead of the expected >>> >>> >>> as far as I understood, ex:myShExShapeA & ex:myShExShapeB would only be used by associating individuals via sh:nodeShape to them. They would not be instantiated by themselves. >> >> >> But if a shape is associated with a class it has different validation behavior. >> Or not in this proposal? > > > As far as I see, in this proposal it doesn't have different validation behavior, at least not in the associated Operations such as > > http://w3c.github.io/data-shapes/shacl/#operation-validateGraph > > where rdf:type and sh:nodeShape are almost interchangeable. The main difference, as Simon stated, is that rdf:type should not be used to point at sh:Shapes - use sh:nodeShape for those cases. The SPARQL queries for class shapes can be pre-computed and cached while ShEx shapes depend on the context. Not being able to determine the behavior in advance is a bad design choice IMHO. > > Holger > > > > >> >>> >>> >>> simon >>> >>> --- >>> DDipl.-Ing. Simon Steyskal >>> Institute for Information Business, WU Vienna >>> >>> www: http://www.steyskal.info/ twitter: @simonsteys >>> >>> >>> Am 2015-04-28 08:09, schrieb Dimitris Kontokostas: >>>> >>>> ok, assuming we have the following shapes, I am skipping the actual >>>> constraints as they are not relevant >>>> >>>> === before inference === >>>> >>>> ex:myClassA a rdfs:Class . # directly triggers validation for all >>>> instances of ex:myClassA >>>> >>>> ex:myClassB a rdfs:Class ; # directly triggers validation for all >>>> instances of ex:myClassB >>>> rdfs:subClassOf ex:myClassA. # inherits the constraints of >>>> ex:myClassA >>>> >>>> ex:myShExShapeA a sh:Shape . # works as a linked shape or starting >>>> node >>>> >>>> ex:myShExShapeB a sh:Shape ; # works as a linked shape or starting >>>> node >>>> rdfs:subClassOf ex:myShExShapeB . # inherits the constraints of >>>> ex:myShExShapeA >>>> >>>> === after inference === >>>> >>>> ex:myClassA a rdfs:Class, a sh:Shape . >>>> >>>> ex:myClassB a rdfs:Class, a sh:Shape ; >>>> rdfs:subClassOf ex:myClassA. >>>> >>>> ex:myShExShapeA a rdfs:Class, sh:Shape . # directly triggers >>>> validation for all instances of ex:myShExShapeA >>>> >>>> ex:myShExShapeB a rdfs:Class, sh:Shape ; # directly triggers >>>> validation for all instances of ex:myShExShapeB >>>> rdfs:subClassOf ex:myShExShapeB . >>>> >>>> since ex:myShExShapeA, ex:myShExShapeB are now an rdfs:Class will >>>> change behavior and will be treated as class shapes. >>>> This will trigger validation for all instances of ex:myShExShapeA & >>>> ex:myShExShapeB instead of the expected >>>> >>>> Again, this is based on how I understood your proposal so far. Maybe I >>>> missed a detail that could clear things up. >>>> >>>> Best, >>>> Dimitris >>>> >>>> On Tue, Apr 28, 2015 at 12:43 AM, Holger Knublauch >>>> <holger@topquadrant.com> wrote: >>>> >>>>> On 4/28/2015 8:41, Dimitris Kontokostas wrote: >>>>> >>>>>> Assuming the shapes reside along with the data graph (which is a >>>>>> possible scenario) and rdfs inference is applied on the graph, >>>>>> then the ShEx / stand-alone shape will become an rdfs:Class. >>>>>> In this case, a shape engine will mistaken the stand-alone shape >>>>>> to a class-shape right? >>>>>> Or am I missing a detail from your proposal? >>>>> >>>>> >>>>> Yes, a sh:Shape would then also be an instance of rdfs:Class. Why >>>>> would this be a problem? Any shape can also be a class (in this >>>>> design). >>>>> >>>>> Holger >>>> >>>> >>>> -- >>>> >>>> Dimitris Kontokostas >>>> Department of Computer Science, University of Leipzig & DBpedia >>>> Association >>>> Projects: http://dbpedia.org [1], http://http://aligned-project.eu [2] >>>> Homepage:http://aksw.org/DimitrisKontokostas [3] >>>> >>>> Research Group: http://aksw.org [4] >>>> >>>> >>>> >>>> Links: >>>> ------ >>>> [1] http://dbpedia.org >>>> [2] http://aligned-project.eu >>>> [3] http://aksw.org/DimitrisKontokostas >>>> [4] http://aksw.org >> >> >> >> >> -- >> Dimitris Kontokostas >> Department of Computer Science, University of Leipzig & DBpedia Association >> Projects: http://dbpedia.org, http://http://aligned-project.eu >> Homepage:http://aksw.org/DimitrisKontokostas >> Research Group: http://aksw.org >> >
Received on Wednesday, 29 April 2015 08:41:17 UTC