From 6e8ee40e41d84e0466153802a2c9b4ae88af3544 Mon Sep 17 00:00:00 2001 From: RncLsn Date: Tue, 9 Jun 2015 18:23:15 +0100 Subject: Fixed marking original individuals in the relevant upper store. --- src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java | 7 ++++--- src/uk/ac/ox/cs/pagoda/reasoner/QueryReasoner.java | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src/uk/ac/ox/cs/pagoda/reasoner') diff --git a/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java b/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java index e6e508a..e689de6 100644 --- a/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java +++ b/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java @@ -19,7 +19,6 @@ import uk.ac.ox.cs.pagoda.tracking.QueryTracker; import uk.ac.ox.cs.pagoda.tracking.TrackingRuleEncoder; import uk.ac.ox.cs.pagoda.tracking.TrackingRuleEncoderDisjVar1; import uk.ac.ox.cs.pagoda.tracking.TrackingRuleEncoderWithGap; -import uk.ac.ox.cs.pagoda.util.PagodaProperties; import uk.ac.ox.cs.pagoda.util.Timer; import uk.ac.ox.cs.pagoda.util.Utility; import uk.ac.ox.cs.pagoda.util.disposable.DisposedException; @@ -192,7 +191,7 @@ class MyQueryReasoner extends QueryReasoner { OWLOntology relevantOntologySubset = extractRelevantOntologySubset(queryRecord); // queryRecord.saveRelevantOntology("./fragment_query" + queryRecord.getQueryID() + ".owl"); - if(PagodaProperties.getDefaultUseSkolemUpperBound() && + if(properties.getUseSkolemUpperBound() && querySkolemisedRelevantSubset(relevantOntologySubset, queryRecord)) return; @@ -297,7 +296,7 @@ class MyQueryReasoner extends QueryReasoner { Tuple extendedQueryTexts = queryRecord.getExtendedQueryText(); - if(PagodaProperties.getDefaultUseAlwaysSimpleUpperBound() || lazyUpperStore == null) { + if(properties.getUseAlwaysSimpleUpperBound() || lazyUpperStore == null) { Utility.logDebug("Tracking store"); if(queryUpperStore(trackingStore, queryRecord, extendedQueryTexts, Step.SIMPLE_UPPER_BOUND)) return true; @@ -369,8 +368,10 @@ class MyQueryReasoner extends QueryReasoner { new MultiStageQueryEngine("Relevant-store", true); // checkValidity is true relevantStore.importDataFromABoxOf(relevantSubset); + String relevantOriginalMarkProgram = OWLHelper.getOriginalMarkProgram(relevantSubset); int queryDependentMaxTermDepth = 5; // TODO make it dynamic + relevantStore.materialise("Mark original individuals", relevantOriginalMarkProgram); int materialisationTag = relevantStore.materialiseSkolemly(relevantProgram, null, queryDependentMaxTermDepth); queryRecord.addProcessingTime(Step.SKOLEM_UPPER_BOUND, t.duration()); diff --git a/src/uk/ac/ox/cs/pagoda/reasoner/QueryReasoner.java b/src/uk/ac/ox/cs/pagoda/reasoner/QueryReasoner.java index eab6a1b..3a057ec 100644 --- a/src/uk/ac/ox/cs/pagoda/reasoner/QueryReasoner.java +++ b/src/uk/ac/ox/cs/pagoda/reasoner/QueryReasoner.java @@ -193,6 +193,7 @@ public abstract class QueryReasoner extends Disposable { if(!record.isProcessed()) evaluate(record); Utility.logInfo("Total time to answer this query: " + t.duration()); + Utility.logInfo("Difficulty of this query: " + record.getDifficulty()); if(!fullReasoner && !record.isProcessed()) { Utility.logInfo("The query has not been fully answered in " + t.duration() + " seconds."); continue; -- cgit v1.2.3