From 98312cd3c355a2b036edf5236dfcba755da9a17a Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Mon, 9 May 2022 12:30:20 +0100 Subject: Refactor code --- src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala | 43 ++++++++++----------------- 1 file changed, 16 insertions(+), 27 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 2daa634..21b4cd2 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala @@ -1,5 +1,5 @@ /* - * Copyright 2020, 2021 KRR Oxford + * Copyright 2020-2022 KRR Oxford * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,42 +16,31 @@ package uk.ac.ox.cs.rsacomb -import java.io.{File, PrintWriter} -import java.nio.file.{Path, Paths, InvalidPathException} -import java.util.HashMap -import scala.collection.JavaConverters._ -import tech.oxfordsemantic.jrdfox.client.UpdateType -import tech.oxfordsemantic.jrdfox.logic.expression.{IRI, Term} -import tech.oxfordsemantic.jrdfox.logic.sparql.statement.SelectQuery - +import approximation.{Lowerbound,Upperbound} +import converter.Normalizer +import ontology.Ontology 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.Approximation -/** Main entry point to the program */ object RSAComb extends App { - - /* Command-line options */ val config = RSAConfig.parse(args.toList) + RSAConfig describe config - /* Set logger level */ + /* Configure logger */ if (config.contains('logger)) Logger.level = config('logger).get[Logger.Level] - - /* Set answers output file */ if (config.contains('answers)) Logger.answers = config('answers).get[os.Path] /* Load original ontology and normalize it */ val ontopath = config('ontology).get[os.Path] - val data = config('data).get[List[os.Path]] - val ontology = Ontology(ontopath, data).normalize(new Normalizer) + val datapath = config('data).get[List[os.Path]] + val ontology = Ontology(ontopath, datapath).normalize(new Normalizer) - /* Approximate the ontology to RSA */ - val toRSA = config('approximation).get[Approximation[RSAOntology]] + /* Approximate the ontology if necessary */ + val toRSA = config('approximation).get[Symbol] match { + case 'lowerbound => new Lowerbound + case 'upperbound => new Upperbound + } val rsa = ontology approximate toRSA if (config contains 'queries) { @@ -61,11 +50,11 @@ object RSAComb extends App { RSA.Prefixes ) + /* Perform query answering */ val answers = rsa ask queries - /* Write answers to output file */ + /* Perform logging */ Logger write answers - /* Generate simulation script */ - Logger.generateSimulationScripts(data, queries) + Logger.generateSimulationScripts(datapath, queries) } } -- cgit v1.2.3