When serializing bundles into PROV-JSON, the bundle identifier is added as an @id property inside the bundle:
{
"prefix": {
"xsd": "http://www.w3.org/2001/XMLSchema#",
"ex": "https://example.org/",
"prov": "http://www.w3.org/ns/prov#"
},
"bundle": {
"ex:bundleId": {
"prefix": {
"xsd": "http://www.w3.org/2001/XMLSchema#",
"prov": "http://www.w3.org/ns/prov#",
"ex": "https://example.org/"
},
"entity": {
"ex:entityId": {}
},
"@id": "ex:bundleId"
}
}
}
This @id is then required during deserialization, and the actual key is ignored.
Problem
The @id field is not defined in the official PROV-JSON schema. This causes interoperability issues between ProvToolBox and the PROV Python package.
Expected Behavior
Bundle identifiers should be deserialized from the key, and @id should not be included during serialization
When serializing bundles into PROV-JSON, the bundle identifier is added as an
@idproperty inside the bundle:{ "prefix": { "xsd": "http://www.w3.org/2001/XMLSchema#", "ex": "https://example.org/", "prov": "http://www.w3.org/ns/prov#" }, "bundle": { "ex:bundleId": { "prefix": { "xsd": "http://www.w3.org/2001/XMLSchema#", "prov": "http://www.w3.org/ns/prov#", "ex": "https://example.org/" }, "entity": { "ex:entityId": {} }, "@id": "ex:bundleId" } } }This
@idis then required during deserialization, and the actual key is ignored.Problem
The
@idfield is not defined in the official PROV-JSON schema. This causes interoperability issues between ProvToolBox and the PROV Python package.Expected Behavior
Bundle identifiers should be deserialized from the key, and
@idshould not be included during serialization