aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/uk/ac/ox/cs/rsacomb/CanonicalModel.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/uk/ac/ox/cs/rsacomb/CanonicalModel.scala')
-rw-r--r--src/main/scala/uk/ac/ox/cs/rsacomb/CanonicalModel.scala12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/CanonicalModel.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/CanonicalModel.scala
index ca54054..3467d3c 100644
--- a/src/main/scala/uk/ac/ox/cs/rsacomb/CanonicalModel.scala
+++ b/src/main/scala/uk/ac/ox/cs/rsacomb/CanonicalModel.scala
@@ -39,7 +39,7 @@ import implicits.JavaCollections._
39 39
40import uk.ac.ox.cs.rsacomb.converter._ 40import uk.ac.ox.cs.rsacomb.converter._
41import uk.ac.ox.cs.rsacomb.suffix._ 41import uk.ac.ox.cs.rsacomb.suffix._
42import uk.ac.ox.cs.rsacomb.util.RSA 42import uk.ac.ox.cs.rsacomb.util.{DataFactory, RSA}
43 43
44/** Canonical model generator 44/** Canonical model generator
45 * 45 *
@@ -92,7 +92,7 @@ class CanonicalModel(val ontology: RSAOntology) {
92 val (facts, rules): (List[TupleTableAtom], List[Rule]) = { 92 val (facts, rules): (List[TupleTableAtom], List[Rule]) = {
93 // Compute rules from ontology axioms 93 // Compute rules from ontology axioms
94 val (facts, rules) = { 94 val (facts, rules) = {
95 val term = RSAUtil.genFreshVariable() 95 val term = Variable.create("X")
96 val unsafe = ontology.unsafe 96 val unsafe = ontology.unsafe
97 ontology.axioms 97 ontology.axioms
98 .map(a => 98 .map(a =>
@@ -216,13 +216,13 @@ class CanonicalModel(val ontology: RSAOntology) {
216 unsafe: List[OWLObjectPropertyExpression], 216 unsafe: List[OWLObjectPropertyExpression],
217 skolem: SkolemStrategy, 217 skolem: SkolemStrategy,
218 suffix: RSASuffix 218 suffix: RSASuffix
219 ): Result = 219 )(implicit fresh: DataFactory): Result =
220 axiom match { 220 axiom match {
221 221
222 case a: OWLSubClassOfAxiom if a.isT5 => { 222 case a: OWLSubClassOfAxiom if a.isT5 => {
223 val role = axiom.objectPropertyExpressionsInSignature(0) 223 val role = axiom.objectPropertyExpressionsInSignature(0)
224 if (unsafe contains role) 224 if (unsafe contains role)
225 super.convert(a, term, unsafe, new Standard(a), Forward) 225 super.convert(a, term, unsafe, new Standard(a), Forward)(fresh)
226 else { 226 else {
227 val (f1, r1) = rules1(a) 227 val (f1, r1) = rules1(a)
228 (f1, r1 ::: rules2(a) ::: rules3(a)) 228 (f1, r1 ::: rules2(a) ::: rules3(a))
@@ -231,12 +231,12 @@ class CanonicalModel(val ontology: RSAOntology) {
231 231
232 case a: OWLSubObjectPropertyOfAxiom => { 232 case a: OWLSubObjectPropertyOfAxiom => {
233 val (facts, rules) = List(Empty, Forward, Backward) 233 val (facts, rules) = List(Empty, Forward, Backward)
234 .map(super.convert(a, term, unsafe, NoSkolem, _)) 234 .map(super.convert(a, term, unsafe, NoSkolem, _)(fresh))
235 .unzip 235 .unzip
236 (facts.flatten, rules.flatten) 236 (facts.flatten, rules.flatten)
237 } 237 }
238 238
239 case a => super.convert(a, term, unsafe, skolem, suffix) 239 case a => super.convert(a, term, unsafe, skolem, suffix)(fresh)
240 240
241 } 241 }
242 } 242 }