aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorFederico Igne <federico.igne@cs.ox.ac.uk>2020-11-19 10:23:13 +0000
committerFederico Igne <federico.igne@cs.ox.ac.uk>2020-11-19 10:23:13 +0000
commitd9511b4f3742ae9f4b8f589bd154159d7a45b944 (patch)
tree2f3ec1af9d6136a152fb7d47b84482ed447d1316 /README.md
parent1efc189e90240c162b54cbc50362b46786643dad (diff)
downloadRSAComb-d9511b4f3742ae9f4b8f589bd154159d7a45b944.tar.gz
RSAComb-d9511b4f3742ae9f4b8f589bd154159d7a45b944.zip
Update README.md
Diffstat (limited to 'README.md')
-rw-r--r--README.md37
1 files changed, 32 insertions, 5 deletions
diff --git a/README.md b/README.md
index 44138b9..d1de522 100644
--- a/README.md
+++ b/README.md
@@ -35,11 +35,38 @@ We tried to implement the system as close as possible to the theoretical descrip
35Regardless, we had to deal with the fact that we where using different tools to carry out reasoning tasks and we where probably using a different language to implement the system. 35Regardless, we had to deal with the fact that we where using different tools to carry out reasoning tasks and we where probably using a different language to implement the system.
36The following is a summary of fixes (🔧), changes (🔄) and improvements (⚡), we introduced along the way: 36The following is a summary of fixes (🔧), changes (🔄) and improvements (⚡), we introduced along the way:
37 37
38+ 🔧 FIX 38+ 🔄 [RDFox](https://www.oxfordsemantic.tech/product) is used instead of DLV as the underlying LP engine.
39 39
40+ 🔄 CHANGE 40+ 🔧 In [[1](#references) - Def.4], the definition of built-in predicate `notIn` is wrong and should reflect the implicit semantics implied by the name, i.e., "let [...] `notIn` be a built-in predicate which holds when the first argument is **not** an element of the set given as second argument".
41 41 This has been fixed by (1) introducing a built-in predicate `In` (note that instances of `In` can be computed beforehand since they only depend on the input ontology), and (2) implement `notIn` as the negation of `In` using RDFox NaF built-in support.
42+ âš¡ IMPROVEMENT 42
43+ 🔄 Top (`owl:Thing`) axiomatisation is performed introducing rules as follows.
44 Given *p* predicate (arity *n*) *in the original ontology*, the following rule is introduced:
45 ```
46 owl:Thing[?X1], *...*, owl:Thing[?Xn] :- *p*(?X1, *...*, ?Xn) .
47 ```
48 Note that by definition arity can be either 1 or 2.
49
50+ 🔄 Equality axiomatisation is performed introducing the following rules:
51 ```
52 rsa:congruent[?X, ?X] :- owl:Thing[?X] .
53 rsa:congruent[?Y, ?X] :- rsa:congruent[?X, ?Y] .
54 rsa:congruent[?X, ?Z] :- rsa:congruent[?X, ?Y], rsa:congruent[?Y, ?Z] .
55 ```
56 defining equivalence as a congruence relation over terms in the ontology.
57 *Substitution rules have not been entroduced yet.*
58
59+ 🔧 In [[1](#references) - Def. 4], the definition of built-in predicate `NI` is not consistent with its use in [[1](#references) - Table 3] and related description in [[1](#references) - Sec. 4.2].
60 We redefined `NI` as the set of all constants that are *equal* to a constant in the original ontology (according to the internal equality predicate `rsa:congruent`).
61 Note that, in this scenario, there is no need to introduce `NI` instances as facts in the system;
62 instead we can add a rule to populate the new predicate:
63 ```
64 NI[?X] :- rsa:congruent[?X, ?Y], rsa:named[?Y] .
65 ```
66 where `rsa:named` is an internal predicate keeping track of all constants in the original ontology.
67
68+ 🔄 While the system is described as a two-step process (computing the canonical model and applying the filtering program), the adoption of RDFox allows us to abstract from the underlying engine implementation.
69 Materialisation is handled by RDFox, possibly computing answers in one go, without splitting the process in two separate steps.
43 70
44## References 71## References
45 72