aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/rsacomb/OWLAxiomSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/rsacomb/OWLAxiomSpec.scala')
-rw-r--r--src/test/scala/rsacomb/OWLAxiomSpec.scala58
1 files changed, 31 insertions, 27 deletions
diff --git a/src/test/scala/rsacomb/OWLAxiomSpec.scala b/src/test/scala/rsacomb/OWLAxiomSpec.scala
index c685987..75803d8 100644
--- a/src/test/scala/rsacomb/OWLAxiomSpec.scala
+++ b/src/test/scala/rsacomb/OWLAxiomSpec.scala
@@ -19,18 +19,22 @@ import uk.ac.manchester.cs.owl.owlapi.{
19import uk.ac.manchester.cs.owl.owlapi.{OWLObjectPropertyImpl} 19import uk.ac.manchester.cs.owl.owlapi.{OWLObjectPropertyImpl}
20import org.semanticweb.owlapi.model.{OWLAxiom} 20import org.semanticweb.owlapi.model.{OWLAxiom}
21 21
22import tech.oxfordsemantic.jrdfox.logic.{Rule, BindAtom, BuiltinFunctionCall} 22import tech.oxfordsemantic.jrdfox.logic.Datatype
23import tech.oxfordsemantic.jrdfox.logic.{ 23import tech.oxfordsemantic.jrdfox.logic.datalog.{
24 Atom, 24 Rule,
25 TupleTableName, 25 BindAtom,
26 TupleTableAtom,
27 TupleTableName
28}
29import tech.oxfordsemantic.jrdfox.logic.expression.{
30 FunctionCall,
26 Term, 31 Term,
27 Variable, 32 Variable,
28 Literal, 33 Literal
29 Datatype
30} 34}
31 35
32import org.semanticweb.owlapi.model.{IRI => OWLIRI} 36import org.semanticweb.owlapi.model.{IRI => OWLIRI}
33import tech.oxfordsemantic.jrdfox.logic.{IRI => RDFIRI} 37import tech.oxfordsemantic.jrdfox.logic.expression.{IRI => RDFIRI}
34 38
35object OWLAxiomSpec { 39object OWLAxiomSpec {
36 40
@@ -188,15 +192,15 @@ class OWLAxiomSpec extends AnyFlatSpec with Matchers with LoneElement {
188 it should "contain a conjuction of atoms (Student[?x],Worker[?x]) in the body of the rule" in { 192 it should "contain a conjuction of atoms (Student[?x],Worker[?x]) in the body of the rule" in {
189 val result = convertAxiom(axiom_OWLSubClassOf1, term_x) 193 val result = convertAxiom(axiom_OWLSubClassOf1, term_x)
190 val body = List( 194 val body = List(
191 Atom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Student), 195 TupleTableAtom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Student),
192 Atom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Worker) 196 TupleTableAtom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Worker)
193 ) 197 )
194 result.loneElement.getBody should contain theSameElementsAs body 198 result.loneElement.getBody should contain theSameElementsAs body
195 } 199 }
196 200
197 it should "contain a single atom (PartTimeStudent[?x]) in the head of the rule" in { 201 it should "contain a single atom (PartTimeStudent[?x]) in the head of the rule" in {
198 val result = convertAxiom(axiom_OWLSubClassOf1, term_x) 202 val result = convertAxiom(axiom_OWLSubClassOf1, term_x)
199 val head = Atom.rdf(term_x, RDFIRI.RDF_TYPE, iri_PartTimeStudent) 203 val head = TupleTableAtom.rdf(term_x, RDFIRI.RDF_TYPE, iri_PartTimeStudent)
200 result.loneElement.getHead.loneElement should be(head) 204 result.loneElement.getHead.loneElement should be(head)
201 } 205 }
202 206
@@ -212,7 +216,7 @@ class OWLAxiomSpec extends AnyFlatSpec with Matchers with LoneElement {
212 val skolem = SkolemStrategy.Constant(axiom_OWLSubClassOf2.toString) 216 val skolem = SkolemStrategy.Constant(axiom_OWLSubClassOf2.toString)
213 val result = convertAxiom(axiom_OWLSubClassOf2, term_x, skolem) 217 val result = convertAxiom(axiom_OWLSubClassOf2, term_x, skolem)
214 val body = 218 val body =
215 Atom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Student.getIRIString) 219 TupleTableAtom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Student.getIRIString)
216 result.loneElement.getBody.loneElement should equal(body) 220 result.loneElement.getBody.loneElement should equal(body)
217 } 221 }
218 222
@@ -221,8 +225,8 @@ class OWLAxiomSpec extends AnyFlatSpec with Matchers with LoneElement {
221 // val result = convertAxiom(axiom_OWLSubClassOf2, term_x, skolem) 225 // val result = convertAxiom(axiom_OWLSubClassOf2, term_x, skolem)
222 // val term_c = RSA.internal(skolem.const.getIRI) 226 // val term_c = RSA.internal(skolem.const.getIRI)
223 // val head = List( 227 // val head = List(
224 // Atom.rdf(term_x, iri_hasSupervisor, term_c), 228 // TupleTableAtom.rdf(term_x, iri_hasSupervisor, term_c),
225 // Atom.rdf(term_c, RDFIRI.RDF_TYPE, iri_Professor) 229 // TupleTableAtom.rdf(term_c, RDFIRI.RDF_TYPE, iri_Professor)
226 // ) 230 // )
227 // result.loneElement.getHead should contain theSameElementsAs (head) 231 // result.loneElement.getHead should contain theSameElementsAs (head)
228 // } 232 // }
@@ -239,7 +243,7 @@ class OWLAxiomSpec extends AnyFlatSpec with Matchers with LoneElement {
239 val skolem = SkolemStrategy.Standard(axiom_OWLSubClassOf2.toString) 243 val skolem = SkolemStrategy.Standard(axiom_OWLSubClassOf2.toString)
240 val result = convertAxiom(axiom_OWLSubClassOf2, term_x, skolem) 244 val result = convertAxiom(axiom_OWLSubClassOf2, term_x, skolem)
241 val body = 245 val body =
242 Atom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Student) 246 TupleTableAtom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Student)
243 result.loneElement.getBody should contain(body) 247 result.loneElement.getBody should contain(body)
244 } 248 }
245 249
@@ -255,8 +259,8 @@ class OWLAxiomSpec extends AnyFlatSpec with Matchers with LoneElement {
255 // val skolem = SkolemStrategy.Standard(axiom_OWLSubClassOf2.toString) 259 // val skolem = SkolemStrategy.Standard(axiom_OWLSubClassOf2.toString)
256 // val result = convertAxiom(axiom_OWLSubClassOf2, term_x, skolem) 260 // val result = convertAxiom(axiom_OWLSubClassOf2, term_x, skolem)
257 // val head = List( 261 // val head = List(
258 // Atom.rdf(term_x, iri_hasSupervisor, term_y), 262 // TupleTableAtom.rdf(term_x, iri_hasSupervisor, term_y),
259 // Atom.rdf(term_y, RDFIRI.RDF_TYPE, iri_Professor) 263 // TupleTableAtom.rdf(term_y, RDFIRI.RDF_TYPE, iri_Professor)
260 // ) 264 // )
261 // result.loneElement.getHead should contain theSameElementsAs head 265 // result.loneElement.getHead should contain theSameElementsAs head
262 // } 266 // }
@@ -270,8 +274,8 @@ class OWLAxiomSpec extends AnyFlatSpec with Matchers with LoneElement {
270 // it should "contain a conjunction of atoms (hasSupervisor[?x,?y],Professor[?y]) in the body of the rule" in { 274 // it should "contain a conjunction of atoms (hasSupervisor[?x,?y],Professor[?y]) in the body of the rule" in {
271 // val result = convertAxiom(axiom_OWLSubClassOf3, term_x) 275 // val result = convertAxiom(axiom_OWLSubClassOf3, term_x)
272 // val body = List( 276 // val body = List(
273 // Atom.rdf(term_x, iri_hasSupervisor, term_y), 277 // TupleTableAtom.rdf(term_x, iri_hasSupervisor, term_y),
274 // Atom.rdf(term_y, RDFIRI.RDF_TYPE, iri_Professor) 278 // TupleTableAtom.rdf(term_y, RDFIRI.RDF_TYPE, iri_Professor)
275 // ) 279 // )
276 // result.loneElement.getBody should contain theSameElementsAs body 280 // result.loneElement.getBody should contain theSameElementsAs body
277 // } 281 // }
@@ -279,7 +283,7 @@ class OWLAxiomSpec extends AnyFlatSpec with Matchers with LoneElement {
279 it should "contain a single atom (Student[?x]) in the head of the rule" in { 283 it should "contain a single atom (Student[?x]) in the head of the rule" in {
280 val result = convertAxiom(axiom_OWLSubClassOf3, term_x) 284 val result = convertAxiom(axiom_OWLSubClassOf3, term_x)
281 val head = 285 val head =
282 Atom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Student) 286 TupleTableAtom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Student)
283 result.loneElement.getHead.loneElement should be(head) 287 result.loneElement.getHead.loneElement should be(head)
284 } 288 }
285 289
@@ -292,13 +296,13 @@ class OWLAxiomSpec extends AnyFlatSpec with Matchers with LoneElement {
292 it should "contain a single atoms (Student[?x]) in the body of the rule" in { 296 it should "contain a single atoms (Student[?x]) in the body of the rule" in {
293 val result = convertAxiom(axiom_OWLSubClassOf4, term_x) 297 val result = convertAxiom(axiom_OWLSubClassOf4, term_x)
294 val body = 298 val body =
295 Atom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Student) 299 TupleTableAtom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Student)
296 result.loneElement.getBody.loneElement should be(body) 300 result.loneElement.getBody.loneElement should be(body)
297 } 301 }
298 302
299 it should "contain a single atom (sameAs[?x,alice])) in the head of the rule" in { 303 it should "contain a single atom (sameAs[?x,alice])) in the head of the rule" in {
300 val result = convertAxiom(axiom_OWLSubClassOf4, term_x) 304 val result = convertAxiom(axiom_OWLSubClassOf4, term_x)
301 val head = Atom.rdf(term_x, RDFIRI.SAME_AS, term_alice) 305 val head = TupleTableAtom.rdf(term_x, RDFIRI.SAME_AS, term_alice)
302 result.loneElement.getHead.loneElement should be(head) 306 result.loneElement.getHead.loneElement should be(head)
303 } 307 }
304 308
@@ -311,18 +315,18 @@ class OWLAxiomSpec extends AnyFlatSpec with Matchers with LoneElement {
311 // it should "contain a conjunction of atoms (...) in the body of the rule" in { 315 // it should "contain a conjunction of atoms (...) in the body of the rule" in {
312 // val result = convertAxiom(axiom_OWLSubClassOf5, term_x) 316 // val result = convertAxiom(axiom_OWLSubClassOf5, term_x)
313 // val body = List( 317 // val body = List(
314 // Atom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Student), 318 // TupleTableAtom.rdf(term_x, RDFIRI.RDF_TYPE, iri_Student),
315 // Atom.rdf(term_x, iri_hasSupervisor, term_y), 319 // TupleTableAtom.rdf(term_x, iri_hasSupervisor, term_y),
316 // Atom.rdf(term_y, RDFIRI.RDF_TYPE, iri_Professor), 320 // TupleTableAtom.rdf(term_y, RDFIRI.RDF_TYPE, iri_Professor),
317 // Atom.rdf(term_x, iri_hasSupervisor, term_z), 321 // TupleTableAtom.rdf(term_x, iri_hasSupervisor, term_z),
318 // Atom.rdf(term_z, RDFIRI.RDF_TYPE, iri_Professor) 322 // TupleTableAtom.rdf(term_z, RDFIRI.RDF_TYPE, iri_Professor)
319 // ) 323 // )
320 // result.loneElement.getBody should contain theSameElementsAs body 324 // result.loneElement.getBody should contain theSameElementsAs body
321 // } 325 // }
322 326
323 // it should "contain a single atom (sameAs[?x,?z])) in the head of the rule" in { 327 // it should "contain a single atom (sameAs[?x,?z])) in the head of the rule" in {
324 // val result = convertAxiom(axiom_OWLSubClassOf5, term_x) 328 // val result = convertAxiom(axiom_OWLSubClassOf5, term_x)
325 // val head = Atom.rdf(term_y, RDFIRI.SAME_AS, term_z) 329 // val head = TupleTableAtom.rdf(term_y, RDFIRI.SAME_AS, term_z)
326 // result.loneElement.getHead.loneElement should be(head) 330 // result.loneElement.getHead.loneElement should be(head)
327 // } 331 // }
328 332