Fantastic breakdown of reifications in context graphs. The linked list approach for temporal ordering instead of date-based boundary checks is clever, I've seen similar performance issues with slow SPARQL queries that could benefit from this. The chess game example makes the spatial movement concept click instantly. One thing I'm curious about is how you handle conflicts when differnet sources report different event years for the same succession.
Again, I think this is where annotations really shine. An event is a report of something that happened, and that usually should incorporate who the reporter is (or at a minimum, what the provenance is). One significant change in thinking when you start using reification is that statements are not necessarily true; they simply are asserted. I could see a a reification on a statement for a Questioning event - "this statement may be false for these reasons" or even a Falsified event - "this statement has been proven false." It makes the queries more complex, but it also moves you out of the realm where every assertion must be true (which holds for OWL, but I think is actually untenable when dealing with real world data).
I think it meets many of the requirements. PROV certainly defines provenance, which is annotative in nature, so there's some overlap, but PROV was specifically built without explicit reification in mind. I have a feeling that you could build a reified version of PROV quite readily, however. Something worth thinking about.
These are, for the most part, higher-order concepts. I'm focusing mainly on mechanics here - really, how RDF 1.2 works, and what can be built on top of it. My assumption is that most of these things (such as stakeholder roles and authorities) can be built using SHACL. I have a few upcoming pieces about this.
Fantastic breakdown of reifications in context graphs. The linked list approach for temporal ordering instead of date-based boundary checks is clever, I've seen similar performance issues with slow SPARQL queries that could benefit from this. The chess game example makes the spatial movement concept click instantly. One thing I'm curious about is how you handle conflicts when differnet sources report different event years for the same succession.
Thanks.
Again, I think this is where annotations really shine. An event is a report of something that happened, and that usually should incorporate who the reporter is (or at a minimum, what the provenance is). One significant change in thinking when you start using reification is that statements are not necessarily true; they simply are asserted. I could see a a reification on a statement for a Questioning event - "this statement may be false for these reasons" or even a Falsified event - "this statement has been proven false." It makes the queries more complex, but it also moves you out of the realm where every assertion must be true (which holds for OWL, but I think is actually untenable when dealing with real world data).
What is your take on W3C Prov with respect to it's ability to model Context Graphs (in the context - sorry - of this essay)?
In other words, can W3C Prov (specifically PROV-O) meet the requirements of a Context Graph as you define it?
I think it meets many of the requirements. PROV certainly defines provenance, which is annotative in nature, so there's some overlap, but PROV was specifically built without explicit reification in mind. I have a feeling that you could build a reified version of PROV quite readily, however. Something worth thinking about.
Very good article. The Article Does Not Cover:
Lifecycle semantics (not just events)
Stakeholder roles and authority
Explicit separation of structure vs execution
Human-machine semantic boundary
Cross-domain generality (not RDF-specific)
Civilizational-scale governance assumptions
Non-AI foundational capability (AI optional, not required)
The article is rediscovering the need for these. RGEM already encodes them.
These are, for the most part, higher-order concepts. I'm focusing mainly on mechanics here - really, how RDF 1.2 works, and what can be built on top of it. My assumption is that most of these things (such as stakeholder roles and authorities) can be built using SHACL. I have a few upcoming pieces about this.