You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Inverse properties are redundant in RDF because SPARQL can always navigate in both directions no matter which direction is expressed by a property.
(Eg by using an inverse property path: ?y ^epcis:prop ?x instead of ?x epcis:prop ?y.
So it's right that EPCIS does not define any inverses. However, defining the names of potential inverses is useful:
I'd suggest that EPCIS defines the inverse name of each property.
I started this as a new col inverse name in the props gsheet using these guidelines:
Always use singular
When the range has only one kind of relation to the domain, use merely the domain name, eg:
cbv:BizStep - event - epcis:EPCISEvent (inverse name of epcis:bizStep)
When the range has several kinds of relations to the domain, disambiguate by adding more words:
epcis:SourceOrDestination - eventWithDestination - epcis:EPCISEvent (inverse name of epcis:destinationList)
epcis:SourceOrDestination - eventWithSource - epcis:EPCISEvent (inverse name of epcis:destinationList)
gs1:Place - eventWithBizLocation - epcis:EPCISEvent (inverse name of epcis:bizLocation)
gs1:Place - eventWithReadPoint - epcis:EPCISEvent (inverse name of epcis:readPoint)
cbv:Disp - dispToSet - epcis:PersistentDisposition (inverse name of epcis:set)
cbv:Disp - dispToUnset - epcis:PersistentDisposition (inverse name of epcis:unset)
Datatype props don't have inverse names
(because you can't navigate eg from value: 3.14 to all sensorReports having that value, and it that's not a reasonable requirement to navigate in this way)
Object props without range don't have inverse names because there's no class to attach the virtual inverse to
(although it would be valuable to find sensorReports about given chemicalSubstance or microorganism)
To be emitted like this (penultimate line):
epcis:bizLocation a owl:ObjectProperty , rdf:Property ;
rdfs:comment "(Optional) The business location where the objects associated with the EPCs may be found, until contradicted by a subsequent event."@en ;
rdfs:domain epcis:EPCISEvent ;
schema:domainIncludes epcis:EPCISEvent ;
rdfs:isDefinedBy epcis: ;
rdfs:label "bizLocation"@en ;
rdfs:range gs1:Place ;
schema:rangeIncludes gs1:Place ;
prov:inverse "eventWithBizLocation";
sw:term_status "stable" .
The text was updated successfully, but these errors were encountered:
Inverse properties are redundant in RDF because SPARQL can always navigate in both directions no matter which direction is expressed by a property.
(Eg by using an inverse property path:
?y ^epcis:prop ?x
instead of?x epcis:prop ?y
.So it's right that EPCIS does not define any inverses. However, defining the names of potential inverses is useful:
prov:inverse
, see https://www.w3.org/TR/prov-o/#inverse-namesI'd suggest that EPCIS defines the inverse name of each property.
I started this as a new col
inverse name
in the props gsheet using these guidelines:epcis:bizStep
)epcis:destinationList
)epcis:destinationList
)epcis:bizLocation
)epcis:readPoint
)epcis:set
)epcis:unset
)(because you can't navigate eg from
value: 3.14
to all sensorReports having that value, and it that's not a reasonable requirement to navigate in this way)(although it would be valuable to find sensorReports about given
chemicalSubstance
ormicroorganism
)To be emitted like this (penultimate line):
The text was updated successfully, but these errors were encountered: