aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/uk/ac/ox/cs/rsacomb/approximation
diff options
context:
space:
mode:
authorFederico Igne <git@federicoigne.com>2021-08-03 12:20:34 +0100
committerFederico Igne <git@federicoigne.com>2021-08-03 12:20:34 +0100
commit19c22a38ccaf1685e345a18883ffbac891f97df3 (patch)
tree197672906b482999405192fbe5b1a0799b73b6b6 /src/main/scala/uk/ac/ox/cs/rsacomb/approximation
parent71367fb626710dcdca0fa09f1902b521c966ef71 (diff)
downloadRSAComb-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.scala38
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