diff options
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.scala | 12 |
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 | ||
40 | import uk.ac.ox.cs.rsacomb.converter._ | 40 | import uk.ac.ox.cs.rsacomb.converter._ |
41 | import uk.ac.ox.cs.rsacomb.suffix._ | 41 | import uk.ac.ox.cs.rsacomb.suffix._ |
42 | import uk.ac.ox.cs.rsacomb.util.RSA | 42 | import 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 | } |