diff options
Diffstat (limited to 'src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java')
| -rw-r--r-- | src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java b/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java index 51cb44d..04b2c65 100644 --- a/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java +++ b/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java | |||
| @@ -43,6 +43,7 @@ class MyQueryReasoner extends QueryReasoner { | |||
| 43 | private Collection<String> predicatesWithGap = null; | 43 | private Collection<String> predicatesWithGap = null; |
| 44 | private ConsistencyStatus isConsistent; | 44 | private ConsistencyStatus isConsistent; |
| 45 | private ConsistencyManager consistency = new ConsistencyManager(this); | 45 | private ConsistencyManager consistency = new ConsistencyManager(this); |
| 46 | private int relevantOntologiesCounter = 0; | ||
| 46 | 47 | ||
| 47 | public MyQueryReasoner() { | 48 | public MyQueryReasoner() { |
| 48 | setup(true); | 49 | setup(true); |
| @@ -188,17 +189,22 @@ class MyQueryReasoner extends QueryReasoner { | |||
| 188 | return; | 189 | return; |
| 189 | 190 | ||
| 190 | OWLOntology relevantOntologySubset = extractRelevantOntologySubset(queryRecord); | 191 | OWLOntology relevantOntologySubset = extractRelevantOntologySubset(queryRecord); |
| 191 | // queryRecord.saveRelevantOntology("/home/alessandro/Desktop/test-relevant-ontology.owl"); | 192 | |
| 193 | queryRecord.saveRelevantOntology("/home/alessandro/Desktop/test-relevant-ontology-"+relevantOntologiesCounter+".owl"); | ||
| 194 | relevantOntologiesCounter++; | ||
| 195 | |||
| 196 | Utility.logInfo("Summarisation..."); | ||
| 197 | HermitSummaryFilter summarisedChecker = new HermitSummaryFilter(queryRecord, properties.getToCallHermiT()); | ||
| 198 | if(summarisedChecker.check(queryRecord.getGapAnswers()) == 0) | ||
| 199 | return; | ||
| 192 | 200 | ||
| 193 | if(properties.getUseSkolemUpperBound() && | 201 | if(properties.getUseSkolemUpperBound() && |
| 194 | querySkolemisedRelevantSubset(relevantOntologySubset, queryRecord)) { | 202 | querySkolemisedRelevantSubset(relevantOntologySubset, queryRecord)) |
| 195 | return; | 203 | return; |
| 196 | } | ||
| 197 | 204 | ||
| 205 | Utility.logInfo("Full reasoning..."); | ||
| 198 | Timer t = new Timer(); | 206 | Timer t = new Timer(); |
| 199 | HermitSummaryFilter summarisedChecker = new HermitSummaryFilter(queryRecord, properties.getToCallHermiT()); | 207 | summarisedChecker.checkByFullReasoner(queryRecord.getGapAnswers()); |
| 200 | summarisedChecker.check(queryRecord.getGapAnswers()); | ||
| 201 | // summarisedChecker.checkByFullReasoner(queryRecord.getGapAnswers()); | ||
| 202 | Utility.logDebug("Total time for full reasoner: " + t.duration()); | 208 | Utility.logDebug("Total time for full reasoner: " + t.duration()); |
| 203 | 209 | ||
| 204 | queryRecord.markAsProcessed(); | 210 | queryRecord.markAsProcessed(); |
| @@ -360,7 +366,7 @@ class MyQueryReasoner extends QueryReasoner { | |||
| 360 | } | 366 | } |
| 361 | 367 | ||
| 362 | private boolean querySkolemisedRelevantSubset(OWLOntology relevantSubset, QueryRecord queryRecord) { | 368 | private boolean querySkolemisedRelevantSubset(OWLOntology relevantSubset, QueryRecord queryRecord) { |
| 363 | Utility.logInfo("Evaluating semi-Skolemised relevant upper store..."); | 369 | Utility.logInfo("Evaluating semi-Skolemised relevant upper store"); |
| 364 | t.reset(); | 370 | t.reset(); |
| 365 | 371 | ||
| 366 | DatalogProgram relevantProgram = new DatalogProgram(relevantSubset, false); // toClassify is false | 372 | DatalogProgram relevantProgram = new DatalogProgram(relevantSubset, false); // toClassify is false |
| @@ -371,7 +377,7 @@ class MyQueryReasoner extends QueryReasoner { | |||
| 371 | relevantStore.importDataFromABoxOf(relevantSubset); | 377 | relevantStore.importDataFromABoxOf(relevantSubset); |
| 372 | String relevantOriginalMarkProgram = OWLHelper.getOriginalMarkProgram(relevantSubset); | 378 | String relevantOriginalMarkProgram = OWLHelper.getOriginalMarkProgram(relevantSubset); |
| 373 | 379 | ||
| 374 | int queryDependentMaxTermDepth = 10; // TODO make it dynamic | 380 | int queryDependentMaxTermDepth = 5; // TODO make it dynamic |
| 375 | relevantStore.materialise("Mark original individuals", relevantOriginalMarkProgram); | 381 | relevantStore.materialise("Mark original individuals", relevantOriginalMarkProgram); |
| 376 | int materialisationTag = relevantStore.materialiseSkolemly(relevantProgram, null, | 382 | int materialisationTag = relevantStore.materialiseSkolemly(relevantProgram, null, |
| 377 | queryDependentMaxTermDepth); | 383 | queryDependentMaxTermDepth); |
