From c6a63f565b8311348a800366c05dc3a6e964872c Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Fri, 9 Apr 2021 20:52:47 +0100 Subject: Fix handling of class expression OWLObjectHasSelf It was not properly handled in the normalization process. --- src/main/scala/uk/ac/ox/cs/rsacomb/converter/Normalizer.scala | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/main/scala/uk/ac/ox/cs/rsacomb/converter') diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/converter/Normalizer.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/converter/Normalizer.scala index 205c369..5329f26 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/converter/Normalizer.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/converter/Normalizer.scala @@ -401,6 +401,10 @@ class Normalizer() { factory.getOWLNothing ) ) + /** Self-restriction over an object property */ + case (sub: OWLObjectHasSelf, _) => notInHornALCHOIQ(a) + case (_, sup: OWLObjectHasSelf) => notInHornALCHOIQ(a) + /** Axiom is already normalized */ case _ => Seq(a) } @@ -507,7 +511,7 @@ class Normalizer() { /** Unsupported */ - case a: OWLAsymmetricObjectPropertyAxiom => notSupported(a) + case a: OWLAsymmetricObjectPropertyAxiom => notInHornALCHOIQ(a) case a: OWLDatatypeDefinitionAxiom => notSupported(a) @@ -577,7 +581,10 @@ class Normalizer() { ): Seq[OWLLogicalAxiom] = { /* Update statistics */ discarded += 1 - Logger print s"'$axiom' has been ignored because it is not in Horn-ALCHOIQ" + Logger.print( + s"'$axiom' has been ignored because it is not in Horn-ALCHOIQ", + Logger.VERBOSE + ) Seq() } -- cgit v1.2.3