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 ]
sh:not
un noeud valeur ne se conforme pas à une shape
sh:not [ a sh:PropertyShape ; sh:path ex:unChemin ; … ]
sh:and
un noeud valeur se conforme à toutes les shapes
sh:and ( <sh:shape> <sh:shape> ... )</sh:shape></sh:shape>
sh:or
un noeud valeur se conforme à au moins une des shapes
sh:or ( <sh:shape> <sh:shape> ... )</sh:shape></sh:shape>
sh:xone
: un noeud valeur se conforme à exactement une seule des shapes
sh:xone ( <sh:shape> <sh:shape> ... )</sh:shape></sh:shape>
sh:node
chaque noeud valeur est conforme au NodeShape spécifié
[ sh:path ex:unChemin ; sh:node <sh:NodeShape> ]</sh:NodeShape>
sh:property
chaque noeud valeur est conforme à la
PropertyShape spécifiée
[ sh:path ex:unChemin ; sh:property <sh:PropertyShape> ]</sh:PropertyShape>
sh:qualifiedValueShape, sh:qualifiedMinCount,
sh:qualifiedMaxCount
un certain nombre de noeuds
valeurs doivent se conformer à une shape