From 87471bc45d1824cbef40dc1cfcc4e5e26e83dcea Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Wed, 21 Oct 2020 19:05:27 +0200 Subject: Fix bug in conflict set computation --- src/main/scala/rsacomb/CanonicalModel.scala | 4 ++-- src/main/scala/rsacomb/RSAOntology.scala | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src/main') diff --git a/src/main/scala/rsacomb/CanonicalModel.scala b/src/main/scala/rsacomb/CanonicalModel.scala index a248d61..c07fc06 100644 --- a/src/main/scala/rsacomb/CanonicalModel.scala +++ b/src/main/scala/rsacomb/CanonicalModel.scala @@ -86,10 +86,10 @@ class ProgramGenerator( import RDFoxUtil._ def rules1(axiom: OWLSubClassOfAxiom): List[Rule] = { - val unfold = ontology.cycle(axiom).toList + val unfold = ontology.unfold(axiom).toList // Fresh Variables val v0 = IRI.create("v0_" ++ axiom.hashCode.toString) - val varX = Variable.create("x") + val varX = Variable.create("X") // Predicates val atomA: Atom = { val cls = axiom.getSubClass.asInstanceOf[OWLClass].getIRI diff --git a/src/main/scala/rsacomb/RSAOntology.scala b/src/main/scala/rsacomb/RSAOntology.scala index 2941440..9e45c28 100644 --- a/src/main/scala/rsacomb/RSAOntology.scala +++ b/src/main/scala/rsacomb/RSAOntology.scala @@ -264,10 +264,15 @@ trait RSAOntology { .map(_.getInverseProperty) invSuperRoles - .flatMap( - reasoner.subObjectProperties(_).collect(Collectors.toSet()).asScala + .flatMap(x => + reasoner + .subObjectProperties(x) + .collect(Collectors.toSet()) + .asScala + .addOne(x) ) .filterNot(_.isOWLBottomObjectProperty()) + .filterNot(_.getInverseProperty.isOWLTopObjectProperty()) } def self(axiom: OWLSubClassOfAxiom): Set[Term] = { -- cgit v1.2.3