-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EPCIS traceability alignment #385
Comments
Hi @nissimsan
v2.0 (the result of almost four years of major modernisation efforts, including the addition of JSON/JSON-LD data format, REST / OpenAPI interface, business-relevant sensor data and various other improvements, including persistentDisposition and formal Linked Data ontologies for EPCIS and CBV) also introduces a further standardised event type (AssociationEvent) for more permanent associations (such as the attachment of a sensor device to a returnable transport container such as a plastic crate, such that the sensor device remains attached even when the fruit/vegetables are emptied from the crate). You're very welcome to look at https://github.com/gs1/EPCIS to see our current draft examples and schema. Publication of EPCIS/CBV v2.0 and its schema and artefacts is expected within Q2 of 2022. We're currently doing final corrections and checks. I took a quick look at TransformEvent, TransferEvent and I agree that there is some potential overlap. Your TransformEvent appears to correspond to our EPCIS TransformationEvent in which the fields Your TransferEvent appears to correspond to something which we would usually model in GS1 EPCIS as an ObjectEvent with "bizStep" : "shipping" or "bizStep" : "receiving". We use the "source" and "destination" fields to identify the locations or organisations involved in the transfer, while the source/destination type indicates whether the value is a location, possessing party or owning party - and each event may specify a source or destination for each of these types. See for example https://github.com/gs1/EPCIS/blob/master/JSON/Example_9.6.2-ObjectEvent.jsonld A general comment I would make is that EPCIS event data generally does not embed significant amounts of master data about products, organisations, locations. Although this is possible using GS1 CBV master data attributes and instance/lot master data, an alternative approach would be to make use of GS1 Digital Link URIs (see https://www.gs1.org/standards/gs1-digital-link ) and their resolver infrastructure to be redirected to (by specifying a link type of https://www.gs1.org/voc/masterData ) sources of master data about that object / organisation / location, such as a block of JSON-LD published online using Linked Data markup using schema.org and/or the GS1 Web vocabulary ( https://gs1.org/voc ). So our EPCIS approach is perhaps less self-contained than your approach but that's to keep the event data volumes more manageable in EPCIS event repositories. Happy to discuss further. I hope the examples are helpful in the meantime. |
hi Mark @mgh128 !
Right! In JSONLD it's a simple matter of defining in a frame whether the master data should be The real problem is in the structure of the JSON Schemas that |
By the way, some of you might previously have been looking at github.com/gs1/EPCIS . |
@CraigRe, noting that github.com/gs1/EPCIS is 404'ing. Is that a private repo? |
@nissimsan - the former repository at github.com/gs1/EPCIS has moved to a private repository |
https://github.com/w3c-ccg/traceability-vocab/blob/main/docs/openapi/components/schemas/common/CommissionEvent.yml corresponds to epcis:CreateEvent with epcis:action="CREATE" |
Almost correct - except that Typically, in EPCIS a commissioning event is represented as an There are also situations where input objects (such as ingredients) are irreversibly transformed into output objects (such as mixes or products) - and in this situation, the commissioning of those output objects can be represented via an In the above, the CURIE prefix |
@mgh128, @CraigRe and I talked this over yesterday. A sensible next step will be to start implementing the EPCIS event model with the terms defined in https://ref.gs1.org/epcis/. https://ref.gs1.org/docs/epcis/examples includes examples we can use for VC examples. |
Need for someone to pick this up - @nissimsan is happy to collaborate and discuss any work already done |
@paulfdietrich, let's collaborate on this as discussed on the call. |
@nissimsan happy to try to lend some insight here. I'm with the GS1 US standards team and I focuse on EPCIS. I work with @paulfdietrich, @mgh128, and @CraigRe . A couple of quick thoughts:
I'm late to the party but happy to help interpret how GS1 Standards (EPCIS and others) could be utilized with a Verifiable Credential based Traceability Vocabulary. I saw the use of GS1 ID Keys in a few of the other example VCs. I may not be able to attend the calls regularly or contribute PRs but I'm happy to respond to issues like this and point you all in the right direction. Let me know if that would be helpful or other support you all might need. |
Thanks to Neil @visibleOrigins for that summary. Regarding what he said : EPCIS data differs from other business data because it doesn't correlate with a concrete transaction recognized by trading partners (e.g., Bill of Lading, Purchase Order). It envisions a data sharing model of inter-connected EPCIS repositories utilizing APIs to execute queries for the events held by respective trading partners in their chosen repositories. I'd like to assure everyone that each EPCIS event can reference one or more associated business transactions by ID and by type (see the code list at https://ref.gs1.org/cbv/BTT ). Each EPCIS event can express a property/field called bizTransactionList which expects one or more instances of a BizTransaction class that then has a property bizTransactionType (appearing in the JSON/XML syntax as 'type') that expects a value from the CBV code list BTT, while its RDF Subject is the URI of the business transaction, though the JSON / XML syntax shows this as a 'bizTransaction' property (really just an alias of I think the point that Neil @visibleOrigins was trying to make is that the event data isn't embedded within EDI-style transaction messages that contain significant master data. EPCIS events can be retrieved and exchanged on-demand, typically between trading partners. If we need to reference master data, our current best practice is to do so by reference rather than embedding much master data within the EPCIS event data. The GS1 Web vocabulary is an external extension to schema.org and enables products (but also organisations and locations) to be described in greater detail than using schema.org in isolation. Further updates are currently in progress to enhance the expressiveness of the GS1 Web vocabulary in relation to organisations and locations and will appear in updates over the next few months. |
Great additions @mgh128 ! I'll try to be a little more clear. I was trying to express that several of the example Credentials already built by this community have a correlary to an "official form" or commonly recognized transaction between two trading partners. For example, the CBP Form 7501 - Entry Summary Credential maps to CBP Form 7501 and the Bill of Lading Credential maps to a commonly recognized document that is typically exchanged between a shipper, receiver, carrier, freight forwarder, customs brokers, etc. EPCIS data on the other hand doesn't represent discrete singular documents. When this data is exchanged, it's a collection of events. For example, a Warehouse receiving a shipment could query the receiver for the events about the journey of the various shipping containers in that shipment. The receiver could return this collection:
I'm trying to provide context because it may not make sense for single EPCIS events to be a Credential but maybe collections of events (i.e., EPCIS Documents) would be Credentials. |
@nissimsan to action this still. |
Still ready for PR @nissimsan |
@mgh128, I just got a link to your white paper from Phil:
https://gs1.github.io/EndToEndTraceability/GS1-WhitePaper-VerifiableCredentials-EPCIS-end-to-end-traceability.pdf
Some of the terms seem very similar to event types which we recently added to this repo: TransformEvent, TransferEvent, and a few others. It'd be great if you can take a quick look from a harmonization point of view. Specifically, we shouldn't be re-invent something like
https://w3id.org/traceability#TransformEvent
if there is already a GS1 definition.The text was updated successfully, but these errors were encountered: