KRR-Oxford / RSAComb

Re-implementation of the combined approach for CQ answering over RSA ontologies
https://www.cs.ox.ac.uk/isg/tools/RSAComb
Apache License 2.0
2 stars 0 forks source link

Implementation of builtin predicate `notIn` #5

Closed dyamon closed 4 years ago

dyamon commented 4 years ago

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.

dyamon commented 4 years ago

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.

dyamon commented 3 years ago

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.