- From: Karen Coyle <kcoyle@kcoyle.net>
- Date: Mon, 9 Nov 2015 18:54:03 -0800
- To: public-data-shapes-wg@w3.org
Holger, in the case of a more complex example, such as Ex. 11: ex:StandAlonePropertyConstraintExampleShape a sh:Shape ; sh:property ex:StandAloneConstraint . ex:StandAloneConstraint a sh:PropertyConstraint ; sh:predicate ex:someProperty ; sh:defaultValue ex:SomeInstance ; sh:minCount 1 ; sh:valueClass ex:SomeClass . What does it mean to include a label in ... ex:StandAlonePropertyConstraintExampleShape a sh:Shape ; sh:property ex:StandAloneConstraint ; rdfs:label "something something " . ...and if you have ... ex:StandAloneConstraint a sh:PropertyConstraint ; sh:predicate ex:someProperty ; sh:defaultValue ex:SomeInstance ; sh:minCount 1 ; sh:valueClass ex:SomeClass ; rdfs:label "label label label" . ... does it label ex:someProperty? ex:SomeClass? or ex:StandAloneConstraint? Note that we require the ability to add human readable labels and comments to a shapes in general. rdfs:label and rdfs:comment were cited as the solutions to requirement R4, which requires human-readable documentation that is associated with SHACL instances.[1] kc [1] https://docs.google.com/document/d/1whx2DeJtng-WZXo2DAHc_GZL7ElXNS_B8fBxarGA-0o On 11/9/15 2:49 PM, Holger Knublauch wrote: > Karen, > > if we look at > > ex:MyShape > a sh:Shape ; > sh:property [ > sh:predicate ex:firstName ; > sh:maxCount 1 ; > rdfs:label "first name" ; > ] . > > The maxCount does not generally apply to the property ex:firstName, but > to the *use of ex:firstName in the context of ex:MyShape*. That's the > same situation with the label. SHACL doesn't talk about the (global) > label of ex:firstName, but only about the local label. The blank node is > about the use of the property in the shape, so there is nothing wrong > with reusing rdfs:label here. > > Holger > > > On 11/10/15 12:18 AM, Karen Coyle wrote: >> Well, yes, I think that Peter has pointed out an issue -- that >> rdfs:label in this: >> >> >>>>> ex:InlinePropertyConstraintExampleShape >> >>>>> a sh:Shape ; >> >>>>> sh:property [ >> >>>>> sh:predicate ex:someProperty ; >> >>>>> sh:minCount 1 ; >> >>>>> sh:valueClass ex:SomeClass ; >> >>>>> rdfs:label "some property" ; >> >>>>> rdfs:comment "This is used for some purpose" ; >> >>>>> ] . >> >> refers to the blank node, not the ex:someProperty. So it isn't clear >> to me how any system that adheres to rdfs would display that as the >> label for the property. This is particularly puzzling because there >> has been much talk of combining SHACL and instance data, which quite >> possible makes use of rdfs:label as defined in rdfs. >> >> rdfs:label is a label for the subject of the triple. >> >> rdfs:comment is shown in Example 10 as: >> >> "rdfs:comment "Description of the role of ex:someProperty (in the >> context of the constraint)" ;" >> >> It looks to me that rdfs:comment could be used as a comment on the >> property constraint represented by the blank node, but again there is >> nothing in rdfs that connects it to the value ex:someProperty. So in a >> case where SHACL and instance data are in the same graph, how is it >> possible that rdfs:label and rdfs:comment will have such different >> meanings? RDF aside, that's something that I would assume would be >> discouraged in any programming language. >> >> kc >> >> >> >> On 11/8/15 4:40 PM, Holger Knublauch wrote: >>> I had seen similar comments in the Twittersphere recently. I believe the >>> wording of section 1.1 is unnecessarily dramatic. I had meanwhile tried >>> to soften it up a bit, but it could need more work (I welcome >>> suggestions). >>> >>> http://w3c.github.io/data-shapes/shacl/#shacl-rdfs >>> >>> The main rationale was to allow SHACL to be used without requiring full >>> RDFS inferencing. But I believe there is no harm in running SHACL over a >>> system with RDFS activated. Does anyone see conditions where applying >>> the RDFS semantics would cause measurable problems (leaving aside the >>> usual philosophical questions about the distinction between a >>> representation and the real-world entity that the rdfs:label discussion >>> seems to refer to)? >>> >>> Holger >>> >>> >>> On 11/9/2015 10:14, Karen Coyle wrote: >>>> Well, these seems like a non-starter to me, and I don't understand why >>>> there isn't more concern. There is no way to prevent applications from >>>> applying RDFS semantics to the RDFS properties in SHACL. The statement >>>> in the introduction to SHACL that says ... >>>> >>>> "SHACL uses RDF and RDFS vocabulary (in particular rdf:type, >>>> rdfs:Class, rdfs:subClassOf, rdfs:label, rdfs:comment, rdf:Property, >>>> rdf:List, rdf:langLiteral, and rdfs:Resource) and notions (notably >>>> classes, instances, and subclasses). However, SHACL does not use this >>>> vocabulary or these notions in the way that they are defined in RDF >>>> and RDFS [rdf11-mt]." has always struck me as a huge red flag. >>>> >>>> kc >>>> >>>> On 11/6/15 8:24 PM, Peter F. Patel-Schneider wrote: >>>>> It would be ex:someProperty, not the [...] that is the value of >>>>> sh:property. >>>>> >>>>> In RDFS, rdfs:label and rdfs:comment are supposed to be about the >>>>> [...]. The >>>>> current non-conforming SHACL use is for ex:Property in the context of >>>>> ex:InLinePropertyConstraintExampleShape. >>>>> >>>>> Note that in RDF there is no problem in having properties also be >>>>> nodes in the >>>>> graph. In RDFS properties are generally nodes in the graph so that >>>>> they can be >>>>> given domains and ranges, etc. >>>>> >>>>> peter >>>>> >>>>> On 11/06/2015 11:39 AM, Karen Coyle wrote: >>>>>> Does "for the property in the scope where it appears" refer to >>>>>> sh:property or >>>>>> ex:someProperty in the example? It cannot be ex:someProperty because >>>>>> that >>>>>> isn't a rdf:Resource in the graph -- it's never a subject of a >>>>>> triple. All of >>>>>> the predicates in the sh:property [...] graph have sh:property as >>>>>> their subject. >>>>>> >>>>>> Now I'm fully confused about the whole sh:property graph and what the >>>>>> predicates in the graph mean. I should probably take a walk and >>>>>> think about it >>>>>> later. >>>>>> >>>>>> kc >>>>>> >>>>>> On 11/6/15 9:40 AM, Peter F. Patel-Schneider wrote: >>>>>>> rdfs:label and rdfs:comment are supposed to be about the resource >>>>>>> itself, >>>>>>> which for SHACL is a constraint or shape. However, the wording in >>>>>>> SHACL says >>>>>>> to make them about the property, which is different from the >>>>>>> constraint or >>>>>>> shape. >>>>>>> >>>>>>> For example, the SHACL example is >>>>>>> >>>>>>> ex:InlinePropertyConstraintExampleShape >>>>>>> a sh:Shape ; >>>>>>> sh:property [ >>>>>>> sh:predicate ex:someProperty ; >>>>>>> sh:minCount 1 ; >>>>>>> sh:valueClass ex:SomeClass ; >>>>>>> rdfs:label "some property" ; >>>>>>> rdfs:comment "This is used for some purpose" ; >>>>>>> ] . >>>>>>> >>>>>>> where as it really should be >>>>>>> >>>>>>> ex:InlinePropertyConstraintExampleShape >>>>>>> a sh:Shape ; >>>>>>> sh:property [ >>>>>>> sh:predicate ex:someProperty ; >>>>>>> sh:minCount 1 ; >>>>>>> sh:valueClass ex:SomeClass ; >>>>>>> rdfs:label "ex:someProperty constraint in >>>>>>> ex:InlinePropertyConstraintExampleShape" ; >>>>>>> rdfs:comment "This constrains values of ex:someProperty to >>>>>>> belong to >>>>>>> ex:someClass" ; >>>>>>> ] . >>>>>>> >>>>>>> peter >>>>>>> >>>>>>> >>>>>>> On 11/06/2015 07:40 AM, Karen Coyle wrote: >>>>>>>> Peter, this is a bit overly subtle for me. Can you say what >>>>>>>> exactly you see as >>>>>>>> violating RDFS? I'll tell you what I see and you can tell me how >>>>>>>> I'm wrong ;-) >>>>>>>> - when a property is itself a resource (X rdfs:label Y) then this >>>>>>>> has the RDFS >>>>>>>> meaning. What I see is that the resource that is named with >>>>>>>> rdfs:label in the >>>>>>>> case of SHACL is the blank node. >>>>>>>> >>>>>>>> Now, what's the real problem? I assume it's not just wording. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> kc >>>>>>>> >>>>>>>> On 11/5/15 3:57 PM, Holger Knublauch wrote: >>>>>>>>> I had long thought about using new properties such as sh:label and >>>>>>>>> sh:definition instead. I decided to prefer rdfs:label and >>>>>>>>> rdfs:comment, >>>>>>>>> because these properties are most likely already used as >>>>>>>>> annotations on >>>>>>>>> the shapes, classes and other resources in SHACL files. People >>>>>>>>> will get >>>>>>>>> confused which property to use in which context, adding just >>>>>>>>> another >>>>>>>>> unnecessary complication in the learning curve. >>>>>>>>> >>>>>>>>> Since a property constraint resource describes the use of a >>>>>>>>> property in >>>>>>>>> the context of a shape scope, I see no reason why using >>>>>>>>> rdfs:label would >>>>>>>>> violate the official spec. >>>>>>>>> >>>>>>>>> PROPOSAL: Close ISSUE-112 - no change required. >>>>>>>>> >>>>>>>>> Holger >>>>>>>>> >>>>>>>>> >>>>>>>>> On 11/6/2015 7:55, RDF Data Shapes Working Group Issue Tracker >>>>>>>>> wrote: >>>>>>>>>> shapes-ISSUE-112 (misuse of RDFS properties): SHACL uses RDFS >>>>>>>>>> properties in ways that violate their intended RDFS meaning >>>>>>>>>> [SHACL Spec] >>>>>>>>>> >>>>>>>>>> http://www.w3.org/2014/data-shapes/track/issues/112 >>>>>>>>>> >>>>>>>>>> Raised by: Peter Patel-Schneider >>>>>>>>>> On product: SHACL Spec >>>>>>>>>> >>>>>>>>>> >From http://w3c.github.io/data-shapes/shacl/: >>>>>>>>>> >>>>>>>>>> Property constraints may have an rdfs:label to provide a >>>>>>>>>> human-readable label for the property in the scope where it >>>>>>>>>> appears. >>>>>>>>>> >>>>>>>>>> >From http://www.w3.org/TR/rdf-schema/ >>>>>>>>>> >>>>>>>>>> rdfs:label is an instance of rdf:Property that may be used to >>>>>>>>>> provide >>>>>>>>>> a human-readable version of a resource's name. A triple of the >>>>>>>>>> form: >>>>>>>>>> R rdfs:label L . states that L is a human readable label for R. >>>>>>>>>> >>>>>>>>>> The SHACL use does not abide by the RDFS meaning. SHACL should >>>>>>>>>> not >>>>>>>>>> use RDFS properties in ways that violate their RDFS meaning. >>>>>>>>>> >>>>>>>>>> Similarly for rdfs:comment. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> PROPOSAL: Remove the non-conforming wording for and uses of >>>>>>>>>> rdfs:label and rdfs:commment. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >>> >>> >> > > > -- Karen Coyle kcoyle@kcoyle.net http://kcoyle.net m: 1-510-435-8234 skype: kcoylenet/+1-510-984-3600
Received on Tuesday, 10 November 2015 02:54:35 UTC