From ae9a6bad58019ef18657568e58f49459fbadc49c Mon Sep 17 00:00:00 2001 From: RncLsn Date: Fri, 14 Aug 2015 19:21:26 +0100 Subject: Incremental Skolemised store (not working). --- .../ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java | 39 +++++++++++++--------- 1 file changed, 23 insertions(+), 16 deletions(-) (limited to 'src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java') diff --git a/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java b/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java index 71d5752..a393474 100644 --- a/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java +++ b/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java @@ -396,24 +396,31 @@ class MyQueryReasoner extends QueryReasoner { relevantStore.importDataFromABoxOf(relevantSubset); String relevantOriginalMarkProgram = OWLHelper.getOriginalMarkProgram(relevantSubset); - int queryDependentMaxTermDepth = properties.getSkolemDepth(); relevantStore.materialise("Mark original individuals", relevantOriginalMarkProgram); - int materialisationTag = relevantStore.materialiseSkolemly(relevantProgram, null, - queryDependentMaxTermDepth); - queryRecord.addProcessingTime(Step.SKOLEM_UPPER_BOUND, t.duration()); - if(materialisationTag == -1) { - throw new Error("A consistent ontology has turned out to be " + - "inconsistent in the Skolemises-relevant-upper-store"); - } - else if(materialisationTag != 1) { - Utility.logInfo("Semi-Skolemised relevant upper store cannot be employed"); - return false; - } - Utility.logInfo("Querying semi-Skolemised upper store..."); - boolean isFullyProcessed = queryUpperStore(relevantStore, queryRecord, - queryRecord.getExtendedQueryText(), - Step.SKOLEM_UPPER_BOUND); + boolean isFullyProcessed = false; + for (int currentMaxTermDepth = 1; + currentMaxTermDepth <= properties.getSkolemDepth() && !isFullyProcessed; currentMaxTermDepth++) { + + Utility.logInfo("Trying with maximum depth " + currentMaxTermDepth); + + int materialisationTag = relevantStore.materialiseSkolemly(relevantProgram, null, + currentMaxTermDepth); + queryRecord.addProcessingTime(Step.SKOLEM_UPPER_BOUND, t.duration()); + if(materialisationTag == -1) { + throw new Error("A consistent ontology has turned out to be " + + "inconsistent in the Skolemises-relevant-upper-store"); + } + else if(materialisationTag != 1) { + Utility.logInfo("Semi-Skolemised relevant upper store cannot be employed"); + return false; + } + + Utility.logInfo("Querying semi-Skolemised upper store..."); + isFullyProcessed = queryUpperStore(relevantStore, queryRecord, + queryRecord.getExtendedQueryText(), + Step.SKOLEM_UPPER_BOUND); + } relevantStore.dispose(); Utility.logInfo("Semi-Skolemised relevant upper store has been evaluated"); -- cgit v1.2.3