ExtendedPropertyValueSnak is a derived data variant of PropertyValueSnak. It's a subclass of PropertyValueSnak, which contains a map of additional DataValue objects, each associated with a "role" or "slot" name. Examples:
- a ExtendedPropertyValueSnak for a TimeValue may contain a TimeValue using the Gregorian calendar in the "normalized" (or "iso"?) lot.
- a ExtendedPropertyValueSnak for an external ID may contain a StringValue (or IRIValue) for the external entity's full URI in the "expanded" or "uri" slot. In addition, it may contain a StringValue (or IRIValue) for the external entity's web page URL in the "url" or "link" slot.
- a ExtendedPropertyValueSnak for a QuantityValue may contain anothjer QuantityValue with the quantity converted to a base unit in the "normalized" slot.
PS: "Extended" is not a nice name, come up with something better.