From 19c22a38ccaf1685e345a18883ffbac891f97df3 Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Tue, 3 Aug 2021 12:20:34 +0100 Subject: 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. --- .../ox/cs/rsacomb/approximation/Upperbound.scala | 38 ---------------------- 1 file changed, 38 deletions(-) (limited to 'src/main/scala/uk/ac/ox/cs/rsacomb/approximation') 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] { ) ) - /** Discards all axioms outside ALCHOIQ */ - // private def inALCHOIQ(axiom: OWLLogicalAxiom): Boolean = - // axiom match { - // case a: OWLSubClassOfAxiom => { - // val sub = a.getSubClass.getNNF - // val sup = a.getSuperClass.getNNF - // (sub, sup) match { - // case (sub: OWLObjectAllValuesFrom, _) => false - // case (sub: OWLDataAllValuesFrom, _) => false - // case (_, sup: OWLDataAllValuesFrom) => false - // case (sub: OWLObjectMinCardinality, _) if sub.getCardinality >= 2 => - // false - // case (sub: OWLDataMinCardinality, _) if sub.getCardinality >= 2 => - // false - // case (_, sup: OWLObjectMinCardinality) if sup.getCardinality >= 2 => - // false - // case (_, sup: OWLDataMinCardinality) if sup.getCardinality >= 2 => - // false - // case (sub: OWLObjectMaxCardinality, _) => false - // case (sub: OWLDataMaxCardinality, _) => false - // case (_, sup: OWLObjectMaxCardinality) if sup.getCardinality >= 2 => - // false - // case (_, sup: OWLDataMaxCardinality) if sup.getCardinality >= 1 => - // false - // case (_, sup: OWLObjectOneOf) if sup.getIndividuals.length > 2 => - // false - // case (sub: OWLObjectHasSelf, _) => false - // case (_, sup: OWLObjectHasSelf) => false - // case _ => true - // } - // } - // case a: OWLTransitiveObjectPropertyAxiom => false - // case a: OWLReflexiveObjectPropertyAxiom => false - // case a: OWLSubPropertyChainOfAxiom => false - // case a: OWLAsymmetricObjectPropertyAxiom => false - // case a => true - // } - /** Turn disjuncts into conjuncts * * This is a very naïve way of getting rid of disjunction preserving -- cgit v1.2.3