To make use of the new mechanism implemented in the patch from the Product Platform team, we need to make some changes on the EntitySchema side.
When parsing statement/qualifier/reference values, Wikibase will take into account the corresponding Property's data type and not only the value type. A data type specific value parser can be registered with the data type definition (here: EntitySchema). This will allow serialized EntitySchema values to contain type: wikibase-entityid without being parsed as an EntityIdValue.
The changes that are required are:
- New value type
- New parser/deserializer
- Adjust validators
Acceptance criteria
- Users are able to create an EntitySchema data value type statement
- Users are able to load an EntitySchema data value type statement and it is linked to the EntitySchema
To create a statement using the API sandbox, use the wbsetclaim action, let the API sandbox fill in the token parameter, and set the claim to JSON similar to this:
{"type":"statement","mainsnak":{"snaktype":"value","property":"P592","datavalue":{"type":"wikibase-entityid","value":{"id":"E1"}}},"id":"P592$6dcf36c9-238a-435b-8ead-6fd1915b8548","rank":"normal"}
Where P592 is a property with data type EntitySchema, 6dcf36c9-238a-435b-8ead-6fd1915b8548 is a random UUID (you can get a fresh one from cat /proc/sys/kernel/random/uuid), and E1 is the ID of an existing EntitySchema.