Page MenuHomePhabricator

Enable use of "class" parameter on certain constraint types
Open, Needs TriagePublic

Description

The following three constraint types are currently limited to accepting individual items as parameter values with P2305 ("item of property constraint"), leading to the creation of large, incomplete, and difficult-to-maintain constraints. Allowing the use of P2308 ("class") and P2309 ("relation") as constraint parameters would allow many of these constraints to be smaller, more complete, and easier-to-maintain.

Constraint type: none-of (Q52558054)

Example: This constraint has 33 values of "item of property constraint", which could all be replaced with P2308 = recurring event (Q15275719). This query gives more such constraints.

Constraint type: conflicts-with (Q21502838)

Example: This constraint has 30 values of "item of property constraint", most or all of which could be replaced with P2308 = crime (Q83267) and P2308 = accident (Q171558). This query gives more such constraints.

Constraint type: item-requires-statement (Q21503247)

Example: This constraint has 39 values of "item of property constraint", most of which could be replaced by P2308 = filmmaking occupation (Q4220920). This query gives more such constraints.

In the case of at least one property, the size and number of existing constraints may be causing performance issues: https://www.wikidata.org/wiki/Property_talk:P31#Broken_templates

This task replaces T340761.