aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md24
1 files changed, 12 insertions, 12 deletions
diff --git a/README.md b/README.md
index 55a4b01..7a9697e 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ We assume you followed [these steps](https://docs.oxfordsemantic.tech/getting-st
21 21
22The [documentation](https://docs.oxfordsemantic.tech/features-and-requirements.html#license-key), describes several ways to provide the license to RDFox. 22The [documentation](https://docs.oxfordsemantic.tech/features-and-requirements.html#license-key), describes several ways to provide the license to RDFox.
23 23
24One easy way is to put your license key in a file `RDFox.lic` in `$HOME/.RDFox/`, with adeguate read permissions for the user executing the program. 24One easy way is to put your license key in a file `RDFox.lic` in `$HOME/.RDFox/`, with adequate read permissions for the user executing the program.
25 25
26### Compiling and running the project 26### Compiling and running the project
27 27
@@ -48,21 +48,21 @@ Note that the fat jar file distributed with this repository excludes the RDFox a
48java -cp <path/to/JRDFox.jar>:<path/to/fat.jar> uk.ac.ox.cs.rsacomb.RSAComb [<option> ...] 48java -cp <path/to/JRDFox.jar>:<path/to/fat.jar> uk.ac.ox.cs.rsacomb.RSAComb [<option> ...]
49``` 49```
50 50
51### Running tests and examples 51### Running tests
52 52
53TODO 53To run the suit of unit test provided along with the code run
54```
55sbt test
56```
54 57
55## Changes introduced 58## Changes introduced
56 59
57We tried to implement the system as close as possible to the theoretical description provided in [[1](#references)]. 60We tried to implement the system as close as possible to the theoretical description provided in [[1](#references)].
58Regardless, 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. 61Regardless, 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.
59The following is a summary of fixes (🔧), changes (🔄) and improvements (⚡), we introduced along the way: 62The following is a (non exhaustive) summary of fixes (🔧), changes (🔄) and improvements (⚡), we introduced along the way:
60 63
61+ 🔄 [RDFox](https://www.oxfordsemantic.tech/product) is used instead of DLV as the underlying LP engine. 64+ 🔄 [RDFox](https://www.oxfordsemantic.tech/product) is used instead of DLV as the underlying LP engine.
62 65
63+ 🔄 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.
64 Materialisation is handled by RDFox, possibly computing answers in one go, without splitting the process in two separate steps.
65
66+ 🔧 In Def.4, the definition of built-in predicate `notIn` is wrong and should reflect the implicit semantics implied by the name, i.e., 66+ 🔧 In Def.4, the definition of built-in predicate `notIn` is wrong and should reflect the implicit semantics implied by the name, i.e.,
67 67
68 > let [...] `notIn` be a built-in predicate which holds when the first argument is **not** an element of the set given as second argument 68 > let [...] `notIn` be a built-in predicate which holds when the first argument is **not** an element of the set given as second argument
@@ -83,7 +83,6 @@ The following is a summary of fixes (🔧), changes (🔄) and improvements (⚡
83 rsa:congruent[?X, ?Z] :- rsa:congruent[?X, ?Y], rsa:congruent[?Y, ?Z] . 83 rsa:congruent[?X, ?Z] :- rsa:congruent[?X, ?Y], rsa:congruent[?Y, ?Z] .
84 ``` 84 ```
85 defining equivalence as a congruence relation over terms in the ontology. 85 defining equivalence as a congruence relation over terms in the ontology.
86 *Substitution rules have not been entroduced yet.*
87 86
88+ 🔧 In Def. 4, the definition of built-in predicate `NI` is not consistent with its use in Table 3 and related description in Sec. 4.2. 87+ 🔧 In Def. 4, the definition of built-in predicate `NI` is not consistent with its use in Table 3 and related description in Sec. 4.2.
89 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`). 88 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`).
@@ -94,12 +93,13 @@ The following is a summary of fixes (🔧), changes (🔄) and improvements (⚡
94 ``` 93 ```
95 where `rsa:named` is an internal predicate keeping track of all constants in the original ontology. 94 where `rsa:named` is an internal predicate keeping track of all constants in the original ontology.
96 95
97+ âš¡ In Def. 3, regarding the generation of the logic program used for the RSA checkk, only T5 axioms involving an unsafe role will introduce the internal predicates `PE` and `U`. 96+ âš¡ In Def. 3, regarding the generation of the logic program used for the RSA check, only T5 axioms involving an unsafe role will introduce the internal predicates `PE` and `U`.
98 97
99+ âš¡ Both in the canonical model and the filtering program computations, rules without a body are loaded into RDFox as facts. 98+ âš¡ Both in the canonical model and the filtering program computations, rules without a body are loaded into RDFox as facts.
100 99
101+ ⚡ The `cycle` function introduced in Def.4 establishing the direction of the *unraveling* of loops is defined over triples `(A,R,B)`. We are currently limiting the triple only to those appearing in a T5 axiom `A ⊑ ∃R.B`. Note that this greatly limits the size of cycle for a given triple, and as a consequence limits the number of rules used to compute the canonical model. 100+ ⚡ The `cycle` function introduced in Def.4 establishing the direction of the *unraveling* of loops is defined over triples `(A,R,B)`. We are currently limiting the triple only to those appearing in a T5 axiom `A ⊑ ∃R.B`. Note that this greatly limits the size of cycle for a given triple, and as a consequence limits the number of rules used to compute the canonical model.
102 101
102
103## References 103## References
104 104
105[1] Feier, Cristina, David Carral, Giorgio Stefanoni, Bernardo Cuenca Grau, and Ian Horrocks. 105[1] Feier, Cristina, David Carral, Giorgio Stefanoni, Bernardo Cuenca Grau, and Ian Horrocks.
@@ -109,12 +109,12 @@ The following is a summary of fixes (🔧), changes (🔄) and improvements (⚡
109 109
110## Acknowledgements 110## Acknowledgements
111 111
112TODO 112*temporarily redacted*
113 113
114## Credits 114## Credits
115 115
116TODO 116*temporarily redacted*
117 117
118## License 118## License
119 119
120TODO 120*temporarily redacted*