From cb8572606f8951213bcfe9e6667caa208ad3d189 Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Thu, 22 Jul 2021 09:59:07 +0100 Subject: Review main workflow --- src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) (limited to 'src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala') 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 82da9df..8e5169d 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala @@ -10,6 +10,10 @@ import tech.oxfordsemantic.jrdfox.logic.sparql.statement.SelectQuery import util.{Logger, RDFoxUtil, RSA} import sparql.ConjunctiveQuery +import uk.ac.ox.cs.rsacomb.ontology.Ontology +import uk.ac.ox.cs.rsacomb.converter.Normalizer +import uk.ac.ox.cs.rsacomb.approximation.LowerBound + case class RSAOption[+T](opt: T) { def get[T]: T = opt.asInstanceOf[T] } @@ -103,24 +107,18 @@ object RSAConfig { /** Main entry point to the program */ object RSAComb extends App { - /* - * TODO: Aiming for this workflow: - * - * implicit val manager = new Manager(...) - * val original = manager.importFromFile("ontology.owl") - * val axioms = original.getAxioms.filter(isLogicalAxiom).normalize(normalizer) - * val ontology = new Ontology(axioms, data) - * val rsa = ontology.toRSA(approximator) - */ - /* Command-line options */ val config = RSAConfig.parse(args.toList) - val rsa = RSAOntology( + /* Load original ontology and normalize it */ + val ontology = Ontology( config('ontology).get[File], - config('data).get[List[File]], - None - ) + config('data).get[List[File]] + ).normalize(new Normalizer) + + /* Approximate the ontology to RSA */ + val toRSA = new LowerBound + val rsa = ontology approximate toRSA if (config contains 'query) { val query = -- cgit v1.2.3