Discussion about this post

User's avatar
Pete Rivett's avatar

Lots of good points here, Kurt, in a very broad-reaching article. Some follow-ups...

- "open world assumption" and "closed world assumption" have well-defined and long-understood meanings. In closed world, any fact not explicitly asserted can be assumed to be false: if Pete is not recorded as an employee of IBM in your database then you know that IBM hasEmployee Pete is false. With the open world assumption you admit you don't know - maybe your database hasn't been updated recently or it does not cover all countries. So the fact is unknown.

What you discuss is more like an "open model question" - whether a model used can be assumed to be a complete representation of the world. SHACL does have sh:closed for NodeShapes which, if true, makes any additional property on the nodes invalid. OWL allows you to have different models of reality e.g. for Sales and Finance and to relate them e.g. via equivalentClass or subClassOf assertions and to apply them to the same instances.

- Reification is not as necessary as you imply, which is why it has been largely ignored as you say. Neither are knowledge graphs stuck representing a single moment of reality. That's because if you care about such extra information you can always include it in your business model i.e. ontology. For example have a class Marriage or Employment with start and end dates. Or CompanyOwnership or Acquisition with dates. You can always get current reality by filtering for individuals with no end date. There's no "context graph" magic needed here - it's how people have always done data modeling.

- Named graphs are no more firm or limited than the default graph in a knowledge graph and neither do they disrupt the open world assumption or provide anything essential for provenance or security etc - though they can be the basis of useful techniques (e.g. to hide provenance and change tracking information in a separate named graph unless its actually needed).

No posts

Ready for more?