From 39b60d4225f5efa4e0287a2c6ce69d90391c69db Mon Sep 17 00:00:00 2001 From: RncLsn Date: Fri, 3 Jul 2015 19:09:31 +0100 Subject: Many little changes. --- .../ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java | 19 +++++++++------ .../ox/cs/pagoda/reasoner/full/HermitChecker.java | 27 +++++++++++----------- 2 files changed, 25 insertions(+), 21 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 e5074d5..b419289 100644 --- a/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java +++ b/src/uk/ac/ox/cs/pagoda/reasoner/MyQueryReasoner.java @@ -68,9 +68,9 @@ class MyQueryReasoner extends QueryReasoner { ontology = o; program = new DatalogProgram(ontology, properties.getToClassify()); - program.getLower().save(); - program.getUpper().save(); - program.getGeneral().save(); +// program.getLower().save(); +// program.getUpper().save(); +// program.getGeneral().save(); if(!program.getGeneral().isHorn()) lazyUpperStore = new MultiStageQueryEngine("lazy-upper-bound", true); @@ -195,19 +195,24 @@ class MyQueryReasoner extends QueryReasoner { Utility.logInfo("Summarisation..."); HermitSummaryFilter summarisedChecker = new HermitSummaryFilter(queryRecord, properties.getToCallHermiT()); - if(summarisedChecker.check(queryRecord.getGapAnswers()) == 0) + if(summarisedChecker.check(queryRecord.getGapAnswers()) == 0) { + summarisedChecker.dispose(); return; + } if(properties.getUseSkolemUpperBound() && - querySkolemisedRelevantSubset(relevantOntologySubset, queryRecord)) + querySkolemisedRelevantSubset(relevantOntologySubset, queryRecord)) { + summarisedChecker.dispose(); return; + } Utility.logInfo("Full reasoning..."); Timer t = new Timer(); summarisedChecker.checkByFullReasoner(queryRecord.getGapAnswers()); Utility.logDebug("Total time for full reasoner: " + t.duration()); - queryRecord.markAsProcessed(); + if(properties.getToCallHermiT()) + queryRecord.markAsProcessed(); summarisedChecker.dispose(); } @@ -377,7 +382,7 @@ class MyQueryReasoner extends QueryReasoner { relevantStore.importDataFromABoxOf(relevantSubset); String relevantOriginalMarkProgram = OWLHelper.getOriginalMarkProgram(relevantSubset); - int queryDependentMaxTermDepth = 5; // TODO make it dynamic + int queryDependentMaxTermDepth = 1; // TODO make it dynamic relevantStore.materialise("Mark original individuals", relevantOriginalMarkProgram); int materialisationTag = relevantStore.materialiseSkolemly(relevantProgram, null, queryDependentMaxTermDepth); diff --git a/src/uk/ac/ox/cs/pagoda/reasoner/full/HermitChecker.java b/src/uk/ac/ox/cs/pagoda/reasoner/full/HermitChecker.java index cfae88b..9574845 100644 --- a/src/uk/ac/ox/cs/pagoda/reasoner/full/HermitChecker.java +++ b/src/uk/ac/ox/cs/pagoda/reasoner/full/HermitChecker.java @@ -99,7 +99,6 @@ public class HermitChecker extends Checker { if(!toCheck) return false; ++noOfCalls; - if(tag != 0) return tag == 1; if(hermit == null) initialiseReasoner(); @@ -107,19 +106,19 @@ public class HermitChecker extends Checker { Map sub = answerTuple.getAssignment(answerVariable[1]); Set toCheckAxioms = qGraph.getAssertions(sub); - // TODO complete - Set toCheckExistentialAxioms = qGraph.getExistentialAxioms(); - - // TODO possibly inefficient - for(OWLAxiom subclassAxiom : toCheckExistentialAxioms) { - Utility.logDebug("Checking consistency of ontology union " + subclassAxiom); - ontology.getOWLOntologyManager().addAxiom(ontology, subclassAxiom); - if(hermit.isConsistent()) { - Utility.logDebug("@TIME to check one tuple: " + t.duration()); - return false; - } - ontology.getOWLOntologyManager().removeAxiom(ontology, subclassAxiom); - } +// // TODO complete +// Set toCheckExistentialAxioms = qGraph.getExistentialAxioms(sub); +// +// // TODO possibly inefficient +// for(OWLAxiom subclassAxiom : toCheckExistentialAxioms) { +// Utility.logInfo("Checking consistency of ontology union " + subclassAxiom); +// ontology.getOWLOntologyManager().addAxiom(ontology, subclassAxiom); +// if(hermit.isConsistent()) { +// Utility.logDebug("@TIME to check one tuple: " + t.duration()); +// return false; +// } +// ontology.getOWLOntologyManager().removeAxiom(ontology, subclassAxiom); +// } // for (OWLAxiom axiom: toCheckAxioms) System.out.println(axiom.toString()); -- cgit v1.2.3