Skip to content

Inconsistent Bundle Identifier Handling in PROV-JSON Serialization #222

Description

@dwwop

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions