Types de contraintes Flashcards
Types de contraintes de base (noyau SHACL) :
Répartis en 8 catégories : typage, cardinalité, intervalle,
chaîne, propriété, logique, forme et divers
Pour chaque type de contrainte, des prédicats obligatoires et
d’autres optionnels (= paramètres)
sh:class
les noeuds atteignables par sh:path sont de la classe spécifiée par sh:class
[ sh:path ex:unChemin ; sh:class ex:uneClasse ]
sh:datatype
les noeuds valeurs satisfont le type de données spécifié par sh:datatype (e.g., xsd:integer, xsd:string)
[ sh:path ex:unChemin ; sh:datatype ex:unType ]
sh:nodeKind
les noeuds valeurs doivent être d’une sorte de noeud RDF (e.g., sh:IRI, sh:Literal)
[ sh:path ex:unChemin ; sh:nodeKind ex:uneSorteDeNoeud ]
sh:minCount
nombre minimum de noeuds valeurs reliés au noeud courant par le prédicat spécifié par sh:path
[ sh:path ex:unChemin ; sh:minCount <xsd:integer> ]</xsd:integer>
sh:maxCount
nombre maximum de noeuds valeurs reliés au noeud courant par le prédicat spécifié par sh:path
[ sh:path ex:unChemin ; sh:maxCount <xsd:integer> ]</xsd:integer>
sh:minInclusive, sh:minExclusive :
valeur minimale de
l’intervalle (incluse ou non)
sh:maxInclusive, sh:maxExclusive
valeur maximale de
l’intervalle (incluse ou non)
sh:minLength, sh:maxLength
longueurs minimale et maximale des chaînes pour les noeuds valeurs
[ sh:path ex:unChemin ; sh:minLength <xsd:integer> ]</xsd:integer>
sh:pattern
expression régulière que chaque noeud valeur doit satisfaire (prédicat optionnel sh:flags)
[ sh:path ex:unChemin ; sh:pattern <xsd:string> ]</xsd:string>
sh:languageIn
langue du noeud valeur parmi celles listées
[ sh:path ex:unChemin ; sh:languageIn ( <xsd:string> ... ) ]</xsd:string>
sh:uniqueLang
aucune paire de noeuds valeurs ne peut
utiliser la même langue
[ sh:path ex:unChemin ; sh:uniqueLang true ]
sh:equals
: les valeurs du noeud valeur et du noeud spécifié par sh:equals doivent être égales
[ sh:path ex:unChemin ; sh:equals ex:unPrédicat ]
sh:disjoint
les valeurs du noeud valeur et du noeud
spécifié par sh:disjoint doivent être différentes
[ sh:path ex:unChemin ; sh:disjoint ex:unPrédicat ]
sh:lessThan, sh:lessThanOrEquals
la valeur du noeud valeur doit être inférieure (ou égale) à celle du noeud spécifié par sh:lessThan
[ sh:path ex:unChemin ; sh:lessThan ex:unPrédicat ]