| 1. Definition | 2. Functional Requirements | 3. Syntax | 4. Semantics |
1 Definition
A Data Type containing an ordered list of Events representing lifecycle-relevant information about an Asset. Each Event in the Provenance corresponds to an operation that has affected the Asset or one of its successive representations.
A Provenance Item may include references to information associated with these Events (e.g., identifiers of Items involved, identifiers of Services producing them, and optional references to descriptive or justificatory entries).
2 Functional Requirements
The Provenance Data Type shall:
– contain an ordered list of Events describing relevant changes associated with the Asset;
– allow inclusion of multiple types of Events beyond Transactions (e.g., creation, modification, conversion, transfer), provided they are directly linked to the Asset and its successive Items;
– provide optional support for attaching descriptive or justificatory metadata to Events when needed.
3 Syntax
https://schemas.mpai.community/MMM4/V2.2/data/Provenance.json
4 Semantics
| Label | Description |
| Header | Provenance Header |
| – Standard‑Provenance | The characters “MMM‑PRV‑V” |
| – Version | Major version – 1 or 2 characters |
| – Dot‑separator | The character “.” |
| – Subversion | Minor version – 1 or 2 characters |
| M‑InstanceID | Identifier of the M‑Instance. |
| AssetID | Identifier of the Asset. |
| ProvenanceID | Identifier of the Provenance. |
| Provenance[] | Set of Provenance Data entries. |
| – EventID | Identifier of the Event. |
| – EventType | One of: “create”, “modify”, “convert”, “transfer”, “transaction”, “authorize”, “revoke”, “import”, “export”. |
| – Time | Time associated with the Event. |
| – ProcessID | Identifier of the Process recorded as performing the Event. |
| – Justification | Optional descriptive justification. |
| (create Event) | |
| – NewItemID | Identifier of the Item created. |
| – AuthorServiceID | Identifier of the Service recorded as creator. |
| (modify Event) | |
| – OldItemID | Identifier of the Item before modification. |
| – NewItemID | Identifier of the Item after modification. |
| – ServiceID | Identifier of the Service recorded for the modification. |
| (convert Event) | |
| – OldItemID | Identifier of the Item before conversion. |
| – NewItemID | Identifier of the Item after conversion. |
| – Qualifier | Qualifier describing the conversion. |
| – ServiceID | Identifier of the Service recorded for the conversion. |
| (transfer Event) | |
| – ItemID | Identifier of the transferred Item. |
| – FromUserID | Identifier of the sending User. |
| – ToUserID | Identifier of the receiving User. |
| (transaction Event) | |
| – TransactionID | Identifier of the Transaction. |
| – ItemID | Identifier of the Item involved. |
| – SenderUserID | Identifier of the sending User. |
| – ReceiverUserID | Identifier of the receiving User. |
| (authorize Event) | |
| – RightsGranted | List of identifiers of granted Rights. |
| – ToProcessID | Identifier of the Process to which Rights are granted. |
| (revoke Event) | |
| – RightsRevoked | List of identifiers of revoked Rights. |
| – FromProcessID | Identifier of the Process from which Rights are revoked. |
| (import Event) | |
| – NewItemID | Identifier of the Item created through import. |
| – UEnvironmentLocation | Identifier or descriptor of the U‑Environment location. |
| – ServiceID | Identifier of the Service recorded for the import. |
| (export Event) | |
| – ItemID | Identifier of the Item exported. |
| – UEnvironmentLocation | Identifier or descriptor of the U‑Environment location. |
| – ServiceID | Identifier of the Service recorded for the export. |
| DescrMetadata | Descriptive Metadata. |