Aide:Portail des contraintes de propriété
Les contraintes de propriété sont des règles sur les propriétés qui spécifient comment les propriétés doivent être utilisées. Le modèle Wikidata lui-même est très flexible : rien ne vous empêche d’ajouter Universe (Q1) comme head of government (P6). Cependant, une contrainte sur la propriété peut vous dire qu’un head of government (P6) est généralement un être humain.
Les contraintes sont des astuces, non des restrictions fermes et sont conçues comme une aide ou des conseils pour l'éditeur. Ils peuvent avoir des exceptions : par exemple, la ville de Talkeetna (Q668224) a pour maire honoraire le chat Stubbs (Q7627362).
Certains types de contraintes, actuellement one-of constraint et allowed qualifiers constraint, sont également utilisés pour fournir de meilleures suggestions lors de l’édition des déclarations.
Note : Techniquement, une propriété contrainte est une déclaration (sur une propriété) d'un type de contrainte particulier, spécifié via property constraint (P2302). Ainsi, à proprement parler, contrainte et type de contrainte se réfèrent à deux choses différentes. Par souci de concision, cette page se réfère parfois aux types de contrainte simplement en tant que contraintes.
Types de contraintes populaires
Contraintes indépendantes du type de données
Contraintes pour restreindre l'endroit où une propriété peut être ajoutée
- property scope constraint
- Cette propriété ne s’utilise que dans certains contextes (en tant que propriété principale d’une déclaration, en tant que référence ou en tant que qualificatif).
- allowed-entity-types constraint
- Cette propriété ne doit être utilisée que sur certains types d'entités. Exemple: Wikidata property example (P1855) (propriétés).
- subject type constraint
- Les éléments qui sont sujets d’une déclaration de cette propriété doivent être d’un certain type. Par exemple : les éléments avec une déclaration date of birth (P569) devraient être de type human (Q5) ou animal (Q729).
- conflicts-with constraint
- Les éléments avec cette propriété ne doivent pas avoir certaines autres propriétés ou déclarations. Exemples: sex or gender (P21) est en conflit avec author (P50), qui à son tour est en conflit avec instance of (P31)human (Q5).
- item-requires-statement constraint
- Les élements qui utilisent cette propriété doivent aussi avoir certaines autres déclarations. Par exemples, les éléments avec une déclaration killed by (P157) doivent avoir des déclarations place of death (P20), date of death (P570) et manner of death (P1196)homicide (Q149086).
- contemporary constraint
- Les éléments avec cette propriété et les valeurs pour cette propriété doivent coexister à un moment donné. Exemples : mother (P25), country of citizenship (P27).
- label in language constraint
- Les éléments qui utilisent cette propriété doivent éalement avoir une étiquette dans une langue donnée. Par exemple, les éléments avec Vietnamese middle name (P8500) doivent avoir une étiquette 'vietnamien'.
- description in language constraint
- Les élements qui utilisent ce propriété devrait avoir une description dans une certaine langue.
- lexeme requires language constraint
- Cette propriété doit être utilisée avec les lexèmes pour une langue donnée. Par exemple, Gran Enciclopèdia Catalana ID (former scheme) (P1296) doit être utilisé avec les lexèmes Catalan (Q7026).
- lexeme requires lexical category constraint
- …
- lexeme-value-requires-lexical-category constraint
- …
Contraintes concernant le nombre de valeurs
- single-value constraint
- Les éléments ne doivent jamais avoir plus d’une déclaration de cette propriété. Utilisé souvent avec les identifiants, mais aussi pour bien d’autres propriétés : par exemple, les personnes n'ont en général qu'un place of birth (P19) et un place of death (P20).
- single-best-value constraint
- Les éléments doivent n’avoir qu’une unique déclaration de rang principal (la "meilleure" déclaration) pour cette propriété. Souvent utilisé pour les propriétés qui évoluent dans le temps : par exemple, les villes et pays n’ont qu’un seul head of government (P6) actuel.
- multi-value constraint
- Les éléments doivent avoir plusieurs (ou aucune) déclaration(s) avec cette propriété. Rarement utilisée, mais les exemples incluent cast member (P161), has tense (P3103) et has grammatical mood (P3161).
- distinct-values constraint
- aussi décrit par valeur unique et valeur distincte. Aucun élément ne doit avoir la même valeur pour cette propriété ; la valeur de chaque élément doit être unique pour toutes les déclarations de cette propriété dans l'ensemble de Wikidata. Presque toutes les propriétés d'identifiant ont cette contrainte, puisqu'un identifiant (ISBN, freebase ID, ...) doit identifier une entité de manière unique. D'autres exemples incluent flag (P163) et anthem (P85).
Traduit avec www.DeepL.com/Translator (version gratuite)
Contraintes concernant les qualificatifs
- allowed qualifiers constraint
- Les déclarations pour cette propriété ne doivent pas avoir d’autres qualificatifs que ceux listés. Exemples: pour continent (P30) les qualificatifs start time (P580) et end time (P582), pour Freebase ID (P646) aucun qualificatif.
- required qualifier constraint
- Les déclarations de cette propriété doivent avoir tous les qualificatifs listés. Exemple : une déclaration stock exchange (P414) doit être qualifiée avec ticker symbol (P249) et start time (P580).
Contraintes concernant les références
- citation-needed constraint
- Les instructions pour cette propriété doivent avoir au moins une référence. Exemple : propriétés susceptibles d'être contestées.
Contraintes spécifiques au type de données
Contraintes pour le type de données item/entity (élément/entité)
- value-type constraint
- Les valeurs des déclarations de cette propriété doivent être d'un type donné. Exemple : mother (P25) doit être instance of (P31) ou human (Q5) ou animal (Q729).
- one-of constraint
- Les valeurs des déclarations de cette propriété doivent être choisies dans un ensemble d’élément donné. Exemple : une déclaration driving side (P1622) doit avoir pour valeur soit left (Q13196750) soit right (Q14565199).
- none-of constraint
- Les valeurs de cette propriété ne doivent pas venir d'un ensemble donné d'éléments. Exemple : instance of (P31) ne doit pas être woman (Q467).
- value-requires-statement constraint
- aussi décrit par la cible doit posséder la déclaration. Les éléments valeurs des déclarations de cette propriété doivent posséder d’autres déclarations. Par exemple, les valeurs screenwriter (P58) devraient avoir une déclaration avec sex or gender (P21) et une déclaration occupation (P106)screenwriter (Q28389).
- symmetric constraint
- Les déclarations de cette propriété doivent avoir leur contrepartie dans l’élément de la valeur, avec cette fois pour valeur l’élément sujet. Exemples : sibling (P3373), twinned administrative body (P190).
- inverse constraint
- Les déclarations qui utilisent cette propriété doivent toujours avoir une déclaration inverse. Par exemple : father (P22)/mother (P25) avec child (P40).
- complex constraint value label
- Les valeurs de cette propriété doivent être libellées dans une langue spécifique et correspondre à un format spécifique.
Contraintes pour Quantity
- integer constraint
- Les valeurs de cette propriété doivent être des entiers sans décimales.
- allowed units constraint
- Les unités des valeurs numériques des déclarations de la propriété sont à choisir parmi celle de la contrainte (ou aucune). Exemples : term length of office (P2097) unité: year (Q577); population (P1082) pas d’unité.
- no-bounds constraint
- Les valeurs de cette propriété ne doivent pas avoir de borne minimale ni maximale (valeurs affichées grâce au symbole ±). Cette contrainte s’applique sur la plupart des propriétés non physiques de type de donnée quantité pour lesquelles le concept d’incertitude sur la valeur n’est pas défini ou pertinent.
- range constraint
- Les valeurs des déclarations de cette propriété doivent se situer dans un certain intervalle. Exemples : les valeurs de flattening (P1102) sont toujours comprises entre 0 et 1, et celles pour UTC date of spacecraft launch (P619) ne doivent pas précéder .
- difference-within-range constraint
- alias. différence à l'intérieur de la plage. La différence entre les valeurs pour cette propriété et pour une autre propriété doit être comprise à l'intérieur d'une certaine plage ou d'un certain intervalle. Par exemple, la différence entre date of birth (P569) et date of death (P570) doit être comprise entre 0 et 150 ans.
Contraintes pour Time
- range constraint
- Les valeurs de cette propriété doivent se situer dans une certaine fourchette ou un certain intervalle. Exemples : flattening (P1102) est toujours compris entre 0 et 1, et UTC date of spacecraft launch (P619) ne doit pas être antérieur à .
- difference-within-range constraint
- aussi décrit par différence dans l'intervalle. La différence entre les valeurs de cette propriété et celles d'une autre propriété doit se situer dans une certaine fourchette ou un certain intervalle. Par exemple, la différence entre date of birth (P569) et date of death (P570) doit être comprise entre 0 et 150 ans.
Contraintes pour les types de données basés sur des chaînes de caractères (string)
Les types de contraintes énumérés dans cette section peuvent être utilisés pour les propriétés dont le type de données est string-based.
- format constraint
- Les valeurs de cette propriété doivent avoir un certain format. Souvent utilisé pour les identifiants (n chiffres de long, commence par une certaine lettre, se compose de chiffres, ...).
Contraintes pour les liens Commons
- Commons link constraint
- Les valeurs de cette déclaration doivent être des liens valides vers Wikimedia Commons. Exemples : image (P18) (espace de noms « Fichier »), Commons category (P373) (espace de noms « Catégorie »).
Types de contrainte par ordre alphabétique
Plusieurs contraintes ont leurs propres modèles prédéfinis et sont répertoriées sur la Help:Property constraints/list of constraints
Instructions d'usage
Les rapports de contraintes sont montrés à tous les utilisateurs connectés lorsqu’ils visitent une page d’entité.
Vous pouvez également vérifier toutes les contraintes d'un élément sur Special:ConstraintReport. Cette page est fournie par WikibaseQualityConstraints (connu également comme les extensions de contrainte). Un robot réalise également la maintenance des rapports de violation de contrainte; voir un résumé des violations dans Wikidata sur Wikidata:Database reports/Constraint violations.
Éléments des types de contrainte
Il existe un élément pour chaque type de contrainte, par exemple subject type constraint (Q21503250).
Déclarations de contrainte sur les propriétés
Les contraintes pour une propriété sont spécifiées sous forme de déclarations sur la propriété, en utilisant property constraint (P2302) et l'élément de type de contrainte. Par exemple: sibling (P3373)property constraint (P2302)symmetric constraint (Q21510862). Les déclarations obsolètes sont ignorées. Donc rendre obsolète le rang d’une déclaration de contrainte avec deprecated est un moyen pratique pour la désactiver temporairement sans la supprimer complètement.
Paramètres de contrainte
De nombreuses contraintes sont configurables : la contrainte de valeur spécifiée a une liste des valeurs autorisées, la contrainte de type contient le type, etc. Ces réglages qui configurent la contrainte sont appelés « paramètres ».
Les paramètres de contraintes sont spécifiés en tant que qualificateurs dans les déclarations. Par exemple :
relation (P2309)
class (P2308)
Il existe plusieurs paramètres généraux pouvant être ajoutés à n'importe quelle contrainte :
- constraint status (P2316)
- Avec la valeur mandatory constraint (Q21502408), ce paramètre peut être utilisé pour marquer une contrainte comme obligatoire. Les violations des contraintes obligatoires sont plus sévères que les violations des contraintes non obligatoires. Les contraintes non obligatoires doivent avoir une valeur de suggestion constraint (Q62026391).
- exception to constraint (P2303)
- Liste les exceptions connues à la contrainte. Sur les éléments listés sous ce paramètre, la contrainte n'est pas contrôlée.
- group by (P2304)
- contient une propriété dont les valeurs doivent regrouper les violations de contraintes. C'est-à-dire, lorsque la liste rapports de la base de données des violations pour une contrainte (pour tous les éléments), les éléments avec violations sont regroupés par la valeur qu'ils ont pour la propriété donnée dans le paramètre group by (P2304). (L'extension de contraintes n'utilise pas ce paramètre.)
- constraint scope (P4680)
- spécifie la partie de la déclaration concernée par la contrainte, au moyen des 3 valeurs spéciales constraint checked on main value (Q46466787), constraint checked on qualifiers (Q46466783) et constraint checked on references (Q46466805). N’importe quelle combinaison des trois est possible. Si aucune valeur n’est donnée, la partie concernée dépend du type de la contrainte. (Notez que les rapports de violation de la base de données ne listent que les problèmes qui concernent la valeur principale des déclarations.)
- constraint clarification (P6607)
- fournit une explication simple de l’objectif de la contrainte (pourquoi elle existe) et des actions recommandées pour résoudre la contrainte.
Lorsque les contraintes ne sont pas vérifiées
Chaque contrainte individuelle peut lister des exceptions dans ses paramètres de contrainte (voir ci-dessus) ; sur toutes les déclarations de cet élément, cette contrainte ne sera pas vérifiée du tout. (Il n’existe actuellement aucun mécanisme pour spécifier d’autres types d’entités en tant qu’exceptions, ou pour répertorier les exceptions d’une manière différente.)
Sur des propriétés telles que Wikidata property example (P1855), Wikidata property example for properties (P2271), etc., telles que définies dans wgWBQualityConstraintsPropertiesWithViolatingQualifiers
, toutes les vérifications de contraintes sur les qualificatifs sont ignorées. Pour ces propriétés, les qualificatifs ont une signification différente de celle d’habitude : ils sont plus similaires aux instructions principales qu’aux qualificatifs de cette instruction, il n'y a donc pas vraiment de sens à vérifier les contraintes sur ces qualificatifs.
WikibaseQualityConstraints n’utilise que les contraintes de déclarations de rang normal et de rang préféré et ignore celles de rang obsolète, donc définir le rang d’une contrainte sur obsolète peut être utilisé pour la « cacher » de WikibaseQualityConstraints. (KrBot utilise toutes les instructions de contrainte quel que soit le rang.)
Contraintes personnalisées
Il est possible avec quelques connaissances en SPARQL de créer des contraintes très élaborées pour certaines propriétés, en complément et au delà des restrictions mentionnées ci-dessus. Plus d’informations sont disponibles sur Template:Complex constraint. Les rapports sont maintenus par un robot tiers et ne font pas partie du logiciel Wikibase. Voir également la liste des propriétés utilisant des contraintes complexes.
Voir aussi
- Curious Facts - un outil qui affiche des violations de contraintes aléatoires