W3C home > Mailing lists > Public > public-rdf-shapes@w3.org > September 2016

Re: on literals as shapes

From: Karen Coyle <kcoyle@kcoyle.net>
Date: Wed, 28 Sep 2016 07:12:20 -0700
To: public-rdf-shapes@w3.org
Message-ID: <480ec482-8693-813d-788e-f981f55a50ad@kcoyle.net>

On 9/27/16 3:53 PM, Peter F. Patel-Schneider wrote:
> So this is legal SHACL then?  What happens if this shape is used in SHACL?

I don't believe that "legal SHACL" has been defined. There was a place 
in the document that referred to a "valid shapes graph" (which I was 
going to object to but it looks like it has been edited out) but it 
doesn't look to me that validation of the shapes graph itself is 
defined. The decision that no inferencing would be required [1] seems to 
imply that even the RDF domain and range declarations are not in play in 
terms of "legal SHACL", but most RDF applications that I am aware of use 
the vocabulary definitions as a basis of validation of graphs, and would 
do so for the SHACL graph. The relationship between the SHACL.ttl 
statements and the SHACL document should be addressed more specifically 
in the SHACL spec, such that SHACL.ttl would inform "legal SHACL", along 
with statements in the specification itself. Most importantly, the spec 
should not contradict anything in SHACL.ttl, and vice versa. If 
SHACL.ttl does not define the vocabulary of SHACL and its relationships, 
then ... well, that just can't be, can it? Then SHACL is not defined in 

[1]1.5 Relationship between SHACL and RDFS inferencing

SHACL uses the RDF and RDFS vocabularies, but full RDFS inferencing is 
not required. However, SHACL processors must identify SHACL instances of 
a class both in the data graph and the shapes graph without mutating 
either graph during the validation process. Furthermore, SHACL 
processors may operate on RDF graphs that include entailments - either 
pre-computed before being submitted to a SHACL processor or performed on 
the fly as part of SHACL processing. To support processing of 
entailments, SHACL includes the property sh:entailment to indicate what 
inferencing is required by a given shapes graph. SHACL implementations 
may, but are not required to, support entailment regimes.

[2]The idea that SHACL be defined in something other than RDF is not 
unthinkable - since RDF is the problem space here, it may not be the 
appropriate solution.

> Peter F. Patel-Schneider
> Nuance Communications
> On 09/27/2016 03:44 PM, Holger Knublauch wrote:
>> The rdfs:range of sh:shape is sh:Shape, and the "Value Type" is sh:Shape, too.
>> None of these enforce formal syntactic constraints. We could add a sh:nodeKind
>> restriction to sh:shape in the SHACL.ttl file, but haven't done so for other
>> properties either.
>> Holger
>> On 28/09/2016 4:01, Peter F. Patel-Schneider wrote:
>>> It appears to me that
>>> [prefix declarations]
>>> s:s1 rdf:type sh:Shape ;
>>>    sh:shape 7 .
>>> is a syntactically correct shapes graph.
>>> Is this so?  If not, what makes it not be so?
>>> Peter F. Patel-Schneider
>>> Nuance Communications

Karen Coyle
kcoyle@kcoyle.net http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet/+1-510-984-3600
Received on Wednesday, 28 September 2016 14:12:51 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:02:44 UTC