aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/rsacomb
diff options
context:
space:
mode:
authorFederico Igne <federico.igne@cs.ox.ac.uk>2020-11-18 18:07:53 +0000
committerFederico Igne <federico.igne@cs.ox.ac.uk>2020-11-18 18:07:53 +0000
commit4df351d3b1d11fc045005323c38ba3528de631ea (patch)
tree35f809e3def7d55602ed124f7b194db29407ba33 /src/test/scala/rsacomb
parente1a04294ed8737444e40323474f4084cb64c1d55 (diff)
downloadRSAComb-4df351d3b1d11fc045005323c38ba3528de631ea.tar.gz
RSAComb-4df351d3b1d11fc045005323c38ba3528de631ea.zip
Rework RSA as a utility object
Diffstat (limited to 'src/test/scala/rsacomb')
-rw-r--r--src/test/scala/rsacomb/CanonicalModelSpec.scala59
-rw-r--r--src/test/scala/rsacomb/FilteringProgramSpecs.scala82
-rw-r--r--src/test/scala/rsacomb/OWLAxiomSpec.scala8
-rw-r--r--src/test/scala/rsacomb/OWLClassSpec.scala5
4 files changed, 89 insertions, 65 deletions
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
14 14
15import scala.collection.JavaConverters._ 15import scala.collection.JavaConverters._
16 16
17import rsacomb.RSA._ 17import rsacomb.util.{RDFoxHelpers, RSA}
18import rsacomb.RDFoxUtil._
19 18
20object Ontology1_CanonicalModelSpec { 19object Ontology1_CanonicalModelSpec {
21 20
22 /* Renderer to display OWL Axioms with DL syntax*/ 21 /* Renderer to display OWL Axioms with DL syntax*/
23 val renderer = new DLSyntaxObjectRenderer() 22 val renderer = new DLSyntaxObjectRenderer()
24 23
24 def base(str: String): IRI =
25 IRI.create("http://example.com/rsa_example.owl#" + str)
26
25 val ontology_path: File = new File("examples/example1.ttl") 27 val ontology_path: File = new File("examples/example1.ttl")
26 val ontology = RSAOntology(ontology_path) 28 val ontology = RSAOntology(ontology_path)
27 val program = ontology.canonicalModel 29 val program = ontology.canonicalModel
28 30
29 val roleR = new OWLObjectPropertyImpl(RSA.base("R")) 31 val roleR = new OWLObjectPropertyImpl(base("R"))
30 val roleS = new OWLObjectPropertyImpl(RSA.base("S")) 32 val roleS = new OWLObjectPropertyImpl(base("S"))
31 val roleT = new OWLObjectPropertyImpl(RSA.base("T")) 33 val roleT = new OWLObjectPropertyImpl(base("T"))
32 val roleR_inv = roleR.getInverseProperty() 34 val roleR_inv = roleR.getInverseProperty()
33 val roleS_inv = roleS.getInverseProperty() 35 val roleS_inv = roleS.getInverseProperty()
34 val roleT_inv = roleT.getInverseProperty() 36 val roleT_inv = roleT.getInverseProperty()
35 37
36 val AsubClassOfD = new OWLSubClassOfAxiomImpl( 38 val AsubClassOfD = new OWLSubClassOfAxiomImpl(
37 new OWLClassImpl(RSA.base("A")), 39 new OWLClassImpl(base("A")),
38 new OWLClassImpl(RSA.base("D")), 40 new OWLClassImpl(base("D")),
39 Seq().asJava 41 Seq().asJava
40 ) 42 )
41 43
42 val DsomeValuesFromRB = new OWLSubClassOfAxiomImpl( 44 val DsomeValuesFromRB = new OWLSubClassOfAxiomImpl(
43 new OWLClassImpl(RSA.base("D")), 45 new OWLClassImpl(base("D")),
44 new OWLObjectSomeValuesFromImpl( 46 new OWLObjectSomeValuesFromImpl(
45 roleR, 47 roleR,
46 new OWLClassImpl(RSA.base("B")) 48 new OWLClassImpl(base("B"))
47 ), 49 ),
48 Seq().asJava 50 Seq().asJava
49 ) 51 )
50 52
51 val BsomeValuesFromSD = new OWLSubClassOfAxiomImpl( 53 val BsomeValuesFromSD = new OWLSubClassOfAxiomImpl(
52 new OWLClassImpl(RSA.base("B")), 54 new OWLClassImpl(base("B")),
53 new OWLObjectSomeValuesFromImpl( 55 new OWLObjectSomeValuesFromImpl(
54 roleS, 56 roleS,
55 new OWLClassImpl(RSA.base("D")) 57 new OWLClassImpl(base("D"))
56 ), 58 ),
57 Seq().asJava 59 Seq().asJava
58 ) 60 )
59 61
60 val AsomeValuesFromSiC = new OWLSubClassOfAxiomImpl( 62 val AsomeValuesFromSiC = new OWLSubClassOfAxiomImpl(
61 new OWLClassImpl(RSA.base("A")), 63 new OWLClassImpl(base("A")),
62 new OWLObjectSomeValuesFromImpl( 64 new OWLObjectSomeValuesFromImpl(
63 roleS_inv, 65 roleS_inv,
64 new OWLClassImpl(RSA.base("C")) 66 new OWLClassImpl(base("C"))
65 ), 67 ),
66 Seq().asJava 68 Seq().asJava
67 ) 69 )
68 70
69 val SsubPropertyOfT = new OWLSubObjectPropertyOfAxiomImpl( 71 val SsubPropertyOfT = new OWLSubObjectPropertyOfAxiomImpl(
70 new OWLObjectPropertyImpl(RSA.base("S")), 72 new OWLObjectPropertyImpl(base("S")),
71 new OWLObjectPropertyImpl(RSA.base("T")), 73 new OWLObjectPropertyImpl(base("T")),
72 Seq().asJava 74 Seq().asJava
73 ) 75 )
74 76
@@ -219,51 +221,54 @@ object Ontology2_CanonicalModelSpec {
219 /* Renderer to display OWL Axioms with DL syntax*/ 221 /* Renderer to display OWL Axioms with DL syntax*/
220 val renderer = new DLSyntaxObjectRenderer() 222 val renderer = new DLSyntaxObjectRenderer()
221 223
224 def base(str: String): IRI =
225 IRI.create("http://example.com/rsa_example.owl#" + str)
226
222 val ontology_path: File = new File("examples/example2.owl") 227 val ontology_path: File = new File("examples/example2.owl")
223 val ontology = RSAOntology(ontology_path) 228 val ontology = RSAOntology(ontology_path)
224 val program = ontology.canonicalModel 229 val program = ontology.canonicalModel
225 230
226 val roleR = new OWLObjectPropertyImpl(RSA.base("R")) 231 val roleR = new OWLObjectPropertyImpl(base("R"))
227 val roleS = new OWLObjectPropertyImpl(RSA.base("S")) 232 val roleS = new OWLObjectPropertyImpl(base("S"))
228 val roleT = new OWLObjectPropertyImpl(RSA.base("T")) 233 val roleT = new OWLObjectPropertyImpl(base("T"))
229 val roleP = new OWLObjectPropertyImpl(RSA.base("P")) 234 val roleP = new OWLObjectPropertyImpl(base("P"))
230 val roleR_inv = roleR.getInverseProperty() 235 val roleR_inv = roleR.getInverseProperty()
231 val roleS_inv = roleS.getInverseProperty() 236 val roleS_inv = roleS.getInverseProperty()
232 val roleT_inv = roleT.getInverseProperty() 237 val roleT_inv = roleT.getInverseProperty()
233 val roleP_inv = roleP.getInverseProperty() 238 val roleP_inv = roleP.getInverseProperty()
234 239
235 val AsomeValuesFromRB = new OWLSubClassOfAxiomImpl( 240 val AsomeValuesFromRB = new OWLSubClassOfAxiomImpl(
236 new OWLClassImpl(RSA.base("A")), 241 new OWLClassImpl(base("A")),
237 new OWLObjectSomeValuesFromImpl( 242 new OWLObjectSomeValuesFromImpl(
238 roleR, 243 roleR,
239 new OWLClassImpl(RSA.base("B")) 244 new OWLClassImpl(base("B"))
240 ), 245 ),
241 Seq().asJava 246 Seq().asJava
242 ) 247 )
243 248
244 val BsomeValuesFromSC = new OWLSubClassOfAxiomImpl( 249 val BsomeValuesFromSC = new OWLSubClassOfAxiomImpl(
245 new OWLClassImpl(RSA.base("B")), 250 new OWLClassImpl(base("B")),
246 new OWLObjectSomeValuesFromImpl( 251 new OWLObjectSomeValuesFromImpl(
247 roleS, 252 roleS,
248 new OWLClassImpl(RSA.base("C")) 253 new OWLClassImpl(base("C"))
249 ), 254 ),
250 Seq().asJava 255 Seq().asJava
251 ) 256 )
252 257
253 val CsomeValuesFromTD = new OWLSubClassOfAxiomImpl( 258 val CsomeValuesFromTD = new OWLSubClassOfAxiomImpl(
254 new OWLClassImpl(RSA.base("C")), 259 new OWLClassImpl(base("C")),
255 new OWLObjectSomeValuesFromImpl( 260 new OWLObjectSomeValuesFromImpl(
256 roleT, 261 roleT,
257 new OWLClassImpl(RSA.base("D")) 262 new OWLClassImpl(base("D"))
258 ), 263 ),
259 Seq().asJava 264 Seq().asJava
260 ) 265 )
261 266
262 val DsomeValuesFromPA = new OWLSubClassOfAxiomImpl( 267 val DsomeValuesFromPA = new OWLSubClassOfAxiomImpl(
263 new OWLClassImpl(RSA.base("D")), 268 new OWLClassImpl(base("D")),
264 new OWLObjectSomeValuesFromImpl( 269 new OWLObjectSomeValuesFromImpl(
265 roleP, 270 roleP,
266 new OWLClassImpl(RSA.base("A")) 271 new OWLClassImpl(base("A"))
267 ), 272 ),
268 Seq().asJava 273 Seq().asJava
269 ) 274 )
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
14 14
15import scala.collection.JavaConverters._ 15import scala.collection.JavaConverters._
16 16
17import rsacomb.RDFoxUtil._ 17import rsacomb.util.RDFoxHelpers
18 18
19object FilteringProgramSpec { 19object FilteringProgramSpec {
20 20
@@ -33,12 +33,14 @@ object FilteringProgramSpec {
33 33
34 // QUERY 0 34 // QUERY 0
35 35
36 val query0 = parseQuery(""" 36 val query0 = RDFoxHelpers
37 SELECT ?subj 37 .parseSelectQuery("""
38 WHERE { 38 SELECT ?subj
39 ?subj ?pred ?obj 39 WHERE {
40 } 40 ?subj ?pred ?obj
41 """, prefixes).get 41 }
42 """, prefixes)
43 .get
42 44
43 // val query0 = Query.create( 45 // val query0 = Query.create(
44 // QueryType.SELECT, 46 // QueryType.SELECT,
@@ -49,12 +51,14 @@ object FilteringProgramSpec {
49 51
50 // QUERY 1 52 // QUERY 1
51 53
52 val query1 = parseQuery(""" 54 val query1 = RDFoxHelpers
55 .parseSelectQuery("""
53 SELECT * 56 SELECT *
54 WHERE { 57 WHERE {
55 ?w a :Wellbore 58 ?w a :Wellbore
56 } 59 }
57 """, prefixes).get 60 """, prefixes)
61 .get
58 62
59 // val query1 = Query.create( 63 // val query1 = Query.create(
60 // QueryType.SELECT, 64 // QueryType.SELECT,
@@ -65,8 +69,9 @@ object FilteringProgramSpec {
65 69
66 // QUERY 2 70 // QUERY 2
67 71
68 val query2 = parseQuery( 72 val query2 = RDFoxHelpers
69 """ 73 .parseSelectQuery(
74 """
70 SELECT * 75 SELECT *
71 WHERE { 76 WHERE {
72 ?w a :Wellbore ; 77 ?w a :Wellbore ;
@@ -74,8 +79,9 @@ object FilteringProgramSpec {
74 ?doc :hasURL ?document_hyperlink 79 ?doc :hasURL ?document_hyperlink
75 } 80 }
76 """, 81 """,
77 prefixes 82 prefixes
78 ).get 83 )
84 .get
79 85
80 // val query2 = Query.create( 86 // val query2 = Query.create(
81 // QueryType.SELECT, 87 // QueryType.SELECT,
@@ -90,8 +96,9 @@ object FilteringProgramSpec {
90 96
91 // QUERY 3 97 // QUERY 3
92 98
93 val query3 = parseQuery( 99 val query3 = RDFoxHelpers
94 """ 100 .parseSelectQuery(
101 """
95 SELECT ?wellbore ?formation_pressure 102 SELECT ?wellbore ?formation_pressure
96 WHERE { 103 WHERE {
97 ?w a :Wellbore ; 104 ?w a :Wellbore ;
@@ -100,8 +107,9 @@ object FilteringProgramSpec {
100 ?fp :valueInStandardUnit ?formation_pressure 107 ?fp :valueInStandardUnit ?formation_pressure
101 } 108 }
102 """, 109 """,
103 prefixes 110 prefixes
104 ).get 111 )
112 .get
105 113
106 // val query3 = Query.create( 114 // val query3 = Query.create(
107 // QueryType.SELECT, 115 // QueryType.SELECT,
@@ -117,8 +125,9 @@ object FilteringProgramSpec {
117 125
118 // QUERY 4 126 // QUERY 4
119 127
120 val query4 = parseQuery( 128 val query4 = RDFoxHelpers
121 """ 129 .parseSelectQuery(
130 """
122 SELECT * 131 SELECT *
123 WHERE { 132 WHERE {
124 ?w a :Wellbore ; 133 ?w a :Wellbore ;
@@ -129,8 +138,9 @@ object FilteringProgramSpec {
129 :peakAmount ?peak_amount 138 :peakAmount ?peak_amount
130 } 139 }
131 """, 140 """,
132 prefixes 141 prefixes
133 ).get 142 )
143 .get
134 144
135 // val query4 = Query.create( 145 // val query4 = Query.create(
136 // QueryType.SELECT, 146 // QueryType.SELECT,
@@ -155,8 +165,9 @@ object FilteringProgramSpec {
155 165
156 // QUERY 5 166 // QUERY 5
157 167
158 val query5 = parseQuery( 168 val query5 = RDFoxHelpers
159 """ 169 .parseSelectQuery(
170 """
160 SELECT ?wellbore ?unit_name ?discovery 171 SELECT ?wellbore ?unit_name ?discovery
161 WHERE { 172 WHERE {
162 ?w a :Wellbore ; 173 ?w a :Wellbore ;
@@ -170,8 +181,9 @@ object FilteringProgramSpec {
170 :overlapsWellboreInterval ?c_int 181 :overlapsWellboreInterval ?c_int
171 } 182 }
172 """, 183 """,
173 prefixes 184 prefixes
174 ).get 185 )
186 .get
175 187
176 // val query5 = Query.create( 188 // val query5 = Query.create(
177 // QueryType.SELECT, 189 // QueryType.SELECT,
@@ -192,8 +204,9 @@ object FilteringProgramSpec {
192 204
193 // QUERY 6 205 // QUERY 6
194 206
195 val query6 = parseQuery( 207 val query6 = RDFoxHelpers
196 """ 208 .parseSelectQuery(
209 """
197 SELECT DISTINCT ?wellbore ?content 210 SELECT DISTINCT ?wellbore ?content
198 WHERE { 211 WHERE {
199 ?w a :Wellbore ; 212 ?w a :Wellbore ;
@@ -203,8 +216,9 @@ object FilteringProgramSpec {
203 :fluidZoneContent ?content 216 :fluidZoneContent ?content
204 } 217 }
205 """, 218 """,
206 prefixes 219 prefixes
207 ).get 220 )
221 .get
208 222
209 // val query6 = Query.create( 223 // val query6 = Query.create(
210 // QueryType.SELECT, 224 // QueryType.SELECT,
@@ -221,8 +235,9 @@ object FilteringProgramSpec {
221 235
222 // QUERY 7 236 // QUERY 7
223 237
224 val query7 = parseQuery( 238 val query7 = RDFoxHelpers
225 """ 239 .parseSelectQuery(
240 """
226 SELECT ?wName ?sample ?porosity ?top_depth_md ?bot_depth_md 241 SELECT ?wName ?sample ?porosity ?top_depth_md ?bot_depth_md
227 WHERE { 242 WHERE {
228 ?w a :Wellbore ; 243 ?w a :Wellbore ;
@@ -246,8 +261,9 @@ object FilteringProgramSpec {
246 :valueInStandardUnit ?bot_depth_md 261 :valueInStandardUnit ?bot_depth_md
247 } 262 }
248 """, 263 """,
249 prefixes 264 prefixes
250 ).get 265 )
266 .get
251 267
252 // val query7 = Query.create( 268 // val query7 = Query.create(
253 // QueryType.SELECT, 269 // 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.{
36import org.semanticweb.owlapi.model.{IRI => OWLIRI} 36import org.semanticweb.owlapi.model.{IRI => OWLIRI}
37import tech.oxfordsemantic.jrdfox.logic.expression.{IRI => RDFIRI} 37import tech.oxfordsemantic.jrdfox.logic.expression.{IRI => RDFIRI}
38 38
39import rsacomb.util.RSA
40
39object OWLAxiomSpec { 41object OWLAxiomSpec {
40 42
41 // IRI 43 // IRI
@@ -53,8 +55,8 @@ object OWLAxiomSpec {
53 val term_x = Variable.create("x") 55 val term_x = Variable.create("x")
54 val term_y = Variable.create("y") 56 val term_y = Variable.create("y")
55 val term_z = Variable.create("z") 57 val term_z = Variable.create("z")
56 val term_c1 = RSA.rsa("c_1") 58 val term_c1 = RSA("c_1")
57 val term_c2 = RSA.rsa("c_2") 59 val term_c2 = RSA("c_2")
58 val term_alice = RDFIRI.create("univ:alice") 60 val term_alice = RDFIRI.create("univ:alice")
59 61
60 // RDFox Predicates 62 // RDFox Predicates
@@ -181,7 +183,7 @@ class OWLAxiomSpec extends AnyFlatSpec with Matchers with LoneElement {
181 // Import required data 183 // Import required data
182 import OWLAxiomSpec._ 184 import OWLAxiomSpec._
183 // Implicit convertion from IRI in OWLAPI to IRI in JRDFox 185 // Implicit convertion from IRI in OWLAPI to IRI in JRDFox
184 import RDFoxUtil._ 186 import rsacomb.implicits.RDFox._
185 187
186 // OWLSubClassOfAxiom #1 188 // OWLSubClassOfAxiom #1
187 axiom_OWLSubClassOf1.toString should "be converted into a singleton List[Rule]" in { 189 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.{
34} 34}
35 35
36import rsacomb.RDFoxRuleShards 36import rsacomb.RDFoxRuleShards
37import rsacomb.util.RSA
37 38
38object OWLClassSpec { 39object OWLClassSpec {
39 40
@@ -49,8 +50,8 @@ object OWLClassSpec {
49 // RDFox Terms 50 // RDFox Terms
50 val term_x = Variable.create("x") 51 val term_x = Variable.create("x")
51 val term_y = Variable.create("y") 52 val term_y = Variable.create("y")
52 val term_c1 = RSA.rsa("c_1") 53 val term_c1 = RSA("c_1")
53 val term_c2 = RSA.rsa("c_2") 54 val term_c2 = RSA("c_2")
54 val term_alice = RDFIRI.create("univ:alice") 55 val term_alice = RDFIRI.create("univ:alice")
55 56
56 // RDFox Predicates 57 // RDFox Predicates