Help:Property constraints portal/Value class
This is the documentation page for a particular constraint type. See Help:Property constraints portal for a general overview of property constraints. |
value-type constraint (Q21510865) specifies that values of a given property should have a given type. This is also known as the range of a property.
For example, values for mother (P25) should be instance of (P31) human (Q5) or animal (Q729), and values for space launch vehicle (P375) should be subclass of (P279) launch vehicle (Q697175).
Subclass relations according to subclass of (P279) are taken into account: if a constraint demands that an item should be an instance of building (Q41176), it is not a violation if the item is an instance of skyscraper (Q11303), because there is a subclass of (P279) path from skyscraper (Q11303) to building (Q41176). (If an indirect relation should not be permitted, value-requires-statement constraint (Q21510864) can be used.) Longish paths sometimes time-out and don't work in all tools.
If no constraint scope (P4680) is specified, this constraint is checked everywhere.
Possible actions
[edit]There are several possible ways to address a violation of this constraint:
- It’s possible that the item should not have the statement at all, and that the statement should be removed.
- It’s possible that the value is missing the right instance of (P31) or subclass of (P279) statement.
- It’s possible that the value has the right instance of (P31) or subclass of (P279) statement, but the linked item is missing a subclass of (P279) statement. For example, if an item had space launch vehicle (P375)Ariane 1 (Q18375), and the statement Ariane 1 (Q18375)subclass of (P279)Ariane (Q131535) existed, but the statement Ariane (Q131535)subclass of (P279)launch vehicle (Q697175) was missing, then this could result in a violation even though the error is actually neither on the item with the violation, nor on the linked value Ariane 1 (Q18375), but on Ariane (Q131535).
- It’s possible that the item is a rare, but legitimate exception to the constraint, and nothing should be done.
Parameters
[edit]This constraint has two parameters (both mandatory):
- relation (P2309)
- Must be instance of (Q21503252), subclass of (Q21514624), or instance or subclass of (Q30208840). Describes whether the item should be an instance of the class(es), or a subclass of it/them, or whether both are allowed. This parameter must only be given once.
- class (P2308)
- Lists the classes that are allowed for the value. Each class must be an item ID (no value Help or unknown value Help is not permitted). If more than one class is specified, the constraint is satisfied as long as the value has at least one of these types.
Examples
[edit]Example 1
[edit]Values for adjacent station (P197) should be instance of station (Q719456).
property constraint |
| ||||||||||||||
add value |
Example 2
[edit]Values for space launch vehicle (P375) should be subclass of launch vehicle.
property constraint |
| ||||||||||||||
add value |
Template
[edit]When the constraint is set to the property, the following template is automatically displayed in the property talk page. The template is created by Module:Constraints using {{Constraint}}
, invoked from {{Property documentation}}
. Translations are defined at Module:i18n/constraints.
List of violations of this constraint: Database reports/Constraint violations/P197#Value type Q228332, Q28109487, SPARQL
Lists
[edit]Lists of properties which are set value type constraint.
- Category:Properties with value only constraints
- SPARQL query - click the execute button
at the linked page to see the query result.