Re: shapes-ISSUE-112 (misuse of RDFS properties): SHACL uses RDFS properties in ways that violate their intended RDFS meaning [SHACL Spec]

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