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 | } |
