W3C home > Mailing lists > Public > public-data-shapes-wg@w3.org > May 2016

Re: ISSUE-133 syntax simplifications & regularizations

From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
Date: Tue, 10 May 2016 17:19:18 -0700
To: Holger Knublauch <holger@topquadrant.com>, public-data-shapes-wg@w3.org
Message-ID: <ed870eef-97e2-05c3-74c1-27eb436da106@gmail.com>


On 05/10/2016 04:44 PM, Holger Knublauch wrote:
> 
> 
> On 11/05/2016 9:38, Peter F. Patel-Schneider wrote:
>>
>> On 05/10/2016 04:24 PM, Holger Knublauch wrote:
>>> On 11/05/2016 9:22, Peter F. Patel-Schneider wrote:
>>>> On 05/10/2016 03:58 PM, Holger Knublauch wrote:
>>>>> On 11/05/2016 6:51, Peter F. Patel-Schneider wrote:
>>>>>> On 05/10/2016 01:16 PM, Dimitris Kontokostas wrote:
>>>>>>> On Tue, May 10, 2016 at 6:55 PM, Peter F. Patel-Schneider
>>>>>>> <pfpschneider@gmail.com <mailto:pfpschneider@gmail.com>> wrote:
>>>>>>>        Does the following RDF graph contain a syntactically-valid SHACL
>>>>>>> shape?  If
>>>>>>>        not, why not?
>>>>>>>
>>>>>>>        @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
>>>>>>>        @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
>>>>>>>        @prefix sh: <http://www.w3.org/ns/shacl#> .
>>>>>>>        @prefix ex: <http://example.com/ns#> .
>>>>>>>
>>>>>>>        ex:NodeConstraint rdfs:subClassOf sh:NodeConstraint .
>>>>>>>        ex:subClassOf rdfs:subPropertyOf rdfs:subClassOf .
>>>>>>>        ex:PropertyConstraint ex:subClassOf sh:PropertyConstraint .
>>>>>>>
>>>>>>>        ex:s2 a sh:Shape ;
>>>>>>>         sh:scopeClass ex:Foo ;
>>>>>>>         sh:node [ a ex:NodeConstraint ;
>>>>>>>                   sh:nodeKind sh:IRI ] ;
>>>>>>>         sh:property [ a ex:PropertyConstraint ;
>>>>>>>                       sh:predicate ex:p ;
>>>>>>>                       sh:class ex:Bar ] .
>>>>>>>
>>>>>>>
>>>>>>> I think this shapes graph is valid as well but other may correct me if I
>>>> am
>>>>>>> wrong but let me explain why first
>>>>>>>     - I believe  we still need to say that (sh:NodeConstraint,
>>>>>>> sh:PropertyConstraint, sh:InversePropertyConstraint,
>>>> sh:SparqlConstraint) are
>>>>>>> pairwise disjoint.
>>>>>>>     - As long as the above rule is not violated we are fine
>>>>>>>     - we do not say that values of sh:node / sh:property must not be
>>>>>>> instances of
>>>>>>> other classes only that they must be instances of sh:NodeConstraint /
>>>>>>> sh:PropertyConstraint, so a shacl engine can assign the proper types
>>>> even
>>>>>>> without any inferencing at all
>>>>>> But determining that the object of sh:property above is an instance of
>>>>>> sh:PropertyConstraint *is* inferencing!
>>>>>>
>>>>>>> if on the other hand you stated
>>>>>>> ex:PropertyConstraint ex:subClassOf sh:InversePropertyConstraint .
>>>>>>> this would be problematic but I think we should avoid such (edge) cases
>>>>>> Without inferencing how could this problem be detected?
>>>>> I think all of these issues are rather minor problems that can be written
>>>> up.
>>>>> The concept of default value types was providing one solution, and if you
>>>>> prefer to call this an "inference" I don't care as long as we remain sure
>>>> that
>>>>> this doesn't mean the same as "RDF inferencing". Maybe we should come up
>>>> with
>>>>> a different term to avoid confusion, such as "type derivation" or even
>>>> "SHACL
>>>>> instance classification".
>>>>>
>>>>> Holger
>>>> SHACL is already inferrring subclass relationships from the transitive
>>>> closure of rdfs:subClassOf and typing from subclass relationships and
>>>> rdf:type triples.  This is RDFS inferencing, and it includes RDF
>>>> inferencing.  Calling it "type derivation" or "SHACL instance
>>>> classification" doesn't make it something else.
>>> Yes it's a subset of RDFS inferencing, but does not include things like
>>> rdfs:domain and rdfs:range. In other places you complained that we are using
>>> terms like "instance" and "subclass" although they only mean a subset of what
>>> they mean in RDFS. Why should we treat the term "inferencing" any different?
>>>
>>> Holger
>> What is bad about RDFS domain and range inferencing?  Why shouldn't SHACL do
>> it?  It's not that SHACL doesn't do inferencing already.  It's not that SHACL
>> doesn't do RDFS inferencing already.  It's not that RDFS domain and range
>> inferencing is hard.
> 
> I thought we had closed that topic long ago. I don't want to reopen it.
> 
> Holger

Did we?  Do you mean ISSUE-1?  That was indeed closed a long time ago.

Since then some inferencing has been added to SHACL, notably for
sh:defaultValueType.  If this sort of inferencing (which is, notably, related
to RDFS inferencing) can be added after the resolution of ISSUE-1 then why
can't other RDFS-related inferencing?

peter
Received on Wednesday, 11 May 2016 01:19:55 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:30:33 UTC