Re: shapes-ISSUE-99 (special cases): special treatment of rdfs:Resource and rdf:List in sh:valueClass (and possibly elsewhere) [SHACL Spec]

Peter,

I somewhat agree since the special cases are like a partial form of
RDFS inferencing and we previously agreed not to require that.

However, from a practical point of view, real-world RDF data graphs
would be unlikely to contain explicit rdfs:Resource or rdf:List type
triples.

IMHO, it is fairly useless to say that a node has sh:valueClass
refs:Resource since every non-literal should match that. However, we
already included a concession to RDFS inferencing by using the
transitive closure of refs:subClassOf. It would be a small stretch to
also throw in rdfs:Resource.

The treatment of rdf:List is beyond the above concession and seems to
be the thin edge of a wedge. If we special case rdf:List, why stop
there? Why not include the whole of RDFS and maybe OWL too while we're
at it?

-- Arthur

-- 

On Fri, Oct 2, 2015 at 12:24 PM, RDF Data Shapes Working Group Issue
Tracker <sysbot+tracker@w3.org> wrote:
> shapes-ISSUE-99 (special cases): special treatment of rdfs:Resource and rdf:List in sh:valueClass (and possibly elsewhere) [SHACL Spec]
>
> http://www.w3.org/2014/data-shapes/track/issues/99
>
> Raised by: Peter Patel-Schneider
> On product: SHACL Spec
>
> The definition of sh:valueClass says:
>
> A validation result must be produced for each triple that has the focus node as its subject, the sh:predicate as its predicate and where the object is either a literal or a non-literal without a matching rdf:type. A non-literal matches a type if it has an rdf:type value that is the type or one of its (transitive) subclasses, via rdfs:subClassOf. If the value class is rdfs:Resource then all resources match, including untyped resources. Finally, if the value class is rdf:List then the object matches if it has an rdf:first triple. Each produced validation result must have the focus node as its sh:subject, the sh:predicate as its sh:predicate and the respective violating value as its sh:object.
>
> Both rdfs:Resource and rdf:List are special cases in this definition.  Special cases increase the effort required to implement SHACL, the effort to write SHACL shapes, and the effort to understand SHACL shapes.  The special cases here are not needed, as they can easily be replaced with equivalent versions.  The special case for rdf:List also leaves out rdf:null.
>
> These special cases should be removed from SHACL.
>
>
> Special cases elsewhere in SHACL should be examined and also removed if there is not an overriding reason for keeping them.
>
>
>

Received on Thursday, 22 October 2015 19:57:12 UTC