From 33431758891fcc3e455fb292067114ca3a546507 Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Tue, 24 Nov 2020 12:02:43 +0000 Subject: Turn implicit classes wrappers into objects --- src/main/scala/uk/ac/ox/cs/rsacomb/CanonicalModel.scala | 4 ++-- src/main/scala/uk/ac/ox/cs/rsacomb/FilteringProgram.scala | 9 ++++++--- src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala | 5 +++-- src/main/scala/uk/ac/ox/cs/rsacomb/implicits/RSAAtom.scala | 2 +- src/main/scala/uk/ac/ox/cs/rsacomb/implicits/RSAAxiom.scala | 2 +- src/main/scala/uk/ac/ox/cs/rsacomb/util/RDFoxUtil.scala | 5 ++--- 6 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/CanonicalModel.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/CanonicalModel.scala index d5956ae..0f3b16a 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/CanonicalModel.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/CanonicalModel.scala @@ -28,14 +28,14 @@ import uk.ac.ox.cs.rsacomb.converter.{ RDFoxAxiomConverter, RDFoxPropertyExprConverter } -import uk.ac.ox.cs.rsacomb.implicits.RSAAxiom import uk.ac.ox.cs.rsacomb.suffix.{Empty, Forward, Backward, Inverse} import uk.ac.ox.cs.rsacomb.util.RSA -class CanonicalModel(val ontology: RSAOntology) extends RSAAxiom { +class CanonicalModel(val ontology: RSAOntology) { import implicits.RDFox._ import implicits.JavaCollections._ + import uk.ac.ox.cs.rsacomb.implicits.RSAAxiom._ val rolesAdditionalRules: List[Rule] = { // Given a role (predicate) compute additional logic rules diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/FilteringProgram.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/FilteringProgram.scala index b07ba92..52be937 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/FilteringProgram.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/FilteringProgram.scala @@ -9,7 +9,6 @@ import tech.oxfordsemantic.jrdfox.logic.datalog.{ Negation } import tech.oxfordsemantic.jrdfox.logic.expression.{Term, Variable} -import uk.ac.ox.cs.rsacomb.implicits.RSAAtom import uk.ac.ox.cs.rsacomb.sparql.ConjunctiveQuery import uk.ac.ox.cs.rsacomb.suffix.{Forward, Backward} import uk.ac.ox.cs.rsacomb.util.{RSA, RDFoxUtil} @@ -35,8 +34,12 @@ object FilteringProgram { * * Instances can be created using the companion object. */ -class FilteringProgram(query: ConjunctiveQuery, constants: List[Term]) - extends RSAAtom { +class FilteringProgram(query: ConjunctiveQuery, constants: List[Term]) { + + /** Extends capabilities of + * [[tech.oxfordsemantic.jrdfox.logic.datalog.TupleTableAtom TupleTableAtom]] + */ + import uk.ac.ox.cs.rsacomb.implicits.RSAAtom._ /** Implicit parameter used in RSA internal predicates. * diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala index 19a6280..ceb24de 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala @@ -49,7 +49,6 @@ import tech.oxfordsemantic.jrdfox.logic._ import org.semanticweb.owlapi.model.OWLObjectInverseOf import uk.ac.ox.cs.rsacomb.converter.{RDFoxAxiomConverter, SkolemStrategy} -import uk.ac.ox.cs.rsacomb.implicits.RSAAxiom import uk.ac.ox.cs.rsacomb.suffix._ import uk.ac.ox.cs.rsacomb.sparql._ import uk.ac.ox.cs.rsacomb.util.{RDFoxUtil, RSA} @@ -78,7 +77,9 @@ object RSAOntology { } } -class RSAOntology(val ontology: OWLOntology) extends RSAAxiom { +class RSAOntology(val ontology: OWLOntology) { + + import uk.ac.ox.cs.rsacomb.implicits.RSAAxiom._ // Gather TBox/RBox/ABox from original ontology val tbox: List[OWLAxiom] = diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/implicits/RSAAtom.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/implicits/RSAAtom.scala index a8afc72..615722b 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/implicits/RSAAtom.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/implicits/RSAAtom.scala @@ -28,7 +28,7 @@ import uk.ac.ox.cs.rsacomb.RSAOntology * ``` */ -trait RSAAtom { +object RSAAtom { implicit class RSAAtom(val atom: TupleTableAtom) { diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/implicits/RSAAxiom.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/implicits/RSAAxiom.scala index e39d5b2..39d9d66 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/implicits/RSAAxiom.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/implicits/RSAAxiom.scala @@ -24,7 +24,7 @@ import scala.collection.JavaConverters._ /* Wrapper trait for the implicit class `RSAAxiom`. */ -trait RSAAxiom { +object RSAAxiom { /* Identifies some of the axiom types in a Horn-ALCHOIQ ontology * in normal form. Refer to the paper for more details on the diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/util/RDFoxUtil.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/util/RDFoxUtil.scala index 99a9614..f7abde3 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/util/RDFoxUtil.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/util/RDFoxUtil.scala @@ -18,10 +18,9 @@ import tech.oxfordsemantic.jrdfox.logic.datalog.{ import tech.oxfordsemantic.jrdfox.logic.expression.{Resource} import tech.oxfordsemantic.jrdfox.logic.sparql.statement.SelectQuery import uk.ac.ox.cs.rsacomb.suffix.Nth -import uk.ac.ox.cs.rsacomb.implicits.RSAAtom /** A collection of helper methods for RDFox */ -object RDFoxUtil extends RSAAtom { +object RDFoxUtil { /** Simplify conversion between Java and Scala `List`s */ import uk.ac.ox.cs.rsacomb.implicits.JavaCollections._ @@ -29,7 +28,7 @@ object RDFoxUtil extends RSAAtom { /** Extends capabilities of * [[tech.oxfordsemantic.jrdfox.logic.datalog.TupleTableAtom TupleTableAtom]]. */ - //import uk.ac.ox.cs.rsacomb.implicits.RSAAtom._ + import uk.ac.ox.cs.rsacomb.implicits.RSAAtom._ /** Type alias for a collection of answers to a * [[tech.oxfordsemantic.jrdfox.logic.sparql.statement.Query]]. -- cgit v1.2.3