Re: ISSUE-87: Turtle file - SHACL vs RDFS vs OWL, or all?

Holger, I think the question is a different one -- it's not whether we 
use RDFS or OWL, but what we want to express, and who the audience is.

The turtle file that we have today implements SHACL as a validation 
language. I would like to see a file that serves creators of SHACL 
documents. We do have these two "halves" of SHACL -- the description of 
desired validation, and the validation itself. While the two can be 
combined in a single software implementation, they shouldn't HAVE to be 
combined. I think of this as something like the difference between HTML 
as a language and the rendering that takes place in browsers. The person 
creating the HTML document has a different view from the software 
rendering the document.

A vocabulary for SHACL document creation would not need any abstract 
classes. I don't know enough about templates to know how such a 
vocabulary could address named templates, so perhaps it is best that we 
focus first only on the defined core. Whether RDFS is sufficient or 
whether OWL functionality is needed will come out as the vocabulary is 
developed. It looks to me like most of the properties are fairly simple, 
and ranges are defined in the SHACL document.

In a sense, this becomes a test of the core vocabulary - whether it can 
be expressed as a standard vocabulary, and if not, is that a bug or a 
feature of SHACL?

kc



On 10/29/15 11:01 PM, Holger Knublauch wrote:
> Today we discussed how to proceed with the Turtle file and the data
> model describing the SHACL vocabulary itself. Some people argued that we
> should use RDFS, others suggested OWL, others would like to apply SHACL
> to itself.
>
> I can certainly see use cases for all these options, and believe it
> would be quite doable to publish all these formats.
>
> Let's look at an example (in Turtle):
>
> SHACL ------------------
>
> sh:AbstractResult
>      a sh:ShapeClass ;
>      rdfs:subClassOf rdfs:Resource ;
>      rdfs:label "Abstract Result" ;
>      rdfs:comment "Instances of subclasses of this class can be
> constructed during constraint validation." ;
>      sh:abstract true ;
>      sh:property [
>          sh:predicate sh:subject ;
>          sh:class rdfs:Resource ;
>          sh:maxCount 1 ;
>          rdfs:label "subject" ;
>          rdfs:comment "The subject of triples involved in this result." ;
>      ] ;
>      ... many more sh:properties
>
> OWL -------------------
>
> sh:AbstractResult
>      a owl:Class ;
>      rdfs:subClassOf rdfs:Resource ;
>      rdfs:label "Abstract Result" ;
>      rdfs:comment "Instances of subclasses of this class can be
> constructed during constraint validation." ;
>      rdfs:subClassOf [
>          a owl:Restriction ;
>          owl:onProperty sh:subject ;
>          owl:allowedValues rdfs:Resource ;
>      ] ;
>      rdfs:subClassOf [
>          a owl:Restriction ;
>          owl:onProperty sh:subject ;
>          owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
>      ] ;
>      ...
>
> sh:subject
>      a owl:ObjectProperty ;
>      rdfs:label "subject" ;
>      rdfs:comment "The subject of triples involved in this result." .
>
>
> I would argue that the OWL can be automatically generated from the SHACL
> file. A pure RDFS file would be very poor in terms of contents -
> basically just a collection of named resources with comments, ranges and
> domains. But if it helps some people, why not...
>
> Those who argue for an OWL or RDFS version should suggest how it would
> look like, e.g. how the constraint types are defined.
>
> Holger
>
>
>

-- 
Karen Coyle
kcoyle@kcoyle.net http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet/+1-510-984-3600

Received on Saturday, 31 October 2015 14:47:09 UTC