As a Wikidata data reuser I want to get statement data in a simple format so that I can access the necessary data easily
As a Wikidata data reuser I want to get statement data without redundant data so that I do not need to process data I do not need.
Responses containing statement data should use the intended structure.
Requests containing statement data (POST, PUT, also PATCH) should use the intended structure.
Intended structure/representation
```
{
"P92":
{
"value-type": "defined",
"property": {
"id": "P92",
"data-type": "string"
},
"value": "TEXT",
"id": "Q11$6403c562-401a-2b26-85cc-8327801145e1",
"rank": "normal",
"references":
[
{
"hash": "b25ff4bd5398ca646c621e114e4498e2bd608fd4",
"parts": {
"value-type": "defined",
"property": {
"id": "P711",
"data-type": "string"
},
"value": "My message to video game databases: We(kidata) come in peace"
}
}
],
"qualifiers":
[
{
"value-type": "defined",
"property": {
"id": "P92",
"data-type": "string"
},
"value": "TEXT"
}
]
},
"P694":
{
"value-type": "defined",
"property": {
"id": "P694",
"data-type": "wikibase-item"
},
"value": "Q123",
"id": "Q11$6403c562-401a-2b26-85cc-8327801145e1",
"rank": "normal",
"references": [],
"qualifiers": []
},
"P476":
{
"value-type": "defined",
"property": {
"id": "P476",
"data-type": "time"
},
"value": {
"time": "+2021-09-17T00:00:00Z",
"precision": "11",
"calendar-model": "http:\/\/www.wikidata.org\/entity\/Q1985727"
},
"id": "Q11$350e511c-48f9-caaa-72db-2ec8822f4432",
"rank": "normal",
"references": [],
"qualifiers": []
},
"P937":
{
"value-type": "defined",
"property": {
"id": "P937",
"data-type": "quantity"
},
"value": {
"amount": "+14.23",
"unit": "1",
"lowerBound": "+24.23",
"upperBound": "+4.23"
},
"id": "Q11$350e511c-48f9-caaa-72db-2ec8822f4432",
"rank": "normal",
"references": [],
"qualifiers": []
},
"P5":
{
"value-type": "defined",
"property",
"id": "P5",
"data-type": "globe-coordinate",
"datavalue",
"value",
"latitude": "52.52",
"longitude": "13.405",
"precision": "0.001",
"globe": "http:\/\/www.wikidata.org\/entity\/Q2",
"id": "Q11$350e511c-48f9-caaa-72db-2ec8822f4432",
"rank": "normal",
"references": [],
"qualifiers": []
},
"P123":
{
"value-type": "no-value",
"property": {
"id": "P123",
"data-type": "string"
},
"id": "Q11$6403c562-401a-2b26-85cc-8327801145e1",
"rank": "normal",
"references": [],
"qualifiers": []
},
"P124":
{
"value-type": "unknown-value",
"property": {
"id": "P124",
"data-type": "string"
},
"id": "Q11$6403c562-401a-2b26-85cc-8327801145e7",
"rank": "normal",
"references": [],
"qualifiers": []
}
}
```
Further differences between the current structure inherited from "Action API" etc are documented for the WMDE team in the internal document: https://docs.google.com/spreadsheets/d/1yAxIaUodJNvsY_eWRvBTySMF4ytkfbu5hGEkNrBnvto/edit#gid=1820649401
Acceptance criteria:
[] Responses to GET, POST, PUT and PATCH requests that contain statement data use the intended structure
[] PUT, POST requests use the intended structure when validating/processing the input
[] PATCH request assume intended structure to be relevant for patch operations
[] Differences between the intended structure and the statement data representation in "Action API" responses/requests have been documented in the internal documentation