aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/rsacomb/RSAOntology.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/rsacomb/RSAOntology.scala')
-rw-r--r--src/main/scala/rsacomb/RSAOntology.scala42
1 files changed, 22 insertions, 20 deletions
diff --git a/src/main/scala/rsacomb/RSAOntology.scala b/src/main/scala/rsacomb/RSAOntology.scala
index 78460ff..dd65116 100644
--- a/src/main/scala/rsacomb/RSAOntology.scala
+++ b/src/main/scala/rsacomb/RSAOntology.scala
@@ -44,6 +44,8 @@ import org.semanticweb.owlapi.dlsyntax.renderer.DLSyntaxObjectRenderer
44import tech.oxfordsemantic.jrdfox.logic._ 44import tech.oxfordsemantic.jrdfox.logic._
45import org.semanticweb.owlapi.model.OWLObjectInverseOf 45import org.semanticweb.owlapi.model.OWLObjectInverseOf
46 46
47import suffix.{Empty, Forward, Backward, Inverse}
48
47object RSAOntology {} 49object RSAOntology {}
48/* Wrapper trait for the implicit class `RSAOntology`. 50/* Wrapper trait for the implicit class `RSAOntology`.
49 */ 51 */
@@ -127,7 +129,7 @@ trait RSAOntology {
127 RSA.getFreshVariable(), 129 RSA.getFreshVariable(),
128 unsafe, 130 unsafe,
129 SkolemStrategy.ConstantRSA(axiom.toString), 131 SkolemStrategy.ConstantRSA(axiom.toString),
130 RSASuffix.None 132 Empty
131 ) 133 )
132 rule <- axiom.accept(visitor) 134 rule <- axiom.accept(visitor)
133 } yield rule 135 } yield rule
@@ -381,7 +383,7 @@ trait RSAOntology {
381 TupleTableAtom 383 TupleTableAtom
382 .rdf( 384 .rdf(
383 varX, 385 varX,
384 IRI.create(pred ++ RSASuffix.Forward.getSuffix), 386 IRI.create(pred :: Forward),
385 varY 387 varY
386 ) 388 )
387 ), 389 ),
@@ -390,7 +392,7 @@ trait RSAOntology {
390 TupleTableAtom 392 TupleTableAtom
391 .rdf( 393 .rdf(
392 varX, 394 varX,
393 IRI.create(pred ++ RSASuffix.Backward.getSuffix), 395 IRI.create(pred :: Backward),
394 varY 396 varY
395 ) 397 )
396 ), 398 ),
@@ -399,7 +401,7 @@ trait RSAOntology {
399 TupleTableAtom 401 TupleTableAtom
400 .rdf( 402 .rdf(
401 varX, 403 varX,
402 IRI.create(pred ++ RSASuffix.Forward.getSuffix ++ "_inv"), 404 IRI.create(pred :: Forward + Inverse),
403 varY 405 varY
404 ) 406 )
405 ), 407 ),
@@ -408,57 +410,57 @@ trait RSAOntology {
408 TupleTableAtom 410 TupleTableAtom
409 .rdf( 411 .rdf(
410 varX, 412 varX,
411 IRI.create(pred ++ RSASuffix.Backward.getSuffix ++ "_inv"), 413 IRI.create(pred :: Backward + Inverse),
412 varY 414 varY
413 ) 415 )
414 ), 416 ),
415 Rule.create( 417 Rule.create(
416 TupleTableAtom.rdf( 418 TupleTableAtom.rdf(
417 varY, 419 varY,
418 IRI.create(pred ++ RSASuffix.Backward.getSuffix ++ "_inv"), 420 IRI.create(pred :: Backward + Inverse),
419 varX 421 varX
420 ), 422 ),
421 TupleTableAtom 423 TupleTableAtom
422 .rdf( 424 .rdf(
423 varX, 425 varX,
424 IRI.create(pred ++ RSASuffix.Forward.getSuffix), 426 IRI.create(pred :: Forward),
425 varY 427 varY
426 ) 428 )
427 ), 429 ),
428 Rule.create( 430 Rule.create(
429 TupleTableAtom.rdf( 431 TupleTableAtom.rdf(
430 varY, 432 varY,
431 IRI.create(pred ++ RSASuffix.Forward.getSuffix ++ "_inv"), 433 IRI.create(pred :: Forward + Inverse),
432 varX 434 varX
433 ), 435 ),
434 TupleTableAtom.rdf( 436 TupleTableAtom.rdf(
435 varX, 437 varX,
436 IRI.create(pred ++ RSASuffix.Backward.getSuffix), 438 IRI.create(pred :: Backward),
437 varY 439 varY
438 ) 440 )
439 ), 441 ),
440 Rule.create( 442 Rule.create(
441 TupleTableAtom.rdf( 443 TupleTableAtom.rdf(
442 varY, 444 varY,
443 IRI.create(pred ++ RSASuffix.Backward.getSuffix), 445 IRI.create(pred :: Backward),
444 varX 446 varX
445 ), 447 ),
446 TupleTableAtom 448 TupleTableAtom
447 .rdf( 449 .rdf(
448 varX, 450 varX,
449 IRI.create(pred ++ RSASuffix.Forward.getSuffix ++ "_inv"), 451 IRI.create(pred :: Forward + Inverse),
450 varY 452 varY
451 ) 453 )
452 ), 454 ),
453 Rule.create( 455 Rule.create(
454 TupleTableAtom.rdf( 456 TupleTableAtom.rdf(
455 varY, 457 varY,
456 IRI.create(pred ++ RSASuffix.Forward.getSuffix), 458 IRI.create(pred :: Forward),
457 varX 459 varX
458 ), 460 ),
459 TupleTableAtom.rdf( 461 TupleTableAtom.rdf(
460 varX, 462 varX,
461 IRI.create(pred ++ RSASuffix.Backward.getSuffix ++ "_inv"), 463 IRI.create(pred :: Backward + Inverse),
462 varY 464 varY
463 ) 465 )
464 ) 466 )
@@ -533,7 +535,7 @@ trait RSAOntology {
533 Variable.create("X"), 535 Variable.create("X"),
534 unsafeRoles, 536 unsafeRoles,
535 SkolemStrategy.None, 537 SkolemStrategy.None,
536 RSASuffix.None 538 Empty
537 ) { 539 ) {
538 540
539 private def rules1(axiom: OWLSubClassOfAxiom): List[Rule] = { 541 private def rules1(axiom: OWLSubClassOfAxiom): List[Rule] = {
@@ -556,7 +558,7 @@ trait RSAOntology {
556 def notIn(t: Term): Negation = Negation.create(in(t)) 558 def notIn(t: Term): Negation = Negation.create(in(t))
557 val roleRf: TupleTableAtom = { 559 val roleRf: TupleTableAtom = {
558 val visitor = 560 val visitor =
559 new RDFoxPropertyExprConverter(varX, v0, RSASuffix.Forward) 561 new RDFoxPropertyExprConverter(varX, v0, Forward)
560 axiom.getSuperClass 562 axiom.getSuperClass
561 .asInstanceOf[OWLObjectSomeValuesFrom] 563 .asInstanceOf[OWLObjectSomeValuesFrom]
562 .getProperty 564 .getProperty
@@ -600,7 +602,7 @@ trait RSAOntology {
600 } 602 }
601 def roleRf(t1: Term, t2: Term): TupleTableAtom = { 603 def roleRf(t1: Term, t2: Term): TupleTableAtom = {
602 val visitor = 604 val visitor =
603 new RDFoxPropertyExprConverter(t1, t2, RSASuffix.Forward) 605 new RDFoxPropertyExprConverter(t1, t2, Forward)
604 roleR.accept(visitor).head 606 roleR.accept(visitor).head
605 } 607 }
606 def atomB(t: Term): TupleTableAtom = { 608 def atomB(t: Term): TupleTableAtom = {
@@ -638,7 +640,7 @@ trait RSAOntology {
638 } 640 }
639 def roleRf(t: Term): TupleTableAtom = { 641 def roleRf(t: Term): TupleTableAtom = {
640 val visitor = 642 val visitor =
641 new RDFoxPropertyExprConverter(t, v1, RSASuffix.Forward) 643 new RDFoxPropertyExprConverter(t, v1, Forward)
642 roleR.accept(visitor).head 644 roleR.accept(visitor).head
643 } 645 }
644 val atomB: TupleTableAtom = { 646 val atomB: TupleTableAtom = {
@@ -668,7 +670,7 @@ trait RSAOntology {
668 Variable.create("X"), 670 Variable.create("X"),
669 ontology.unsafeRoles, 671 ontology.unsafeRoles,
670 SkolemStrategy.Standard(axiom.toString), 672 SkolemStrategy.Standard(axiom.toString),
671 RSASuffix.Forward 673 Forward
672 ) 674 )
673 axiom.accept(visitor) 675 axiom.accept(visitor)
674 } else { 676 } else {
@@ -687,13 +689,13 @@ trait RSAOntology {
687 Variable.create("X"), 689 Variable.create("X"),
688 ontology.unsafeRoles, 690 ontology.unsafeRoles,
689 SkolemStrategy.None, 691 SkolemStrategy.None,
690 RSASuffix.Forward 692 Forward
691 ) 693 )
692 val visitorB = new RDFoxAxiomConverter( 694 val visitorB = new RDFoxAxiomConverter(
693 Variable.create("X"), 695 Variable.create("X"),
694 ontology.unsafeRoles, 696 ontology.unsafeRoles,
695 SkolemStrategy.None, 697 SkolemStrategy.None,
696 RSASuffix.Backward 698 Backward
697 ) 699 )
698 axiom.accept(visitorB) ++ axiom.accept(visitorF) 700 axiom.accept(visitorB) ++ axiom.accept(visitorF)
699 } 701 }