aboutsummaryrefslogtreecommitdiff
path: root/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java')
-rw-r--r--src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java b/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java
index 6b1921c..8e28142 100644
--- a/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java
+++ b/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java
@@ -18,6 +18,7 @@ import uk.ac.ox.cs.pagoda.tracking.QueryTracker;
18import uk.ac.ox.cs.pagoda.tracking.TrackingRuleEncoder; 18import uk.ac.ox.cs.pagoda.tracking.TrackingRuleEncoder;
19import uk.ac.ox.cs.pagoda.tracking.TrackingRuleEncoderDisjVar1; 19import uk.ac.ox.cs.pagoda.tracking.TrackingRuleEncoderDisjVar1;
20import uk.ac.ox.cs.pagoda.tracking.TrackingRuleEncoderWithGap; 20import uk.ac.ox.cs.pagoda.tracking.TrackingRuleEncoderWithGap;
21import uk.ac.ox.cs.pagoda.util.PagodaProperties;
21import uk.ac.ox.cs.pagoda.util.Timer; 22import uk.ac.ox.cs.pagoda.util.Timer;
22import uk.ac.ox.cs.pagoda.util.Utility; 23import uk.ac.ox.cs.pagoda.util.Utility;
23import uk.ac.ox.cs.pagoda.util.disposable.DisposedException; 24import uk.ac.ox.cs.pagoda.util.disposable.DisposedException;
@@ -193,6 +194,11 @@ class MyQueryReasoner extends QueryReasoner {
193// queryRecord.saveRelevantOntology("/home/alessandro/Desktop/test-relevant-ontology-"+relevantOntologiesCounter+".owl"); 194// queryRecord.saveRelevantOntology("/home/alessandro/Desktop/test-relevant-ontology-"+relevantOntologiesCounter+".owl");
194// relevantOntologiesCounter++; 195// relevantOntologiesCounter++;
195 196
197 if(properties.getSkolemUpperBound() == PagodaProperties.SkolemUpperBoundOptions.BEFORE_SUMMARISATION
198 && querySkolemisedRelevantSubset(relevantOntologySubset, queryRecord)) {
199 return;
200 }
201
196 Utility.logInfo(">> Summarisation <<"); 202 Utility.logInfo(">> Summarisation <<");
197 HermitSummaryFilter summarisedChecker = new HermitSummaryFilter(queryRecord, properties.getToCallHermiT()); 203 HermitSummaryFilter summarisedChecker = new HermitSummaryFilter(queryRecord, properties.getToCallHermiT());
198 if(summarisedChecker.check(queryRecord.getGapAnswers()) == 0) { 204 if(summarisedChecker.check(queryRecord.getGapAnswers()) == 0) {
@@ -200,8 +206,8 @@ class MyQueryReasoner extends QueryReasoner {
200 return; 206 return;
201 } 207 }
202 208
203 if(properties.getUseSkolemUpperBound() && 209 if(properties.getSkolemUpperBound() == PagodaProperties.SkolemUpperBoundOptions.AFTER_SUMMARISATION
204 querySkolemisedRelevantSubset(relevantOntologySubset, queryRecord)) { 210 && querySkolemisedRelevantSubset(relevantOntologySubset, queryRecord)) {
205 summarisedChecker.dispose(); 211 summarisedChecker.dispose();
206 return; 212 return;
207 } 213 }
@@ -390,7 +396,7 @@ class MyQueryReasoner extends QueryReasoner {
390 relevantStore.importDataFromABoxOf(relevantSubset); 396 relevantStore.importDataFromABoxOf(relevantSubset);
391 String relevantOriginalMarkProgram = OWLHelper.getOriginalMarkProgram(relevantSubset); 397 String relevantOriginalMarkProgram = OWLHelper.getOriginalMarkProgram(relevantSubset);
392 398
393 int queryDependentMaxTermDepth = 3; // TODO make it dynamic 399 int queryDependentMaxTermDepth = properties.getSkolemDepth();
394 relevantStore.materialise("Mark original individuals", relevantOriginalMarkProgram); 400 relevantStore.materialise("Mark original individuals", relevantOriginalMarkProgram);
395 int materialisationTag = relevantStore.materialiseSkolemly(relevantProgram, null, 401 int materialisationTag = relevantStore.materialiseSkolemly(relevantProgram, null,
396 queryDependentMaxTermDepth); 402 queryDependentMaxTermDepth);