6. rules: minCount, maxCount, datatype
sh:property [
sh:path schema:name ; #1
sh:minCount 1; #2
sh:maxCount 1; #3
sh:datatype xsd:string ; #4
] ;
#1 The qualified name of the property
#2 minimum number of instance
#3 maximum number of instance
#4 data type (use XML schema’s definition)
7. rules: or, in
sh:property [
sh:path schema:gender ;
sh:minCount 1;
sh:maxCount 1;
sh:or ( # 1
[ sh:in ( # 2
schema:Male
schema:Female
)
]
[ sh:datatype xsd:string]
)
] ;
#1 the value should be either X or Y
#2 the value should be one of a set
of values
Meaning: schema:gender property
should be schema:Male,
schema:Female or a string
8. rules: IRI, class
sh:property [
sh:path schema:knows ;
sh:nodeKind sh:IRI ; #1
sh:class :User ; #2
]
#1 the value must be an IRI
#2 the value must be an instance of
User
Meaning: schema:knows property
must be a reference to another user
BlankNode, IRI, Literal,
BlankNodeOrIRI, BlankNodeOrLiteral, IRIOrLiteral
14. References
★ Shapes Constraint Language (SHACL) W3C Recommendation 20 July 2017
https://www.w3.org/TR/shacl/
★ Gayo—Prud’hommeaux—Solbrig—Boneva: SHACL by example
https://www.slideshare.net/jelabra/shacl-by-example
★ Gayo—Prud’hommeaux—Boneva—Kontokostas: Validating RDF Data.
(Morgan & Claypool, 2018) 328 p. /Synthesis Lectures on the Semantic Web:
Theory and Technology, Vol. 7, No. 1/) http://book.validatingrdf.com/