From f480a850161445bb3dd9ead500810db21dfa1451 Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Wed, 1 Jun 2022 17:45:17 +0100 Subject: feat: implicitly propagate configs to approximations --- src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala | 2 +- src/main/scala/uk/ac/ox/cs/rsacomb/RSAConfig.scala | 2 +- .../scala/uk/ac/ox/cs/rsacomb/approximation/Lowerbound.scala | 12 ++++++------ src/main/scala/uk/ac/ox/cs/rsacomb/package.scala | 1 + 4 files changed, 9 insertions(+), 8 deletions(-) (limited to 'src/main/scala/uk/ac/ox/cs') diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala index 8784651..233e170 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala @@ -22,7 +22,7 @@ import ontology.{Ontology,RSAOntology} import util.{Logger, RDFoxUtil, RSA} object RSAComb extends App { - val config = RSAConfig.parse(args.toList) + implicit val config = RSAConfig parse args.toList RSAConfig describe config /* Configure logger */ diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/RSAConfig.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/RSAConfig.scala index 32460b4..2dcd850 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/RSAConfig.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/RSAConfig.scala @@ -74,7 +74,7 @@ object RSAConfig { """ /** Default config values */ - private val default: Config = Map( + val default: Config = Map( 'transitive -> false, 'data -> List.empty[os.Path], 'approximation -> 'lowerbound diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/approximation/Lowerbound.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/approximation/Lowerbound.scala index 1b72699..154cbd1 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/approximation/Lowerbound.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/approximation/Lowerbound.scala @@ -1,7 +1,5 @@ package uk.ac.ox.cs.rsacomb.approximation -import java.io.File - import org.semanticweb.owlapi.apibinding.OWLManager import org.semanticweb.owlapi.model.{IRI => OWLIRI, _} @@ -15,6 +13,7 @@ import scalax.collection.GraphTraversal._ import uk.ac.ox.cs.rsacomb.ontology.RSAOntology import uk.ac.ox.cs.rsacomb.ontology.Ontology import uk.ac.ox.cs.rsacomb.util.{DataFactory, RDFoxUtil, RSA} +import uk.ac.ox.cs.rsacomb.RSAConfig object Lowerbound { @@ -38,8 +37,9 @@ object Lowerbound { * * @see [[uk.ac.ox.cs.rsacomb.converter.Normalizer]] */ -class Lowerbound(implicit fresh: DataFactory) - extends Approximation[RSAOntology] { +class Lowerbound( + implicit fresh: DataFactory, config: RSAConfig.Config +) extends Approximation[RSAOntology] { /** Simplify conversion between Java and Scala collections */ import uk.ac.ox.cs.rsacomb.implicits.JavaCollections._ @@ -84,9 +84,9 @@ class Lowerbound(implicit fresh: DataFactory) case _ => true } } - case a: OWLTransitiveObjectPropertyAxiom => false + case a: OWLTransitiveObjectPropertyAxiom => config('transitive).get[Boolean] case a: OWLReflexiveObjectPropertyAxiom => false - case a: OWLSubPropertyChainOfAxiom => true /*TODO: should we leave it? */ + case a: OWLSubPropertyChainOfAxiom => config('transitive).get[Boolean] case a: OWLAsymmetricObjectPropertyAxiom => false case a => true } diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/package.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/package.scala index 53fa095..b8144c4 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/package.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/package.scala @@ -18,4 +18,5 @@ package uk.ac.ox.cs package object rsacomb { implicit val seed: util.DataFactory = util.DataFactory(0) + } -- cgit v1.2.3