diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 24 |
1 files changed, 12 insertions, 12 deletions
@@ -21,7 +21,7 @@ We assume you followed [these steps](https://docs.oxfordsemantic.tech/getting-st | |||
21 | 21 | ||
22 | The [documentation](https://docs.oxfordsemantic.tech/features-and-requirements.html#license-key), describes several ways to provide the license to RDFox. | 22 | The [documentation](https://docs.oxfordsemantic.tech/features-and-requirements.html#license-key), describes several ways to provide the license to RDFox. |
23 | 23 | ||
24 | One 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. | 24 | One 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 | |||
48 | java -cp <path/to/JRDFox.jar>:<path/to/fat.jar> uk.ac.ox.cs.rsacomb.RSAComb [<option> ...] | 48 | java -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 | ||
53 | TODO | 53 | To run the suit of unit test provided along with the code run |
54 | ``` | ||
55 | sbt test | ||
56 | ``` | ||
54 | 57 | ||
55 | ## Changes introduced | 58 | ## Changes introduced |
56 | 59 | ||
57 | We tried to implement the system as close as possible to the theoretical description provided in [[1](#references)]. | 60 | We tried to implement the system as close as possible to the theoretical description provided in [[1](#references)]. |
58 | Regardless, 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. | 61 | Regardless, 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. |
59 | The following is a summary of fixes (🔧), changes (🔄) and improvements (⚡), we introduced along the way: | 62 | The 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 | ||
112 | TODO | 112 | *temporarily redacted* |
113 | 113 | ||
114 | ## Credits | 114 | ## Credits |
115 | 115 | ||
116 | TODO | 116 | *temporarily redacted* |
117 | 117 | ||
118 | ## License | 118 | ## License |
119 | 119 | ||
120 | TODO | 120 | *temporarily redacted* |