- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Fri, 11 Mar 2016 14:54:34 -0800
- To: Irene Polikoff <irene@topquadrant.com>, kcoyle@kcoyle.net, public-data-shapes-wg@w3.org
We are now back to """2.2 rdfs:Class This is the class of resources that are RDF classes. rdfs:Class is an instance of rdfs:Class.""" rdfs:Class is an RDFS instance of rdfs:Class. rdfs:Class is not a SHACL instance of rdfs:Class. peter On 03/11/2016 02:35 PM, Irene Polikoff wrote: > I still don’t know what you mean. > > You believe that SHACL notion of instance is different from RDFS notion of > instance and, thus, the sentence "This can be read to mean "RDFS instance" > or "SHACL instance” has some meaning to you. I don’t know why and how they > are different and I am not sure anyone else in the working group does, so > this sentence has no meaning to me. > > > I might understand better if you explained what input is provided to SHACL > engine in the first case (no validation error) and in the second case > (validation error). > > Irene > > > > On 3/11/16, 5:22 PM, "Peter F. Patel-Schneider" <pfpschneider@gmail.com> > wrote: > >> The definition of SHACL depends on "instannce". This can be read to mean >> "RDFS instance" or "SHACL instance". Under the former meaning the data >> graph >> does not validate against the shape. Under the latter meaning the data >> graph >> does validate against the shape. >> >> peter >> >> >> On 03/11/2016 02:15 PM, Irene Polikoff wrote: >>> I don¹t understand what you mean by >>> >>> "validates against this shape under SHACL instance but not under RDFS >>> instance.² >>> >>> I am not able to parse the sentence. >>> >>> What are you doing? Taking a shape described and the graph described and >>> running it against SHACL engine? What execution validates and what >>> execution doesn¹t validate? >>> >>> >>> >>> Irene >>> >>> >>> >>> On 3/11/16, 5:03 PM, "Peter F. Patel-Schneider" <pfpschneider@gmail.com> >>> wrote: >>> >>>> On 03/11/2016 01:01 PM, Karen Coyle wrote: >>>>> >>>>> >>>>> On 3/11/16 11:43 AM, Peter F. Patel-Schneider wrote: >>>>>> Consider the following shape (using obvious prefix declarations) >>>>>> >>>>>> sh:propertyShape a sh:Shape ; >>>>>> sh:scopeClass rdf:Property ; >>>>>> sh:property [ sh:predicate rdfs:label ; >>>>>> sh:minCount 1 ] . >>>>>> >>>>>> The data graph (using obvious prefix declarations) >>>>>> >>>>>> rdfs:range ex:label "range" . >>>>>> >>>>>> validates against this shape under SHACL instance but not under RDFS >>>>>> instance. >>>>> >>>>> Isn't this a problem with every vocabulary and not just RDFS? If the >>>>> rules of >>>>> the vocabulary (such as domain and range) are not encoded as such in >>>>> SHACL >>>>> then the SHACL result can be "in violation" of the vocabulary >>>>> definition. >>>>> >>>>> Now, if that is the case then I understand that violating the >>>>> foundation >>>>> vocabulary of RDF/RDFS may be more grave than violating a >>>>> user-developed >>>>> vocabulary, and in some cases doing the latter may indeed be the >>>>> intention of >>>>> the SHACL definition. So do we want to build into SHACL that it must >>>>> follow >>>>> RDF/RDFS property and class definitions? And how feasible is that? >>>>> >>>>> kc >>>>> >>>> >>>> This is only a real problem because SHACL uses "instance" in its >>>> specification, this term is also used centrally in RDFS, and SHACL uses >>>> RDFS >>>> vocabulary. >>>> >>>> The question then is how to read "instance" in SHACL documentation, >>>> i.e., >>>> how >>>> to prevent readers of the SHACL documentation from seeing "RDFS >>>> instance" >>>> where "SHACL instance" is meant. >>>> >>>> >>>> peter >>>> >>> >>> > >
Received on Saturday, 12 March 2016 00:36:00 UTC