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
A CASE community member showed me some Validator log output that caught an incorrect timestamp-literal format in a createdTime property. This was a good catch of the Validator. However, the createdTime property in this person's data was using an incorrect namespace, case-investigation:createdTime. The Investigation namespace does not define that property.
It appears the Validator is taking the "open world" assumption a bit too strongly. Concept names that the instance data assert are in the ontology, but that aren't actually in the ontology, are not being called out. Asserted data-literal types (such as xsd:dateTime) are checked.
Only uco-core:createdTime and uco-observable:ObservableObject are appropriate concept names.
This is the relevant portion of validator log output on that output:
VALIDATING createdTimes.json
Constraint Error: Line 21, Class <uco-observable:ObservableObject> Property <uco-observable:hasChanged> Data is missing required property.
Error: Line 21, Class <uco-observable:ObservableObject> Property <case-investigation:createdTime> '01/02/2003 01:02:03' is not a valid value of the atomic type 'xs:dateTime'.
Error: Line 21, Class <uco-observable:ObservableObject> Property <uco-action:idontexist> '01/02/2003 01:02:08' is not a valid value of the atomic type 'xs:dateTime'.
Error: Line 21, Class <uco-observable:ObservableObject> Property <uco-action:createdTime> '01/02/2003 01:02:04' is not a valid value of the atomic type 'xs:dateTime'.
Error: Line 21, Class <uco-observable:ObservableObject> Property <uco-identity:createdTime> '01/02/2003 01:02:06' is not a valid value of the atomic type 'xs:dateTime'.
Error: Line 21, Class <uco-observable:ObservableObject> Property <uco-types:createdTime> '01/02/2003 01:02:08' is not a valid value of the atomic type 'xs:dateTime'.
Error: Line 21, Class <uco-observable:ObservableObject> Property <uco-location:createdTime> '01/02/2003 01:02:07' is not a valid value of the atomic type 'xs:dateTime'.
Error: Line 21, Class <uco-observable:ObservableObject> Property <uco-core:createdTime> '01/02/2003 01:02:05' is not a valid value of the atomic type 'xs:dateTime'.
Note that the properties uco-action:ialsodontexist and uco-action:methreeonnotexisting are not called out. All of the xs:dateTime value-format errors are correctly called out. And the ontology is in fact loaded, indicated by the Constraint Error reported for uco-observable:hasChanged being absent. (Nevermind that that's an ontology bug, already filed in UCO's Jira.)
The Validator needs to close its open-world assumption a bit, and check for properties in tracked namespaces existing. Concepts the instance data assert to be in the ontology, but that aren't, should raise a validation error.
The text was updated successfully, but these errors were encountered:
A CASE community member showed me some Validator log output that caught an incorrect timestamp-literal format in a
createdTime
property. This was a good catch of the Validator. However, thecreatedTime
property in this person's data was using an incorrect namespace,case-investigation:createdTime
. The Investigation namespace does not define that property.It appears the Validator is taking the "open world" assumption a bit too strongly. Concept names that the instance data assert are in the ontology, but that aren't actually in the ontology, are not being called out. Asserted data-literal types (such as
xsd:dateTime
) are checked.Take for example this JSON-LD instance-data file:
Only
uco-core:createdTime
anduco-observable:ObservableObject
are appropriate concept names.This is the relevant portion of validator log output on that output:
Note that the properties
uco-action:ialsodontexist
anduco-action:methreeonnotexisting
are not called out. All of thexs:dateTime
value-format errors are correctly called out. And the ontology is in fact loaded, indicated by the Constraint Error reported foruco-observable:hasChanged
being absent. (Nevermind that that's an ontology bug, already filed in UCO's Jira.)The Validator needs to close its open-world assumption a bit, and check for properties in tracked namespaces existing. Concepts the instance data assert to be in the ontology, but that aren't, should raise a validation error.
The text was updated successfully, but these errors were encountered: