User:BrokenSegue/StatementPatterns

Summary edit

It should be easier to attach pieces of information to Wikidata items. But at the same time we don't want to sacrifice our way of modeling information using qualifiers. What if we made items in wikidata that captured usage patterns of statements/qualifiers that made it both easy to use and expressive.


Motivation edit

Adding some pieces of data to Wikidata is arbitrarily more difficult than it needs to be. For example, it's really intuitive to denote someone as a child (P40) but there is no equivalent way to do this for uncle (Q76557) (you need to add qualifiers). Examples of statements which are non-trivial to add but could be made easier

We do not want to have to add a property for every kind of significant event but we want it to be easy to e.g. tag a ship with its launch date.

Design edit

We propose a new item subclass called "Wikidata Statement Pattern" (the name isn't important and could also be "Wikidata relationship" or similar). These items would encapsulate the logic of creating a new compound statement given some argument. They would be used by extensions/gadgets to speed up the editing process.

Each of these items would have a statements for the property "property for this pattern". The value for this property is the property that this pattern adds to an item. So for a pattern to add an "uncle" the value would be relative (P1038). This property is then qualified to indicate what qualifiers to use in the pattern. E.g. To indicate that this should be qualified with kinship to subject -> uncle. To indicate that one of the values is to be fed in using the user-supplied argument you mark that qualifiers value as unknown. So in this case we qualify relative (P1038) with itself to indicate that the main value of the statement is to be supplied by the user. You can see this completed example for uncle on the test wikidata.

For the case of a ship launching the value of the statement pattern is fixed and instead the qualifier for point in time is left as unknown. This example can also be found on the test wikidata.

This design only requires one new property to represent "property for this pattern".