From 5df074da77a2a297168b7b14d1bc2c88f02c500b Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Thu, 11 Jul 2024 09:19:12 -0400 Subject: [PATCH] Describe situation A follow-on patch will regenerate Make-managed files. Signed-off-by: Alex Nelson --- .../existence_intervals/src/README.md.in | 6 ++- .../existence_intervals-gufo-situation.json | 40 +++++++++++++++++++ 2 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 examples/illustrations/existence_intervals/src/existence_intervals-gufo-situation.json diff --git a/examples/illustrations/existence_intervals/src/README.md.in b/examples/illustrations/existence_intervals/src/README.md.in index 6b19c20c..2f7d800f 100644 --- a/examples/illustrations/existence_intervals/src/README.md.in +++ b/examples/illustrations/existence_intervals/src/README.md.in @@ -125,7 +125,7 @@ gUFO's topmost class that describes an object that exists in a period of time is * `gufo:Endurant` corresponds with UCO Issue 535's "Endurant". * `gufo:Event` corresponds with UCO Issue 535's "Perdurant". -* `gufo:Situation` is left out of scope of this discussion. +* `gufo:Situation` is mostly out of scope of this discussion, though the interested can review a footnote about temporary `@type` applicability[^1]. Two properties, "has begin point" and "has end point," assign the first and last instants that any concrete individual exists. The properties have range `time:Instant`, inheriting the vocabulary and entailing the structures of OWL-Time as described above. @@ -143,7 +143,7 @@ This is the same endurant with reified instants housing the beginning and end: @EXISTENCE_INTERVALS_GUFO_OBJECT_INSTANTS_JSON@ ``` -Intervals of existence do not appear to be defined directly in gUFO. Also, since only the first and last instant of a concrete individual are specified, it is also not explicit in gUFO whether an individual's interval of existence needs to be continuous. For instance, a `gufo:Situation` may be seen to hold for a period of time (such as a person being a student in a `gufo:TemporaryInstantiationSituation`), then not hold (e.g., when the person graduates from a school), then hold again (e.g., when the person later enrolls in another school). +Intervals of existence do not appear to be defined directly in gUFO. Also, since only the first and last instant of a concrete individual are specified, it is also not explicit in gUFO whether an individual's interval of existence needs to be continuous. For instance, a `gufo:Situation` may be seen to hold for a period of time, such as a person temporarily being a student in a `gufo:TemporaryInstantiationSituation`[^1], then not hold (e.g., when the person graduates from a school), then hold again (e.g., when the person later enrolls in another school). Timestamps are constrained to `xsd:dateTimeStamp`, not `xsd:dateTime`, which is consistent with OWL-Time's deprecation of `time:inXSDDateTime`. For UCO, this would necessitate transcoding `xsd:dateTime` timestamps with a non-OWL, and likely non-SPARQL, mechanism. @@ -175,3 +175,5 @@ _Aside_: A side-by-side view of the gUFO and OWL-Time coverage show that an onto | OWL-Time | gUFO | | --- | --- | | ![Abstraction - OWL-Time Temporal Entity](figures/abstraction_time.svg) | ![Abstraction - gUFO Concrete Individual](figures/abstraction_gufo.svg) | + +[^1]: gUFO represents instantations that are not always true with `gufo:TemporaryInstantiationSituation`. In the case where a person is temporarily a student, "student" is taken to be some subclass of "person" - e.g., `ex:Student rdfs:subClassOf ex:Person`. For some time, it holds that `kb:person-3393... a ex:Student`, but this is not always true. To hold this situationally-true statement in a knowledge graph, a `gufo:TemporaryInstantiationSituation` is included to note the conditions when `kb:person-3393...` is a `ex:Student`, instead of encoding the unqualified triple `kb:person-3393... a ex:Student`. See `kb:TemporaryInstantiationSituation-da1aa582-1358-49bb-b058-4c33990fb9e8` in [`existence_intervals.json`](existence_intervals.json) for a demonstration of this representation. diff --git a/examples/illustrations/existence_intervals/src/existence_intervals-gufo-situation.json b/examples/illustrations/existence_intervals/src/existence_intervals-gufo-situation.json new file mode 100644 index 00000000..1e143c86 --- /dev/null +++ b/examples/illustrations/existence_intervals/src/existence_intervals-gufo-situation.json @@ -0,0 +1,40 @@ +[ + { + "@id": "ex:Person", + "@type": "owl:Class", + "rdfs:subClassOf": { + "@id": "gufo:Object" + } + }, + { + "@id": "ex:Student", + "@type": "owl:Class", + "rdfs:subClassOf": { + "@id": "ex:Person" + } + }, + { + "@id": "kb:Person-3393dfc0-c765-4710-86db-8182c34de806", + "@type": "ex:Person", + "rdfs:label": "J. Doe", + "gufo:standsInQualifiedInstantiation": { + "@id": "kb:TemporaryInstantiationSituation-da1aa582-1358-49bb-b058-4c33990fb9e8" + } + }, + { + "@id": "kb:TemporaryInstantiationSituation-da1aa582-1358-49bb-b058-4c33990fb9e8", + "@type": "gufo:TemporaryInstantiationSituation", + "rdfs:comment": "This is the situation where J. Doe is a student, which started to hold Sep 1 2018, and no longer held on Jun 16, 2022.", + "gufo:concernsNonRigidType": { + "@id": "ex:Student" + }, + "gufo:hasBeginPointInXSDDateTimeStamp": { + "@type": "xsd:dateTimeStamp", + "@value": "2018-09-01T00:00Z" + }, + "gufo:hasEndPointInXSDDateTimeStamp": { + "@type": "xsd:dateTimeStamp", + "@value": "2022-06-16T00:00:00Z" + } + } +]