aboutsummaryrefslogtreecommitdiff
path: root/src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderWithGap.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderWithGap.java')
-rw-r--r--src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderWithGap.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderWithGap.java b/src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderWithGap.java
index e7bd188..67d07a8 100644
--- a/src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderWithGap.java
+++ b/src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderWithGap.java
@@ -3,10 +3,12 @@ package uk.ac.ox.cs.pagoda.tracking;
3import java.util.Collection; 3import java.util.Collection;
4import java.util.LinkedList; 4import java.util.LinkedList;
5 5
6import org.semanticweb.HermiT.model.AnnotatedEquality;
6import org.semanticweb.HermiT.model.Atom; 7import org.semanticweb.HermiT.model.Atom;
7import org.semanticweb.HermiT.model.AtomicConcept; 8import org.semanticweb.HermiT.model.AtomicConcept;
8import org.semanticweb.HermiT.model.AtomicRole; 9import org.semanticweb.HermiT.model.AtomicRole;
9import org.semanticweb.HermiT.model.DLClause; 10import org.semanticweb.HermiT.model.DLClause;
11import org.semanticweb.HermiT.model.Equality;
10import org.semanticweb.HermiT.model.Variable; 12import org.semanticweb.HermiT.model.Variable;
11import org.semanticweb.owlapi.model.OWLClass; 13import org.semanticweb.owlapi.model.OWLClass;
12import org.semanticweb.owlapi.model.OWLObjectProperty; 14import org.semanticweb.owlapi.model.OWLObjectProperty;
@@ -83,11 +85,12 @@ public class TrackingRuleEncoderWithGap extends TrackingRuleEncoder {
83 } 85 }
84 86
85 DLClause newClause; 87 DLClause newClause;
88 headAtom = clause.getHeadAtom(0);
86 89
87 int offset = (clause.getBodyLength() == 1 && clause.getBodyAtom(0).getDLPredicate().toString().contains("owl:Nothing")) ? 1 : 2; 90 boolean equalityHead = headAtom.getDLPredicate() instanceof Equality || headAtom.getDLPredicate() instanceof AnnotatedEquality;
91 int offset = (equalityHead || (clause.getBodyLength() == 1 && clause.getBodyAtom(0).getDLPredicate().toString().contains("owl:Nothing"))) ? 1 : 2;
88 92
89 Atom[] newBodyAtoms = new Atom[clause.getBodyLength() + offset]; 93 Atom[] newBodyAtoms = new Atom[clause.getBodyLength() + offset];
90 headAtom = clause.getHeadAtom(0);
91 newBodyAtoms[0] = Atom.create( 94 newBodyAtoms[0] = Atom.create(
92 getTrackingDLPredicate(headAtom.getDLPredicate()), 95 getTrackingDLPredicate(headAtom.getDLPredicate()),
93 DLClauseHelper.getArguments(headAtom)); 96 DLClauseHelper.getArguments(headAtom));