diff options
Diffstat (limited to 'src/main/scala/rsacomb/RSAOntology.scala')
-rw-r--r-- | src/main/scala/rsacomb/RSAOntology.scala | 42 |
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 | |||
44 | import tech.oxfordsemantic.jrdfox.logic._ | 44 | import tech.oxfordsemantic.jrdfox.logic._ |
45 | import org.semanticweb.owlapi.model.OWLObjectInverseOf | 45 | import org.semanticweb.owlapi.model.OWLObjectInverseOf |
46 | 46 | ||
47 | import suffix.{Empty, Forward, Backward, Inverse} | ||
48 | |||
47 | object RSAOntology {} | 49 | object 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 | } |