Довідка:Портал обмежень властивостей
Обмеження властивостей є правилами для властивостей, які вказують, як використовувати властивості. Сама модель Вікіданих дуже гнучка: ніщо не перешкоджає додавати Universe (Q1) як head of government (P6). Однак обмеження на властивість може повідомити вам, що head of government (P6) зазвичай є людиною.
Обмеження є підказками, а не жорсткими обмеженнями, і призначені для допомоги або вказівки редактору. Вони можуть мати винятки: наприклад, у місті Talkeetna (Q668224) почесним мером був кіт Stubbs (Q7627362).
Деякі типи обмежень, наразі one-of constraint та allowed qualifiers constraint, також використовуються для надання кращих пропозицій під час редагування тверджень.
Примітка. Технічно обмеження властивості — це твердження (у властивості) про конкретний тип обмеження, визначене через property constraint (P2302). Тож, строго кажучи, обмеження та тип обмеження стосуються двох різних речей, проте для стислості ця сторінка іноді називає типи обмежень просто обмеженнями.
Поширені типи обмежень
Обмеження, незалежні від типу даних
Constraints to restrict where a property may be added
- property scope constraint
- Ця властивість повинна використовуватися тільки для певних областей застосування (основне значення оператора, в посиланні, як кваліфікатор).
- allowed-entity-types constraint
- Цю властивість треба використовувати лише для певних типів сутностей. Приклад: Wikidata property example (P1855) (властивості).
- subject type constraint
- Елементи з цією властивістю повинні мати певний тип. Приклад: Позиції з date of birth (P569) повинні бути instance of (P31) human (Q5) або animal (Q729).
- conflicts-with constraint
- Елементи з цією властивістю не повинні мати певних інших властивостей або тверджень. Приклади: sex or gender (P21) конфліктує з author (P50), який в свою чергу конфліктує з instance of (P31)human (Q5).
- item-requires-statement constraint
- Елементи, що використовують цю властивість, повинні також мати деякі інші оператори. Наприклад, елементи з killed by (P157) повинні мати place of death (P20), date of death (P570) та manner of death (P1196)homicide (Q149086).
- contemporary constraint
- Елементи з цією властивістю та значення для цієї властивості повинні співіснувати впродовж певного часу. Приклади:mother (P25), country of citizenship (P27).
- label in language constraint
- Елементи, що використовують цю властивість, також повинні мати мітку певніою мовою. Елементи, що використовують цю властивість, також повинні мати мітку на певній мові. Наприклад, елементи зVietnamese middle name (P8500) повинні мати мітку в'єтнамською мовою.
- description in language constraint
- Items using this property should also have a description in a certain language.
- lexeme requires language constraint
- Ця властивість повинна використовуватися для лексем певної мови. Наприклад, Gran Enciclopèdia Catalana ID (former scheme) (P1296) має використовуватися на лексемах Catalan (Q7026).
- lexeme requires lexical category constraint
- …
- lexeme-value-requires-lexical-category constraint
- …
Constraints regarding the number of values
- single-value constraint
- Елементи повинні мати не більше одного твердження з цією властивістю. Часто використовується для ідентифікаторів, але також і для багатьох інших властивостей: наприклад, люди зазвичай мають лише одне place of birth (P19) і place of death (P20).
- single-best-value constraint
- Елементи повинні мати одне "найкраще" твердження з цією властивістю. Часто використовується для властивостей, які можуть змінюватися з часом: наприклад, міста та країни зазвичай мають єдине поточний head of government (P6).
- multi-value constraint
- Елементи повинні мати більш ніж одне твердження з цією властивістю (або жодного). Рідко використовується, але приклади містять cast member (P161), has tense (P3103) та has grammatical mood (P3161).
- distinct-values constraint
- також відоме як унікальне значення та відмінне значення. Жодні два елементи не повинні мати спільного значення для цієї властивості; значення кожного елемента повинно бути унікальним у всіх твердженнях для цієї властивості у всіх Вікіданих. Майже всі властивості ідентифікатора мають це обмеження, оскільки ідентифікатор (ISBN, freebase ID, …) має однозначно ідентифікувати сутність. Інші приклади включають flag (P163) і anthem (P85).
Constraints regarding qualifiers
- allowed qualifiers constraint
- Твердження за цією властивістю не повинні мати ніяких уточнень, крім перерахованих. Приклади: continent (P30) з кваліфікаторами start time (P580) та end time (P582), а Freebase ID (P646) взагалі без кваліфікаторів.
- required qualifier constraint
- Твердження для цієї властивості повинні мати всі перераховані ознаки. Приклад: stock exchange (P414) з ticker symbol (P249) та start time (P580).
Constraints regarding references
- citation-needed constraint
- Твердження для цієї властивості повинні мати принаймні одне посилання. Приклад: властивості, які, найімовірніше, можуть оспорюватися.
Обмеження, залежні від типу даних
Constraints for datatype item/entity
- value-type constraint
- Values for this property should have a certain type. Example: mother (P25) should be instance of (P31) human (Q5) or animal (Q729).
- one-of constraint
- Значення для цієї властивості має бути одним із заданого набору елементів. Приклад: driving side (P1622) має бути або left (Q13196750), або right (Q14565199).
- none-of constraint
- Значення для цієї властивості не повинно бути одним із заданого набору елементів. Приклад: instance of (P31) не повинно бути woman (Q467).
- value-requires-statement constraint
- також відоме як цільове необхідне твердження. Значення для цієї власності повинні мати і певні інші твердження. Наприклад, значення screenwriter (P58) повинні мати sex or gender (P21) та occupation (P106)screenwriter (Q28389).
- symmetric constraint
- Твердження, що використовують цю властивість, завжди повинні існувати в обох напрямках. Приклади: sibling (P3373), twinned administrative body (P190).
- inverse constraint
- Твердження, що використовують цю властивість, завжди повинні мати інверсне твердження. Приклади: father (P22)/mother (P25) з child (P40).
- complex constraint value label
- Values for this property have to have a label in a specific language that matches a specific format.
Constraints for Quantity
- integer constraint
- Значення для цієї властивості повинні бути цілими числами без десяткових знаків.
- allowed units constraint
- Values for this statement should only use certain units (or none). Examples: term length of office (P2097) (unit: year (Q577)), population (P1082) (no units).
- no-bounds constraint
- Значення для цієї властивості не повинні використовувати верхню та нижню межі. Це стосується більшості нефізичних властивостей з типом даних "кількість", для яких поняття невизначеності не визначено.
- range constraint
- Значення для цієї властивості повинні бути в межах певного діапазону або інтервалу. Приклади: flattening (P1102) завжди знаходиться між 0 та 1, а UTC date of spacecraft launch (P619) не повинно бути раніше .
- difference-within-range constraint
- так звана. різниця в межах діапазону. Різниця між значеннями для цієї властивості та для іншої властивості повинна бути в межах певного діапазону або інтервалу. Наприклад, різниця між date of birth (P569) та date of death (P570) повинна бути між 0 та 150 роками.
Constraints for Time
- range constraint
- Values for this property should be within a certain range or interval. Examples: flattening (P1102) is always between 0 and 1, and UTC date of spacecraft launch (P619) should not be before .
- difference-within-range constraint
- aka. difference within range. The difference between values for this property and for another property should be within a certain range or interval. For example, the difference between date of birth (P569) and date of death (P570) should be between 0 and 150 years.
Constraints for string-based datatypes
The constraint types listed in this section can be used for properties that have a string-based datatype.
- format constraint
- Значення для цієї властивості повинні мати певний формат. Часто використовується для ідентифікаторів ("n" цифр довжиною, починається з певної літери, складається з цифр, ...).
Constraints for Commons links
- Commons link constraint
- Значеннями для цього твердження мають бути дійсні посилання на Вікісховище. Приклади: image (P18) (простір імен "Файл"), Commons category (P373) (простір імен "Категорія").
Обмеження в алфавітному порядку
Деякі обмеження мають свої власні заздалегідь визначені шаблони, які перелічені в Help:Property constraints/list of constraints.
Інструкції з використання
Звіти про обмеження відображаються для всіх зареєстрованих користувачів, коли вони відвідують сторінку сутності.
Ви також можете перевірити всі обмеження для елемента на сторінці Звіт про обмеження, і ознайомитися з переліком порушень у Вікіданих на Wikidata:Database reports/Constraint violations.
Елементи типів обмеження
Існує елемент для кожного типу обмеження, наприклад subject type constraint (Q21503250).
Твердження обмежень щодо властивостей
Обмеження для властивості вказуються як твердження щодо властивості, використовуючи property constraint (P2302) і елемент типу обмеження. Наприклад: sibling (P3373)property constraint (P2302)symmetric constraint (Q21510862). Застарілі твердження ігноруються, тому зміна рангу обмежувального твердження на "застаріле" — це зручний спосіб тимчасово вимкнути обмеження без повного його видалення.
Параметри обмеження
Багато обмежень можна налаштовувати: одне з має список дозволених значень, тип містить тип тощо. Ці налаштування, які уточнюють обмеження, називаються параметрами.
Параметри обмеження вказуються як кваліфікатори для твердження. Наприклад:
relation (P2309) ⟨ instance of (Q21503252) ⟩
class (P2308) ⟨ human (Q5) ⟩
Є декілька загальних параметрів, які можна додати до будь-якого обмеженого твердження:
- constraint status (P2316)
- Зі значенням mandatory constraint (Q21502408), цей параметр може бути використаний для позначення обмеження як обов'язкове. Порушення обов'язкових обмежень є важчими, ніж порушення необов'язкових. Необов'язкові обмеження повинні мати значення suggestion constraint (Q62026391).
- exception to constraint (P2303)
- Перераховує відомі виключення з обмеження. На елементах, перелічених у цьому параметрі, обмеження не перевіряється.
- group by (P2304)
- Містить властивість за значеннями, за якими повинні бути згруповані порушення обмежень. Тобто, якщо звіти бази даних наводять список порушень для обмеження (для всіх елементів), елементи з порушеннями згруповані за значенням, яке вони мають для властивості, вказаної в параметрі group by (P2304). (Розширення для обмежень не використовують цей параметр.)
- constraint scope (P4680)
- Вказує, в якій частині твердження застосовуються обмеження, використовуючи три спеціальні значення constraint checked on main value (Q46466787), constraint checked on qualifiers (Q46466783) і constraint checked on references (Q46466805). Використовуйте будь-яку комбінацію цих значень, щоб вказати, де треба перевірити обмеження. Якщо параметр не вказано, область застосування за умовчанням залежить від типу обмеження. (Зверніть увагу, що звіти бази даних лише перелічують порушення основного значення твердження.)
- constraint clarification (P6607)
- Надає просте пояснення мети обмеження (чому воно існує) та рекомендовані дії для його усунення.
Коли обмеження не перевіряються?
Each individual constraint can list exceptions in its constraint parameters (see above); on any statements of that item, that constraint will not be checked at all. (There is currently no mechanism for specifying other entity types as exceptions, or for listing exceptions in a different way.)
On properties like Wikidata property example (P1855), Wikidata property example for properties (P2271), etc., as defined in wgWBQualityConstraintsPropertiesWithViolatingQualifiers
, all constraint checks on qualifiers are skipped. For these properties, qualifiers have a different meaning than usual: they’re more similar to main statements than qualifiers of that statement, so it doesn’t really make sense to check constraints on those qualifiers.
WikibaseQualityConstraints only uses normal-rank and preferred-rank constraint statements and ignores deprecated-rank ones, so setting a constraint’s rank to deprecated can be used to “hide” it from WikibaseQualityConstraints. (KrBot uses all constraint statements regardless of rank.)
Користувацькі обмеження
With some knowledge of SPARQL one can make very complex constraints for certain properties, above and beyond the restrictions mentioned above. More information is available at Template:Complex constraint. The reports are maintained by a third-party bot and not part of Wikibase software. See also the list of properties using complex constraints.
Див. також
- Wikidata:Curious Facts — інструмент, який відображає випадкові порушення обмежень