- From: Holger Knublauch <holger@topquadrant.com>
- Date: Tue, 10 Nov 2015 08:49:30 +1000
- To: public-data-shapes-wg@w3.org
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. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> >> >> >
Received on Monday, 9 November 2015 22:50:05 UTC