As discussed on today's EPCIS/CBV call, there is an inconsistency within the ratified published EPCIS 2.0 standard and its artefacts regarding persistentDisposition and the event types in which it may be used. The UML class diagram, ontology files and SHACL validation files already indicate that persistentDisposition is not allowed within AggregationEvent, AssociationEvent and TransactionEvent because of ambiguity about which objects were affected by a set or unset operation on persistentDisposition if used within those event types. The table at the end of section 7.3.6.2.2 also appears to confirm this by indicating in its third column that there is no applicability (n/a) for those event types. Separately, the statement preceding the statement will need to be made stricter, rather than advisory.
In terms of the changes to correct the associated artefacts, the following steps were performed:
Correct the ontology files so that the domain of epcis:persistentDisposition is no longer EPCISEvent (all event types) but now only ObjectEvent or TransactionEvent
Remove persistentDisposition from the enums for AggregationEvent-JSON-Schema.json, AssociationEvent-JSON-Schema.json and TransactionEvent-JSON-Schema.json within the JSON-Schema/schemas/ subdirectory
Use José's script generate-inline-schema.sh within JSON-Schema/ to regenerate EPCIS-JSON-Schema.json at root level
Use José's script inject-schema.sh within REST Bindings/schema-injector to regenerate openapi.json within REST Bindings subdirectory
As discussed on today's EPCIS/CBV call, there is an inconsistency within the ratified published EPCIS 2.0 standard and its artefacts regarding
persistentDisposition
and the event types in which it may be used. The UML class diagram, ontology files and SHACL validation files already indicate thatpersistentDisposition
is not allowed withinAggregationEvent
,AssociationEvent
andTransactionEvent
because of ambiguity about which objects were affected by aset
orunset
operation onpersistentDisposition
if used within those event types. The table at the end of section 7.3.6.2.2 also appears to confirm this by indicating in its third column that there is no applicability (n/a) for those event types. Separately, the statement preceding the statement will need to be made stricter, rather than advisory.In terms of the changes to correct the associated artefacts, the following steps were performed:
epcis:persistentDisposition
is no longerEPCISEvent
(all event types) but now onlyObjectEvent
orTransactionEvent
persistentDisposition
from the enums for AggregationEvent-JSON-Schema.json, AssociationEvent-JSON-Schema.json and TransactionEvent-JSON-Schema.json within the JSON-Schema/schemas/ subdirectory