1

Does GraphDB offer configurability on materialization strategies to allow for non-monotonic entailment? I.e. adding new explicit statements to the graph might require retracting existing implicit statements that were already inferred based on previous assertions made to the graph.

Stanislav Kralin
  • 11,070
  • 4
  • 35
  • 58

2 Answers2

1

From the GraphDB documentation this does indeed seem possible to some extend:

GraphDB stores explicit and implicit statements, i.e., the statements inferred (materialised) from the explicit statements. So, when explicit statements are removed from the repository, any implicit statements that rely on the removed statement must also be removed.

I.e., if a new triple causes a previously implicit/explicit triple to be removed, any implicit triples related to this removed triple will also be removed.

You can read more on GraphDB reasoning strategies here.

Henriette Harmse
  • 4,167
  • 1
  • 13
  • 22
1

The GraphDB inference engine (and it's rule language) do not support negation in any form, so a non-monotoning reasoning is not supported by it.

Damyan Ognyanov
  • 791
  • 3
  • 7
  • Not sure that "any form of negation" is absolutely necessary for non-monotonicity... By the way, there are constraints like `[Constraint a != ]` :) – Stanislav Kralin Aug 02 '18 at 14:58
  • 1
    What I mean was a "negation as failure" as a construct in the rule's language syntax. So the rule does not fire if all the premices are not macthed(present). The above inaqulity just reduces the full closure (e.g. do not derive anything in case 'a' is equal to rdf:type for a particular premice) – Damyan Ognyanov Aug 02 '18 at 15:52