Page MenuHomePhabricator

add an "acyclic" constraint?
Open, Needs TriagePublic


Some properties (e.g. P22, P171 etc.) are easy to have value cycles (A=>B=>C=>...=>A). Maybe this can be prevented.


This has been identified in the 2020 report on Property constraints (T244043) as the most demanded constraint type by active editors by a wide margin. Among other Properties, this constraint type would apply to the Property "subclass of" (P279) and therefore help to improve the Wikidata class hierarchy.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Some such properties: father/mother/child (P-22, 25, 40), parent/child astronomical body (P-397, 398), part of/has part [of the class] (361, 527, 2670), subclass of (279), located in/contains administrative territorial entity (131, 150), parent organization/subsidiary/business division (749, 355, 199), has immediate cause/immediate cause of/has contributing factor/contributing factor of (1478, 1536, 1479, 1537), based on (144), parent taxon/parent peak/parent club/parent cell line (171, 3137, 831, 3432).

To clarify – do you also want to be able to detect cycles like A --mother--> B --father--> A, with different properties in the cycle? Because I’m not sure how that would be modeled.

@Lucas_Werkmeister_WMDE Ideally, sure, but it doesn't matter that much since that would also show up in the child chain.