Help:Ограничения свойств
Ограничения свойств — это правила, определяющие то, как должны применяться свойства. Модель Викиданных очень гибка: ничто не помешает вам использовать Universe (Q1) как значение для head of government (P6). Однако, ограничение свойства может подсказать вам, что head of government (P6) обычно применяется к людям.
Ограничения — это не жёсткие запреты, а подсказки, которые служат участнику справочником или руководством. У них могут быть исключения: например, в городе Talkeetna (Q668224) кот Stubbs (Q7627362) был почетным мэром.
Некоторые типы ограничений, в настоящее время one-of constraint и allowed qualifiers constraint, также используются для предоставления лучших предложений при редактировании утверждений.
Note: Technically a property constraint is a statement (on a property) of a particular constraint type, specified via property constraint (P2302). So strictly speaking constraint and constraint type refer to two different things, for the sake of brevity this page however sometimes refers to constraint types simply as constraints.
Популярные типы ограничений
Datatype-independent constraints
Constraints to restrict where a property may be added
- property scope constraint
- This property should only be used for certain scopes (main value of a statement, in a reference, as qualifier).
- 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
- Items using this property should also have a label in a certain language. For example, items with Vietnamese middle name (P8500) should have a Vietnamese label.
- description in language constraint
- Items using this property should also have a description in a certain language.
- lexeme requires language constraint
- This property should be used on lexemes in a certain language. For example, Gran Enciclopèdia Catalana ID (former scheme) (P1296) should be used on Catalan (Q7026) lexemes.
- 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
- К утверждениям для этого свойства должен быть приведён как минимум один источник. Пример: потенциально конфликтные свойства.
Datatype-specific constraints
Constraints for datatype item/entity
- value-type constraint
- Значения для этого свойства должны иметь определённый тип. Например, mother (P25) должно быть instance of (P31) human (Q5) или 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
- Значения для этого утверждения должны использовать только предопределённые единицы измерения (или не иметь никаких). Например, term length of office (P2097) (единица измерения: year (Q577)), population (P1082) (нет предопределённых единиц измерения).
- 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.
Инструкция по использованию
Сообщения об ограничениях показываются всем залогинившимся пользователям при посещении ими страницы сущности.
Вы также можете проверить все ограничения, касающиеся элемента, на Special:ConstraintReport и увидеть саммари отклонений в Викиданных на Wikidata:Database reports/Constraint violations.
Ограничения типа элементов
Существует элемент для каждого типа ограничений, например, subject type constraint (Q21503250).
Ограничивающие утверждения в свойствах
Ограничения свойств — это утверждения, относящиеся к свойствам, использующие property constraint (P2302)} и элемент ограничивающего типа. Например, sibling (P3373)property constraint (P2302)symmetric constraint (Q21510862). Устаревшие утверждения должны игнорироваться. Изменение ранга ограничивающего утверждения на "нерекомендуемый" — это согласованный способ временного отключения ограничения без его полного удаления.
Параметры ограничений
Многие ограничения имеют свою конфигурацию: один из содержит список разрешённых значений, тип содержит определённый тип и так далее. Эти установки, которые формируют ограничение, называются параметрами.
Ограничивающие параметры указаны в качестве квалификаторов к утверждению. Например:
relation (P2309)
class (P2308)
Существует несколько общих параметров, которые могут быть добавлены к любому ограничивающему утверждению:
- ; constraint status (P2316)
- Со значением mandatory constraint (Q21502408), этот параметр может быть использован для обозначения ограничения как обязательного. Нарушения обязательных ограничений более серьезные, чем необязательных.
- 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). Использование любой комбинации этих значений указывает где следует проверять ограничение. Если параметр не определён область, заданная по умолчанию, зависит от типа ограничения. (Обратите внимание, что отчёт базы данных - это только перечень отклонений от главного значения утверждения.)
- exception to constraint (P2303): Lists known exceptions to the constraint. On the items listed under this parameter, the constraint is not checked.
- group by (P2304): Contains a property by the values of which constraint violations should be grouped. That is, when the database reports list violations for a constraint (for all items), the items with violations are grouped by the value they have for the property given in the group by (P2304) parameter. (The constraints extension does not use this parameter.)
- constraint scope (P4680): Specifies in which part of a statement the constraints applies, using the three special values constraint checked on main value (Q46466787), constraint checked on qualifiers (Q46466783) and constraint checked on references (Q46466805). Use any combination of these values to specify where a constraint should be checked. If the parameter is not specified, the default scope depends on the constraint type. (Note that the database reports only list violations on the main value of a statement.)
- constraint clarification (P6607): Provides a simple explanation for the purpose of the constraint (why it exists) and recommended actions to resolve the constraint.
When constraints aren’t checked
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.)
Настраиваемые ограничения
Обладая некоторыми знаниями SPARQL, можно создать очень сложные ограничения для определённых свойств, превосходящие ограничения, упомянутые здесь. Больше информации доступно на Template:Complex constraint. См. также перечень свойств, использующих сложные ограничения.
См. также
- Wikidata:Curious Facts - a tool that displays random constraint violations