From 4df351d3b1d11fc045005323c38ba3528de631ea Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Wed, 18 Nov 2020 18:07:53 +0000 Subject: Rework RSA as a utility object --- src/test/scala/rsacomb/CanonicalModelSpec.scala | 59 +++++++++------- src/test/scala/rsacomb/FilteringProgramSpecs.scala | 82 +++++++++++++--------- src/test/scala/rsacomb/OWLAxiomSpec.scala | 8 ++- src/test/scala/rsacomb/OWLClassSpec.scala | 5 +- 4 files changed, 89 insertions(+), 65 deletions(-) (limited to 'src/test/scala/rsacomb') diff --git a/src/test/scala/rsacomb/CanonicalModelSpec.scala b/src/test/scala/rsacomb/CanonicalModelSpec.scala index cac40a3..06602e3 100644 --- a/src/test/scala/rsacomb/CanonicalModelSpec.scala +++ b/src/test/scala/rsacomb/CanonicalModelSpec.scala @@ -14,61 +14,63 @@ import tech.oxfordsemantic.jrdfox.logic.expression.Variable import scala.collection.JavaConverters._ -import rsacomb.RSA._ -import rsacomb.RDFoxUtil._ +import rsacomb.util.{RDFoxHelpers, RSA} object Ontology1_CanonicalModelSpec { /* Renderer to display OWL Axioms with DL syntax*/ val renderer = new DLSyntaxObjectRenderer() + def base(str: String): IRI = + IRI.create("http://example.com/rsa_example.owl#" + str) + val ontology_path: File = new File("examples/example1.ttl") val ontology = RSAOntology(ontology_path) val program = ontology.canonicalModel - val roleR = new OWLObjectPropertyImpl(RSA.base("R")) - val roleS = new OWLObjectPropertyImpl(RSA.base("S")) - val roleT = new OWLObjectPropertyImpl(RSA.base("T")) + val roleR = new OWLObjectPropertyImpl(base("R")) + val roleS = new OWLObjectPropertyImpl(base("S")) + val roleT = new OWLObjectPropertyImpl(base("T")) val roleR_inv = roleR.getInverseProperty() val roleS_inv = roleS.getInverseProperty() val roleT_inv = roleT.getInverseProperty() val AsubClassOfD = new OWLSubClassOfAxiomImpl( - new OWLClassImpl(RSA.base("A")), - new OWLClassImpl(RSA.base("D")), + new OWLClassImpl(base("A")), + new OWLClassImpl(base("D")), Seq().asJava ) val DsomeValuesFromRB = new OWLSubClassOfAxiomImpl( - new OWLClassImpl(RSA.base("D")), + new OWLClassImpl(base("D")), new OWLObjectSomeValuesFromImpl( roleR, - new OWLClassImpl(RSA.base("B")) + new OWLClassImpl(base("B")) ), Seq().asJava ) val BsomeValuesFromSD = new OWLSubClassOfAxiomImpl( - new OWLClassImpl(RSA.base("B")), + new OWLClassImpl(base("B")), new OWLObjectSomeValuesFromImpl( roleS, - new OWLClassImpl(RSA.base("D")) + new OWLClassImpl(base("D")) ), Seq().asJava ) val AsomeValuesFromSiC = new OWLSubClassOfAxiomImpl( - new OWLClassImpl(RSA.base("A")), + new OWLClassImpl(base("A")), new OWLObjectSomeValuesFromImpl( roleS_inv, - new OWLClassImpl(RSA.base("C")) + new OWLClassImpl(base("C")) ), Seq().asJava ) val SsubPropertyOfT = new OWLSubObjectPropertyOfAxiomImpl( - new OWLObjectPropertyImpl(RSA.base("S")), - new OWLObjectPropertyImpl(RSA.base("T")), + new OWLObjectPropertyImpl(base("S")), + new OWLObjectPropertyImpl(base("T")), Seq().asJava ) @@ -219,51 +221,54 @@ object Ontology2_CanonicalModelSpec { /* Renderer to display OWL Axioms with DL syntax*/ val renderer = new DLSyntaxObjectRenderer() + def base(str: String): IRI = + IRI.create("http://example.com/rsa_example.owl#" + str) + val ontology_path: File = new File("examples/example2.owl") val ontology = RSAOntology(ontology_path) val program = ontology.canonicalModel - val roleR = new OWLObjectPropertyImpl(RSA.base("R")) - val roleS = new OWLObjectPropertyImpl(RSA.base("S")) - val roleT = new OWLObjectPropertyImpl(RSA.base("T")) - val roleP = new OWLObjectPropertyImpl(RSA.base("P")) + val roleR = new OWLObjectPropertyImpl(base("R")) + val roleS = new OWLObjectPropertyImpl(base("S")) + val roleT = new OWLObjectPropertyImpl(base("T")) + val roleP = new OWLObjectPropertyImpl(base("P")) val roleR_inv = roleR.getInverseProperty() val roleS_inv = roleS.getInverseProperty() val roleT_inv = roleT.getInverseProperty() val roleP_inv = roleP.getInverseProperty() val AsomeValuesFromRB = new OWLSubClassOfAxiomImpl( - new OWLClassImpl(RSA.base("A")), + new OWLClassImpl(base("A")), new OWLObjectSomeValuesFromImpl( roleR, - new OWLClassImpl(RSA.base("B")) + new OWLClassImpl(base("B")) ), Seq().asJava ) val BsomeValuesFromSC = new OWLSubClassOfAxiomImpl( - new OWLClassImpl(RSA.base("B")), + new OWLClassImpl(base("B")), new OWLObjectSomeValuesFromImpl( roleS, - new OWLClassImpl(RSA.base("C")) + new OWLClassImpl(base("C")) ), Seq().asJava ) val CsomeValuesFromTD = new OWLSubClassOfAxiomImpl( - new OWLClassImpl(RSA.base("C")), + new OWLClassImpl(base("C")), new OWLObjectSomeValuesFromImpl( roleT, - new OWLClassImpl(RSA.base("D")) + new OWLClassImpl(base("D")) ), Seq().asJava ) val DsomeValuesFromPA = new OWLSubClassOfAxiomImpl( - new OWLClassImpl(RSA.base("D")), + new OWLClassImpl(base("D")), new OWLObjectSomeValuesFromImpl( roleP, - new OWLClassImpl(RSA.base("A")) + new OWLClassImpl(base("A")) ), Seq().asJava ) diff --git a/src/test/scala/rsacomb/FilteringProgramSpecs.scala b/src/test/scala/rsacomb/FilteringProgramSpecs.scala index 79e675f..66c1cae 100644 --- a/src/test/scala/rsacomb/FilteringProgramSpecs.scala +++ b/src/test/scala/rsacomb/FilteringProgramSpecs.scala @@ -14,7 +14,7 @@ import tech.oxfordsemantic.jrdfox.Prefixes import scala.collection.JavaConverters._ -import rsacomb.RDFoxUtil._ +import rsacomb.util.RDFoxHelpers object FilteringProgramSpec { @@ -33,12 +33,14 @@ object FilteringProgramSpec { // QUERY 0 - val query0 = parseQuery(""" - SELECT ?subj - WHERE { - ?subj ?pred ?obj - } - """, prefixes).get + val query0 = RDFoxHelpers + .parseSelectQuery(""" + SELECT ?subj + WHERE { + ?subj ?pred ?obj + } + """, prefixes) + .get // val query0 = Query.create( // QueryType.SELECT, @@ -49,12 +51,14 @@ object FilteringProgramSpec { // QUERY 1 - val query1 = parseQuery(""" + val query1 = RDFoxHelpers + .parseSelectQuery(""" SELECT * WHERE { ?w a :Wellbore } - """, prefixes).get + """, prefixes) + .get // val query1 = Query.create( // QueryType.SELECT, @@ -65,8 +69,9 @@ object FilteringProgramSpec { // QUERY 2 - val query2 = parseQuery( - """ + val query2 = RDFoxHelpers + .parseSelectQuery( + """ SELECT * WHERE { ?w a :Wellbore ; @@ -74,8 +79,9 @@ object FilteringProgramSpec { ?doc :hasURL ?document_hyperlink } """, - prefixes - ).get + prefixes + ) + .get // val query2 = Query.create( // QueryType.SELECT, @@ -90,8 +96,9 @@ object FilteringProgramSpec { // QUERY 3 - val query3 = parseQuery( - """ + val query3 = RDFoxHelpers + .parseSelectQuery( + """ SELECT ?wellbore ?formation_pressure WHERE { ?w a :Wellbore ; @@ -100,8 +107,9 @@ object FilteringProgramSpec { ?fp :valueInStandardUnit ?formation_pressure } """, - prefixes - ).get + prefixes + ) + .get // val query3 = Query.create( // QueryType.SELECT, @@ -117,8 +125,9 @@ object FilteringProgramSpec { // QUERY 4 - val query4 = parseQuery( - """ + val query4 = RDFoxHelpers + .parseSelectQuery( + """ SELECT * WHERE { ?w a :Wellbore ; @@ -129,8 +138,9 @@ object FilteringProgramSpec { :peakAmount ?peak_amount } """, - prefixes - ).get + prefixes + ) + .get // val query4 = Query.create( // QueryType.SELECT, @@ -155,8 +165,9 @@ object FilteringProgramSpec { // QUERY 5 - val query5 = parseQuery( - """ + val query5 = RDFoxHelpers + .parseSelectQuery( + """ SELECT ?wellbore ?unit_name ?discovery WHERE { ?w a :Wellbore ; @@ -170,8 +181,9 @@ object FilteringProgramSpec { :overlapsWellboreInterval ?c_int } """, - prefixes - ).get + prefixes + ) + .get // val query5 = Query.create( // QueryType.SELECT, @@ -192,8 +204,9 @@ object FilteringProgramSpec { // QUERY 6 - val query6 = parseQuery( - """ + val query6 = RDFoxHelpers + .parseSelectQuery( + """ SELECT DISTINCT ?wellbore ?content WHERE { ?w a :Wellbore ; @@ -203,8 +216,9 @@ object FilteringProgramSpec { :fluidZoneContent ?content } """, - prefixes - ).get + prefixes + ) + .get // val query6 = Query.create( // QueryType.SELECT, @@ -221,8 +235,9 @@ object FilteringProgramSpec { // QUERY 7 - val query7 = parseQuery( - """ + val query7 = RDFoxHelpers + .parseSelectQuery( + """ SELECT ?wName ?sample ?porosity ?top_depth_md ?bot_depth_md WHERE { ?w a :Wellbore ; @@ -246,8 +261,9 @@ object FilteringProgramSpec { :valueInStandardUnit ?bot_depth_md } """, - prefixes - ).get + prefixes + ) + .get // val query7 = Query.create( // QueryType.SELECT, diff --git a/src/test/scala/rsacomb/OWLAxiomSpec.scala b/src/test/scala/rsacomb/OWLAxiomSpec.scala index 056f428..65333f5 100644 --- a/src/test/scala/rsacomb/OWLAxiomSpec.scala +++ b/src/test/scala/rsacomb/OWLAxiomSpec.scala @@ -36,6 +36,8 @@ import tech.oxfordsemantic.jrdfox.logic.expression.{ import org.semanticweb.owlapi.model.{IRI => OWLIRI} import tech.oxfordsemantic.jrdfox.logic.expression.{IRI => RDFIRI} +import rsacomb.util.RSA + object OWLAxiomSpec { // IRI @@ -53,8 +55,8 @@ object OWLAxiomSpec { val term_x = Variable.create("x") val term_y = Variable.create("y") val term_z = Variable.create("z") - val term_c1 = RSA.rsa("c_1") - val term_c2 = RSA.rsa("c_2") + val term_c1 = RSA("c_1") + val term_c2 = RSA("c_2") val term_alice = RDFIRI.create("univ:alice") // RDFox Predicates @@ -181,7 +183,7 @@ class OWLAxiomSpec extends AnyFlatSpec with Matchers with LoneElement { // Import required data import OWLAxiomSpec._ // Implicit convertion from IRI in OWLAPI to IRI in JRDFox - import RDFoxUtil._ + import rsacomb.implicits.RDFox._ // OWLSubClassOfAxiom #1 axiom_OWLSubClassOf1.toString should "be converted into a singleton List[Rule]" in { diff --git a/src/test/scala/rsacomb/OWLClassSpec.scala b/src/test/scala/rsacomb/OWLClassSpec.scala index 505c4aa..27e0872 100644 --- a/src/test/scala/rsacomb/OWLClassSpec.scala +++ b/src/test/scala/rsacomb/OWLClassSpec.scala @@ -34,6 +34,7 @@ import tech.oxfordsemantic.jrdfox.logic.expression.{ } import rsacomb.RDFoxRuleShards +import rsacomb.util.RSA object OWLClassSpec { @@ -49,8 +50,8 @@ object OWLClassSpec { // RDFox Terms val term_x = Variable.create("x") val term_y = Variable.create("y") - val term_c1 = RSA.rsa("c_1") - val term_c2 = RSA.rsa("c_2") + val term_c1 = RSA("c_1") + val term_c2 = RSA("c_2") val term_alice = RDFIRI.create("univ:alice") // RDFox Predicates -- cgit v1.2.3