Re: shapes-ISSUE-134 (knowing inverse): does SHACL syntax distinguish inverse property constraints [SHACL Spec]

Before this issue is closed, it should be possible to state what syntax errors
there are in the following document and what a SHACL engine should do when
encountering these errors, justifying each error and behaviour by pointing to
unambiguous  and well-defined sections of the SHACL document.  We are not
nearly at this point.

peter

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix ex: <http://ex.com/> .

ex:s1 a sh:Shape ;
 sh:property _:c1 ;
 sh:property _:c2 ;
 sh:property _:c3 ;
 sh:property _:c4 ;
 sh:property _:c5 ;
 sh:property _:c6 ;
 sh:property _:c7 ;
 sh:property _:c8 ;
 sh:property _:c9 ;
 sh:property _:c10 ;
 sh:property _:c11 .

ex:s2 a sh:Shape ;
 sh:inverseProperty _:c1 ;
 sh:inverseProperty _:c2 ;
 sh:inverseProperty _:c3 ;
 sh:inverseProperty _:c4 ;
 sh:inverseProperty _:c5 ;
 sh:inverseProperty _:c6 ;
 sh:inverseProperty _:c7 ;
 sh:inverseProperty _:c8 ;
 sh:inverseProperty _:c9 ;
 sh:inverseProperty _:c10 ;
 sh:inverseProperty _:c11 .

ex:s3 a sh:Shape ;
 sh:constraint _:c1 ;
 sh:constraint _:c2 ;
 sh:constraint _:c3 ;
 sh:constraint _:c4 ;
 sh:constraint _:c5 ;
 sh:constraint _:c6 ;
 sh:constraint _:c7 ;
 sh:constraint _:c8 ;
 sh:constraint _:c9 ;
 sh:constraint _:c10 ;
 sh:constraint _:c11 .

_:c1 sh:predicate ex:p ;
     sh:nodeKind sh:IRI .

_:c2 a sh:PropertyConstraint ;
     sh:predicate ex:q ;
     sh:nodeKind sh:IRI .

_:c3 a sh:InversePropertyConstraint ;
     sh:predicate ex:r ;
     sh:nodeKind sh:IRI .

_:c4 a sh:NodeConstraint ;
     sh:predicate ex:s ;
     sh:nodeKind sh:IRI .

_:c5 a sh:Constraint ;
     sh:predicate ex:s ;
     sh:nodeKind sh:IRI .

_:c6 a rdfs:Resource ;
     sh:predicate ex:st ;
     sh:nodeKind sh:IRI .

_:c7 a sh:Constraint ;
     sh:sparql "SELECT...." .

ex:LanguageConstraint a sh:ConstraintTemplate ;
     rdfs:subClassOf sh:TemplateConstraint ;
     sh:argument [ sh:predicate sh:predicate ; ] ;
     sh:argument [ sh:predicate ex:lang ; ] ;
     sh:sparql "SELECT ..." .

_:c8 a ex:LanguageConstraint ;
     sh:predicate ex:englishLabel ;
     ex:lang "en" .

ex:LanguagePropertyConstraint a sh:ConstraintTemplate ;
     rdfs:subClassOf sh:PropertyConstraint ;
     sh:argument [ sh:predicate sh:predicate ; ] ;
     sh:argument [ sh:predicate ex:lang ; ] ;
     sh:sparql "SELECT ..." .

_:c9 a ex:LanguagePropertyConstraint ;
     sh:predicate ex:englishLabel ;
     ex:lang "en" .

ex:LanguageInversePropertyConstraint a sh:ConstraintTemplate ;
     rdfs:subClassOf sh:InversePropertyConstraint ;
     sh:argument [ sh:predicate ex:lang ; ] ;
     sh:sparql "SELECT ..." .

_:c10 a ex:LanguageInversePropertyConstraint ;
     sh:predicate ex:englishLabel ;
     ex:lang "en" .

ex:myConstraint rdfs:subClassOf sh:PropertyConstraint .

_:c11 a ex:myConstraint ;
     sh:predicate ex:q ;
     sh:nodeKind sh:IRI .

Received on Wednesday, 6 April 2016 19:39:55 UTC