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

two interesting test cases for SHACL

From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
Date: Sun, 13 Nov 2016 19:24:09 -0800
To: "public-rdf-shapes@w3.org" <public-rdf-shapes@w3.org>
Message-ID: <f49e44c1-d591-174f-f4c2-5adead31a504@gmail.com>
Here are two test cases that exhibit interesting situations, along with
their results according to the SHACL document as of 13 November.

Data Graph D:

ex:i1 rdf:type ex:c ;
 ex:p1 ex:i2 .

1/ property constraints and focus node constraints

Shapes Graph S1:

se:s1 rdf:type sh:Shape ;
  sh:targetClass ex:c ;
  sh:property [ sh:predicate ex:p2 ;
                sh:property se:s2 ] ;
  sh:shape se:s2 .
se:s2 sh:predicate ex:p1 ;
  sh:class ex:c .

Validating D against S1 produces the following validation report

[ rdf:type sh:ValidationResult ;
  sh:severity sh:Violation ;
  sh:focusNode ex:i1 ;
  sh:sourceConstraintComponent sh:ShapeConstraintComponent ;
  sh:sourceShape se:s1 ] .

It is actually a tiny bit unclear what makes a property constraint.  There
is wording that values of sh:property have sh:PropertyConstraint as expected
type, but there is no actual explicit connection between nodes with expected
type sh:PropertyConstraint.  However, se:s2 is definitely a property
constraint as it is the value of sh:property in a shape.


2/ finding shapes

Shapes Graph S2:

se:s1
  sh:not se:s2 .
se:s2
  sh:targetClass ex:c ;
  sh:class ex:d .
se:s3
  sh:targetClass ex:c ;
  sh:nodeKind sh:BlankNode .

Validating D against S2 produces the following validation report

[ rdf:type sh:ValidationResult ;
  sh:severity sh:Violation ;
  sh:focusNode ex:i1 ;
  sh:sourceConstraintComponent sh:ClassConstraintComponent ;
  sh:sourceShape se:s2 ] .


Peter F. Patel-Schneider
Nuance Communications
Received on Monday, 14 November 2016 03:24:44 UTC

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