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

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 00:41:12 UTC