KRR-Oxford/RSAComb

Implementation of builtin predicate `notIn`

dyamon opened this issue · 2 comments

This might be a problem since we can't change how RDFox performs its materialisation.

Possible solutions are:

  1. Find a way to encode the predicate using RDFox aggregates and/or builtin functions;
  2. Create a predicate in (specifying its instances during role creation) and than use negation-as-failure to simulate notIn. Since in cannot be deduced anywhere using NaF should be equivalent to having normal negation.

After reading the definition of notIn(x, y) is seems like

[it] holds when the first element is an element of the set given as second element.

Despite the unfortunate name, this is much easier to implement.

Despite the informal definition provided by the paper, it seems that notIn really means "not in". With the latest commit we implemented the second option proposed here:

  1. Create a predicate in (specifying its instances during role creation) and than use negation-as-failure to simulate notIn. Since in cannot be deduced anywhere using NaF should be equivalent to having normal negation.