diff options
author | Federico Igne <federico.igne@cs.ox.ac.uk> | 2020-11-19 10:32:56 +0000 |
---|---|---|
committer | Federico Igne <federico.igne@cs.ox.ac.uk> | 2020-11-19 10:32:56 +0000 |
commit | 5fb28b459e6c1bd33afa4730ba707a1b06557d5b (patch) | |
tree | fa3e6f256e6b7a0d38a0fc3eafd25c63bf9dd212 /README.md | |
parent | d9511b4f3742ae9f4b8f589bd154159d7a45b944 (diff) | |
download | RSAComb-5fb28b459e6c1bd33afa4730ba707a1b06557d5b.tar.gz RSAComb-5fb28b459e6c1bd33afa4730ba707a1b06557d5b.zip |
Update README.md
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -37,15 +37,18 @@ The following is a summary of fixes (🔧), changes (🔄) and improvements (⚡ | |||
37 | 37 | ||
38 | + 🔄 [RDFox](https://www.oxfordsemantic.tech/product) is used instead of DLV as the underlying LP engine. | 38 | + 🔄 [RDFox](https://www.oxfordsemantic.tech/product) is used instead of DLV as the underlying LP engine. |
39 | 39 | ||
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". | 40 | + 🔧 In Def.4, the definition of built-in predicate `notIn` is wrong and should reflect the implicit semantics implied by the name, i.e., |
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. | 41 | |
42 | > let [...] `notIn` be a built-in predicate which holds when the first argument is **not** an element of the set given as second argument | ||
43 | |||
44 | 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 | 45 | ||
43 | + 🔄 Top (`owl:Thing`) axiomatisation is performed introducing rules as follows. | 46 | + 🔄 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: | 47 | Given `p` predicate (arity *n*) *in the original ontology*, the following rule is introduced: |
45 | ``` | 48 | ``` |
46 | owl:Thing[?X1], *...*, owl:Thing[?Xn] :- *p*(?X1, *...*, ?Xn) . | 49 | owl:Thing[?X1], ..., owl:Thing[?Xn] :- p(?X1, ..., ?Xn) . |
47 | ``` | 50 | ``` |
48 | Note that by definition arity can be either 1 or 2. | 51 | Note that, by definition, arity can be either 1 or 2. |
49 | 52 | ||
50 | + 🔄 Equality axiomatisation is performed introducing the following rules: | 53 | + 🔄 Equality axiomatisation is performed introducing the following rules: |
51 | ``` | 54 | ``` |
@@ -56,12 +59,12 @@ The following is a summary of fixes (🔧), changes (🔄) and improvements (⚡ | |||
56 | defining equivalence as a congruence relation over terms in the ontology. | 59 | defining equivalence as a congruence relation over terms in the ontology. |
57 | *Substitution rules have not been entroduced yet.* | 60 | *Substitution rules have not been entroduced yet.* |
58 | 61 | ||
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]. | 62 | + 🔧 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. |
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`). | 63 | 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; | 64 | 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: | 65 | instead we can add a rule to populate the new predicate: |
63 | ``` | 66 | ``` |
64 | NI[?X] :- rsa:congruent[?X, ?Y], rsa:named[?Y] . | 67 | rsa:NI[?X] :- rsa:congruent[?X, ?Y], rsa:named[?Y] . |
65 | ``` | 68 | ``` |
66 | where `rsa:named` is an internal predicate keeping track of all constants in the original ontology. | 69 | where `rsa:named` is an internal predicate keeping track of all constants in the original ontology. |
67 | 70 | ||