aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/rsacomb/CanonicalModel.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/rsacomb/CanonicalModel.scala')
-rw-r--r--src/main/scala/rsacomb/CanonicalModel.scala28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/main/scala/rsacomb/CanonicalModel.scala b/src/main/scala/rsacomb/CanonicalModel.scala
index 49c0c24..162bea1 100644
--- a/src/main/scala/rsacomb/CanonicalModel.scala
+++ b/src/main/scala/rsacomb/CanonicalModel.scala
@@ -25,19 +25,27 @@ object ProgramGenerator {
25 Seq( 25 Seq(
26 Rule.create( 26 Rule.create(
27 Atom.rdf(varX, IRI.create(pred), varY), 27 Atom.rdf(varX, IRI.create(pred), varY),
28 Atom.rdf(varX, IRI.create(pred ++ "_f"), varY) 28 Atom.rdf(varX, IRI.create(pred ++ RSASuffix.Forward.getSuffix), varY)
29 ), 29 ),
30 Rule.create( 30 Rule.create(
31 Atom.rdf(varX, IRI.create(pred), varY), 31 Atom.rdf(varX, IRI.create(pred), varY),
32 Atom.rdf(varX, IRI.create(pred ++ "_b"), varY) 32 Atom.rdf(varX, IRI.create(pred ++ RSASuffix.Backward.getSuffix), varY)
33 ), 33 ),
34 Rule.create( 34 Rule.create(
35 Atom.rdf(varY, IRI.create(pred ++ "_b" ++ "_inv"), varX), 35 Atom.rdf(
36 Atom.rdf(varX, IRI.create(pred ++ "_f"), varY) 36 varY,
37 IRI.create(pred ++ RSASuffix.Backward.getSuffix ++ "_inv"),
38 varX
39 ),
40 Atom.rdf(varX, IRI.create(pred ++ RSASuffix.Forward.getSuffix), varY)
37 ), 41 ),
38 Rule.create( 42 Rule.create(
39 Atom.rdf(varY, IRI.create(pred ++ "_f" ++ "_inv"), varX), 43 Atom.rdf(
40 Atom.rdf(varX, IRI.create(pred ++ "_b"), varY) 44 varY,
45 IRI.create(pred ++ RSASuffix.Forward.getSuffix ++ "_inv"),
46 varX
47 ),
48 Atom.rdf(varX, IRI.create(pred ++ RSASuffix.Backward.getSuffix), varY)
41 ) 49 )
42 ) 50 )
43 } 51 }
@@ -51,7 +59,7 @@ object ProgramGenerator {
51class ProgramGenerator( 59class ProgramGenerator(
52 term: Term, 60 term: Term,
53 unsafe: List[OWLObjectPropertyExpression] 61 unsafe: List[OWLObjectPropertyExpression]
54) extends RDFoxAxiomConverter(term, SkolemStrategy.None, unsafe) 62) extends RDFoxAxiomConverter(term, unsafe, SkolemStrategy.None, RSASuffix.None)
55 with RSAAxiom { 63 with RSAAxiom {
56 64
57 override def visit(axiom: OWLSubClassOfAxiom): List[Rule] = { 65 override def visit(axiom: OWLSubClassOfAxiom): List[Rule] = {
@@ -63,18 +71,18 @@ class ProgramGenerator(
63 val visitor = 71 val visitor =
64 new RDFoxAxiomConverter( 72 new RDFoxAxiomConverter(
65 term, 73 term,
74 unsafe,
66 SkolemStrategy.Standard(axiom.toString), 75 SkolemStrategy.Standard(axiom.toString),
67 unsafe 76 RSASuffix.Forward
68 ) 77 )
69 axiom.accept(visitor) 78 axiom.accept(visitor)
70 } else { 79 } else {
71 // TODO; Handle forks 80 List()
72 } 81 }
73 } else { 82 } else {
74 // Fallback to standard OWL to LP translation 83 // Fallback to standard OWL to LP translation
75 super.visit(axiom) 84 super.visit(axiom)
76 } 85 }
77 List()
78 } 86 }
79 87
80 override def visit(axiom: OWLSubObjectPropertyOfAxiom): List[Rule] = { 88 override def visit(axiom: OWLSubObjectPropertyOfAxiom): List[Rule] = {