diff options
author | Federico Igne <federico.igne@cs.ox.ac.uk> | 2020-11-18 18:07:53 +0000 |
---|---|---|
committer | Federico Igne <federico.igne@cs.ox.ac.uk> | 2020-11-18 18:07:53 +0000 |
commit | 4df351d3b1d11fc045005323c38ba3528de631ea (patch) | |
tree | 35f809e3def7d55602ed124f7b194db29407ba33 /src/test/scala/rsacomb | |
parent | e1a04294ed8737444e40323474f4084cb64c1d55 (diff) | |
download | RSAComb-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.scala | 59 | ||||
-rw-r--r-- | src/test/scala/rsacomb/FilteringProgramSpecs.scala | 82 | ||||
-rw-r--r-- | src/test/scala/rsacomb/OWLAxiomSpec.scala | 8 | ||||
-rw-r--r-- | src/test/scala/rsacomb/OWLClassSpec.scala | 5 |
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 | ||
15 | import scala.collection.JavaConverters._ | 15 | import scala.collection.JavaConverters._ |
16 | 16 | ||
17 | import rsacomb.RSA._ | 17 | import rsacomb.util.{RDFoxHelpers, RSA} |
18 | import rsacomb.RDFoxUtil._ | ||
19 | 18 | ||
20 | object Ontology1_CanonicalModelSpec { | 19 | object 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 | ||
15 | import scala.collection.JavaConverters._ | 15 | import scala.collection.JavaConverters._ |
16 | 16 | ||
17 | import rsacomb.RDFoxUtil._ | 17 | import rsacomb.util.RDFoxHelpers |
18 | 18 | ||
19 | object FilteringProgramSpec { | 19 | object 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.{ | |||
36 | import org.semanticweb.owlapi.model.{IRI => OWLIRI} | 36 | import org.semanticweb.owlapi.model.{IRI => OWLIRI} |
37 | import tech.oxfordsemantic.jrdfox.logic.expression.{IRI => RDFIRI} | 37 | import tech.oxfordsemantic.jrdfox.logic.expression.{IRI => RDFIRI} |
38 | 38 | ||
39 | import rsacomb.util.RSA | ||
40 | |||
39 | object OWLAxiomSpec { | 41 | object 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 | ||
36 | import rsacomb.RDFoxRuleShards | 36 | import rsacomb.RDFoxRuleShards |
37 | import rsacomb.util.RSA | ||
37 | 38 | ||
38 | object OWLClassSpec { | 39 | object 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 |