gs1 / EPCIS

Draft files being shared for EPCIS 2.0 development
Other
20 stars 7 forks source link

class Transformation #294

Closed VladimirAlexiev closed 3 years ago

VladimirAlexiev commented 3 years ago

transformationID identifies a transformation process that's longer-running than a single TransformationEvent. So we must have a class to capture that process: if we have one for the more ephemeral events, then we also need one for the longer-running process.

Proposed definition:

epcis:Transformation a owl:Class , rdfs:Class ;
        rdfs:comment      """A transformation business processes that is associated with a series of TransformationEvents, i.e. is captured by two or more TransformationEvents. 
When TransformationEvents share the same transformationID, the meaning is that the input(s) to any of those events may have contributed in some way to the output(s) of any of those same events."""@en ;
        rdfs:isDefinedBy  epcis: ;
        rdfs:label        "Transformation"@en ;
        sw:term_status    "stable" .

epcis:transformationID  a owl:ObjectProperty , rdf:Property ;
        rdfs:comment      """Links a series of TransformationEvents with a Transformation process.
When TransformationEvents share the same transformationID, the meaning is that the input(s) to any of those events may have contributed in some way to the output(s) of any of those same events."""@en ;
        rdfs:domain       epcis:TransformationEvent ;
        schema:domainIncludes epcis:TransformationEvent ;
        rdfs:isDefinedBy  epcis: ;
        rdfs:label        "transformationID"@en ;
        rdfs:range        epcis:Transformation ;
        schema:rangeIncludes epcis:Transformation ;
        sw:term_status    "stable" .

Add to EPCIS.ttl. Also: add the class to the "class hier" sheet, ensure the prop is in the respective sheet.

VladimirAlexiev commented 3 years ago

@mgh128 wrote

Yes, to be forward-looking, it probably should identify a class / be an ObjectProperty. In EPCIS v1.2 XSD, TransformationID is an xsd:anyURI. It is used to correlate related transformation events over an extended period of time, if they refer to the same transformation. CBV v1.2 section 8.7 defines URI formats for transformationID, not surprisingly two URN formats and one Web URI format. There is no requirement in EPCIS/CBV v1.2 for those TransformationID URIs to resolve to useful data (and this would be unlikely in the URN scenario anyway). However, since a Web URI approach is already supported in CBV v1.2, then it could support a Linked Data approach, in which the Transformation ID URI identifies a class, for which properties and values may be expressed using some Linked Data vocabulary. In v1.2 GS1 provides no guidance on this.

Even if there's no data about an epcis:Transformation (only incoming links) and even if its URI doesn't resovle, it's still worth having a type for that node.

The standard says in so many words "TransformationEvents may point to a shared node". The ontology should describe what that node stands for in the real world (a longer-running Transformation process). (That will have no impact on JSON, JSONLD, or CBV)

@mgh128 @CraigRe @RalphTro Do you agree? And do you have edits for the turtle descriptions (rdfs:comment) above?

RalphTro commented 3 years ago

Dear @VladimirAlexiev , When we introduced this field, industry just needed a convenient way to link several related X Events (e.g. in silo processes where it takes several days or even weeks to consume a given input, whereas a company nevertheless needs to capture several X in between). So, the decisive feature of a URI populating the XID was its uniqueness, not the ability to refer to a resource describing that it is a longer-running transformational process.

Note that there could be cases where a company chooses to capture one event after several days/weeks - so, the usage of the XID field does not necessarily tell you that the process is taking longer (technically, the periods could be pretty short :-)), it just tells you that there are one or more X events which are related to a given X event.

So, if we decide to provide a definition, how about sth. like this: "identifies a transformational process that is captured by two or more TransformationEvents"?

VladimirAlexiev commented 3 years ago

@RalphTro how's this: "A transformation business processes that is associated with a series of TransformationEvents, i.e. is captured by two or more TransformationEvents. When TransformationEvents share the same Transformation, the meaning is that the inputs to any of those events may have contributed in some way to each of the outputs in any of those same events."@en ;

VladimirAlexiev commented 3 years ago

@mkotoff