-
Notifications
You must be signed in to change notification settings - Fork 7
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
improve SHACL shapes #282
Comments
Some more ideas for validating the shapes:
|
According to section 8.9.1 of CBV 2.0 public review draft, we're still permitting the use of UUIDs, so we would need to also permit a third options within the sh:or above to allow: eventID : I have also generalised the pattern for the value of 'ver' to support forward-compatibility, aligned with what is described in bullet point 22 of section 8.9.2 of CBV 2.0 public review draft. |
https://github.com/gs1/EPCIS/blob/master/Ontology/EPCIS-SHACL.ttl now uses xsd:double for all floating-point values except for the following, for backward-compatibility with v1.2: epcis:Quantity_TypeConstraint It has also been used to use sh:targetClass sparingly, using sh:targetObjectsOf (and mentioning the property/properties that expect the class), although sh:targetClass is still used for EPCISDocument and the five event types, since there is no appropriate property that could be used with sh:targetObjectsOf (as an alternative for these). The following checks were already implemented: eventTime : xsd:dateTimeStamp [1] - see epcis:EventTime_IsMandatory and EventTime_TypeConstraint These are currently checked within each event type - we could move those to being checked within lines 16-18, within the part of epcis:EPCISDocumentShape that validates the values of epcis:eventList |
@mgh128 EPCIS-SHACL.ttl requires a serious review against changes to the semantic representation done in the last 6 months (I'm looking at EPCIS-Ontology-20210907-VA-comments-20210921.pdf). Here are some comments from a brief review (20 minutes): 1: "backward-compatibility with v1.2": that had only a XML representation, so why is such compatibility needed? 2: indentation
3: syntax check: the last line above should end in ".". Always do 4: specific patterns:
5: Unnecessary quoting: "^ni:\/\/" better written as "^ni://" 6: EPCISDocumentBody shape needed: This is wrong because there's an intermediate node: EPCISDocument-> epcisBody -> EPCISDocumentBody -> eventList.
7: wrong props
8: Specify small nomenclatures:
9: This is wrong because sh:nodeKind is a nomenclature fixed in SHACL, and because we don't expect EPCIS docs to carry the type epcis:ILMD. I think remove this constraint.
10: Object vs Datatype prop:
|
We haven't looked at SHACL shapes for a while, and I'd guess they can take improvement. (@mgh128 what's your assessment?)
We also must address the following issues:
owl:sameAs
(@mkotoff)decimal, float
sh:targetObjectsOf
to avoid the need for reasoning (@mkotoff)(currently EPCIS-Ontology-20210907.pdf, EPCIS-Ontology-alternativeVersion-2021-09-14rev2.pdf)
The text was updated successfully, but these errors were encountered: