diff options
author | Federico Igne <git@federicoigne.com> | 2021-08-03 12:20:34 +0100 |
---|---|---|
committer | Federico Igne <git@federicoigne.com> | 2021-08-03 12:20:34 +0100 |
commit | 19c22a38ccaf1685e345a18883ffbac891f97df3 (patch) | |
tree | 197672906b482999405192fbe5b1a0799b73b6b6 /src/main/scala/uk/ac/ox/cs/rsacomb/approximation | |
parent | 71367fb626710dcdca0fa09f1902b521c966ef71 (diff) | |
download | RSAComb-19c22a38ccaf1685e345a18883ffbac891f97df3.tar.gz RSAComb-19c22a38ccaf1685e345a18883ffbac891f97df3.zip |
Extend converter to RDFox rules to handle property chain axioms
The converter to RDFox datalog rules shouldn't worry about which axiom
is supported or not (it should be a job of the approximation algorithm
or of a previous step). Now the converter tries its best to convert
anything that makes sense in datalog.
Also upperbound is ready for testing.
Diffstat (limited to 'src/main/scala/uk/ac/ox/cs/rsacomb/approximation')
-rw-r--r-- | src/main/scala/uk/ac/ox/cs/rsacomb/approximation/Upperbound.scala | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/approximation/Upperbound.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/approximation/Upperbound.scala index 65cdee1..ad924aa 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/approximation/Upperbound.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/approximation/Upperbound.scala | |||
@@ -55,44 +55,6 @@ class Upperbound extends Approximation[RSAOntology] { | |||
55 | ) | 55 | ) |
56 | ) | 56 | ) |
57 | 57 | ||
58 | /** Discards all axioms outside ALCHOIQ */ | ||
59 | // private def inALCHOIQ(axiom: OWLLogicalAxiom): Boolean = | ||
60 | // axiom match { | ||
61 | // case a: OWLSubClassOfAxiom => { | ||
62 | // val sub = a.getSubClass.getNNF | ||
63 | // val sup = a.getSuperClass.getNNF | ||
64 | // (sub, sup) match { | ||
65 | // case (sub: OWLObjectAllValuesFrom, _) => false | ||
66 | // case (sub: OWLDataAllValuesFrom, _) => false | ||
67 | // case (_, sup: OWLDataAllValuesFrom) => false | ||
68 | // case (sub: OWLObjectMinCardinality, _) if sub.getCardinality >= 2 => | ||
69 | // false | ||
70 | // case (sub: OWLDataMinCardinality, _) if sub.getCardinality >= 2 => | ||
71 | // false | ||
72 | // case (_, sup: OWLObjectMinCardinality) if sup.getCardinality >= 2 => | ||
73 | // false | ||
74 | // case (_, sup: OWLDataMinCardinality) if sup.getCardinality >= 2 => | ||
75 | // false | ||
76 | // case (sub: OWLObjectMaxCardinality, _) => false | ||
77 | // case (sub: OWLDataMaxCardinality, _) => false | ||
78 | // case (_, sup: OWLObjectMaxCardinality) if sup.getCardinality >= 2 => | ||
79 | // false | ||
80 | // case (_, sup: OWLDataMaxCardinality) if sup.getCardinality >= 1 => | ||
81 | // false | ||
82 | // case (_, sup: OWLObjectOneOf) if sup.getIndividuals.length > 2 => | ||
83 | // false | ||
84 | // case (sub: OWLObjectHasSelf, _) => false | ||
85 | // case (_, sup: OWLObjectHasSelf) => false | ||
86 | // case _ => true | ||
87 | // } | ||
88 | // } | ||
89 | // case a: OWLTransitiveObjectPropertyAxiom => false | ||
90 | // case a: OWLReflexiveObjectPropertyAxiom => false | ||
91 | // case a: OWLSubPropertyChainOfAxiom => false | ||
92 | // case a: OWLAsymmetricObjectPropertyAxiom => false | ||
93 | // case a => true | ||
94 | // } | ||
95 | |||
96 | /** Turn disjuncts into conjuncts | 58 | /** Turn disjuncts into conjuncts |
97 | * | 59 | * |
98 | * This is a very naïve way of getting rid of disjunction preserving | 60 | * This is a very naïve way of getting rid of disjunction preserving |