diff options
Diffstat (limited to 'src/uk/ac/ox/cs/pagoda/summary')
| -rw-r--r-- | src/uk/ac/ox/cs/pagoda/summary/HermitSummaryFilter.java | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/src/uk/ac/ox/cs/pagoda/summary/HermitSummaryFilter.java b/src/uk/ac/ox/cs/pagoda/summary/HermitSummaryFilter.java index 95f2cbb..2d2198f 100644 --- a/src/uk/ac/ox/cs/pagoda/summary/HermitSummaryFilter.java +++ b/src/uk/ac/ox/cs/pagoda/summary/HermitSummaryFilter.java | |||
| @@ -27,7 +27,9 @@ public class HermitSummaryFilter extends Checker { | |||
| 27 | HermitChecker summarisedHermiT = null; | 27 | HermitChecker summarisedHermiT = null; |
| 28 | boolean summarisedConsistency; | 28 | boolean summarisedConsistency; |
| 29 | Endomorph endomorphismChecker = null; | 29 | Endomorph endomorphismChecker = null; |
| 30 | 30 | private HashSet<AnswerTuple> passed; | |
| 31 | private int counter; | ||
| 32 | |||
| 31 | public HermitSummaryFilter(QueryRecord record, boolean toCallHermiT) { | 33 | public HermitSummaryFilter(QueryRecord record, boolean toCallHermiT) { |
| 32 | m_record = record; | 34 | m_record = record; |
| 33 | HermitChecker hermitChecker = new HermitChecker(record.getRelevantOntology(), record, toCallHermiT); | 35 | HermitChecker hermitChecker = new HermitChecker(record.getRelevantOntology(), record, toCallHermiT); |
| @@ -115,6 +117,20 @@ public class HermitSummaryFilter extends Checker { | |||
| 115 | return summarisedHermiT.getNoOfCalls() + endomorphismChecker.getNoOfCalls(); | 117 | return summarisedHermiT.getNoOfCalls() + endomorphismChecker.getNoOfCalls(); |
| 116 | } | 118 | } |
| 117 | 119 | ||
| 120 | public int checkByFullReasoner(AnswerTuples answers) { | ||
| 121 | if(isDisposed()) throw new DisposedException(); | ||
| 122 | if(m_record.isProcessed()) | ||
| 123 | return 0; | ||
| 124 | |||
| 125 | Utility.logDebug("The number of answers to be checked with HermiT: " + passed.size() + "/" + counter); | ||
| 126 | m_record.setDifficulty(Step.FULL_REASONING); | ||
| 127 | |||
| 128 | if(summarisedConsistency) | ||
| 129 | return endomorphismChecker.check(new AnswerTuplesImp(m_record.getAnswerVariables(), passed)); | ||
| 130 | else | ||
| 131 | return endomorphismChecker.check(answers); | ||
| 132 | } | ||
| 133 | |||
| 118 | @Override | 134 | @Override |
| 119 | public int check(AnswerTuples answers) { | 135 | public int check(AnswerTuples answers) { |
| 120 | if(isDisposed()) throw new DisposedException(); | 136 | if(isDisposed()) throw new DisposedException(); |
| @@ -125,10 +141,11 @@ public class HermitSummaryFilter extends Checker { | |||
| 125 | initialiseSummarisedReasoner(); | 141 | initialiseSummarisedReasoner(); |
| 126 | 142 | ||
| 127 | if(summarisedConsistency) { | 143 | if(summarisedConsistency) { |
| 128 | Set<AnswerTuple> passed = new HashSet<AnswerTuple>(), succ = new HashSet<AnswerTuple>(); | 144 | passed = new HashSet<AnswerTuple>(); |
| 145 | Set<AnswerTuple> succ = new HashSet<AnswerTuple>(); | ||
| 129 | Set<AnswerTuple> falsified = new HashSet<AnswerTuple>(), fail = new HashSet<AnswerTuple>(); | 146 | Set<AnswerTuple> falsified = new HashSet<AnswerTuple>(), fail = new HashSet<AnswerTuple>(); |
| 130 | 147 | ||
| 131 | int counter = 0; | 148 | counter = 0; |
| 132 | AnswerTuple representative; | 149 | AnswerTuple representative; |
| 133 | for(AnswerTuple answer; answers.isValid(); answers.moveNext()) { | 150 | for(AnswerTuple answer; answers.isValid(); answers.moveNext()) { |
| 134 | ++counter; | 151 | ++counter; |
| @@ -158,20 +175,14 @@ public class HermitSummaryFilter extends Checker { | |||
| 158 | m_record.addProcessingTime(Step.SUMMARISATION, t.duration()); | 175 | m_record.addProcessingTime(Step.SUMMARISATION, t.duration()); |
| 159 | return 0; | 176 | return 0; |
| 160 | } | 177 | } |
| 161 | |||
| 162 | Utility.logDebug("The number of answers to be checked with HermiT: " + passed.size() + "/" + counter); | ||
| 163 | |||
| 164 | m_record.setDifficulty(Step.FULL_REASONING); | ||
| 165 | m_record.addProcessingTime(Step.SUMMARISATION, t.duration()); | 178 | m_record.addProcessingTime(Step.SUMMARISATION, t.duration()); |
| 166 | |||
| 167 | return endomorphismChecker.check(new AnswerTuplesImp(m_record.getAnswerVariables(), passed)); | ||
| 168 | } | 179 | } |
| 169 | else { | 180 | else { |
| 170 | m_record.addProcessingTime(Step.SUMMARISATION, t.duration()); | 181 | m_record.addProcessingTime(Step.SUMMARISATION, t.duration()); |
| 171 | // m_record.saveRelevantOntology("fragment.owl"); | 182 | // m_record.saveRelevantOntology("fragment.owl"); |
| 172 | m_record.setDifficulty(Step.FULL_REASONING); | ||
| 173 | return endomorphismChecker.check(answers); | ||
| 174 | } | 183 | } |
| 184 | |||
| 185 | return 1; | ||
| 175 | } | 186 | } |
| 176 | 187 | ||
| 177 | @Override | 188 | @Override |
