aboutsummaryrefslogtreecommitdiff
path: root/src/uk/ac/ox/cs/pagoda/summary
diff options
context:
space:
mode:
Diffstat (limited to 'src/uk/ac/ox/cs/pagoda/summary')
-rw-r--r--src/uk/ac/ox/cs/pagoda/summary/HermitSummaryFilter.java19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/uk/ac/ox/cs/pagoda/summary/HermitSummaryFilter.java b/src/uk/ac/ox/cs/pagoda/summary/HermitSummaryFilter.java
index 2d2198f..6fcf887 100644
--- a/src/uk/ac/ox/cs/pagoda/summary/HermitSummaryFilter.java
+++ b/src/uk/ac/ox/cs/pagoda/summary/HermitSummaryFilter.java
@@ -6,12 +6,12 @@ import uk.ac.ox.cs.pagoda.endomorph.Endomorph;
6import uk.ac.ox.cs.pagoda.owl.OWLHelper; 6import uk.ac.ox.cs.pagoda.owl.OWLHelper;
7import uk.ac.ox.cs.pagoda.query.AnswerTuple; 7import uk.ac.ox.cs.pagoda.query.AnswerTuple;
8import uk.ac.ox.cs.pagoda.query.AnswerTuples; 8import uk.ac.ox.cs.pagoda.query.AnswerTuples;
9import uk.ac.ox.cs.pagoda.query.AnswerTuplesImp;
10import uk.ac.ox.cs.pagoda.query.QueryRecord; 9import uk.ac.ox.cs.pagoda.query.QueryRecord;
11import uk.ac.ox.cs.pagoda.query.QueryRecord.Step; 10import uk.ac.ox.cs.pagoda.query.QueryRecord.Step;
12import uk.ac.ox.cs.pagoda.reasoner.full.Checker; 11import uk.ac.ox.cs.pagoda.reasoner.full.Checker;
13import uk.ac.ox.cs.pagoda.reasoner.full.HermitChecker; 12import uk.ac.ox.cs.pagoda.reasoner.full.HermitChecker;
14import uk.ac.ox.cs.pagoda.tracking.TrackingRuleEncoder; 13import uk.ac.ox.cs.pagoda.tracking.TrackingRuleEncoder;
14import uk.ac.ox.cs.pagoda.util.SimpleProgressBar;
15import uk.ac.ox.cs.pagoda.util.Timer; 15import uk.ac.ox.cs.pagoda.util.Timer;
16import uk.ac.ox.cs.pagoda.util.Utility; 16import uk.ac.ox.cs.pagoda.util.Utility;
17import uk.ac.ox.cs.pagoda.util.disposable.DisposedException; 17import uk.ac.ox.cs.pagoda.util.disposable.DisposedException;
@@ -122,12 +122,12 @@ public class HermitSummaryFilter extends Checker {
122 if(m_record.isProcessed()) 122 if(m_record.isProcessed())
123 return 0; 123 return 0;
124 124
125 Utility.logDebug("The number of answers to be checked with HermiT: " + passed.size() + "/" + counter); 125// Utility.logDebug("The number of answers to be checked with HermiT: " + passed.size() + "/" + counter);
126 m_record.setDifficulty(Step.FULL_REASONING); 126 m_record.setDifficulty(Step.FULL_REASONING);
127 127
128 if(summarisedConsistency) 128// if(summarisedConsistency)
129 return endomorphismChecker.check(new AnswerTuplesImp(m_record.getAnswerVariables(), passed)); 129// return endomorphismChecker.check(new AnswerTuplesImp(m_record.getAnswerVariables(), passed));
130 else 130// else
131 return endomorphismChecker.check(answers); 131 return endomorphismChecker.check(answers);
132 } 132 }
133 133
@@ -145,9 +145,17 @@ public class HermitSummaryFilter extends Checker {
145 Set<AnswerTuple> succ = new HashSet<AnswerTuple>(); 145 Set<AnswerTuple> succ = new HashSet<AnswerTuple>();
146 Set<AnswerTuple> falsified = new HashSet<AnswerTuple>(), fail = new HashSet<AnswerTuple>(); 146 Set<AnswerTuple> falsified = new HashSet<AnswerTuple>(), fail = new HashSet<AnswerTuple>();
147 147
148 int numOfAnswers = 0;
149 for(; answers.isValid(); answers.moveNext()) {
150 numOfAnswers++;
151 }
152 answers.reset();
153
148 counter = 0; 154 counter = 0;
149 AnswerTuple representative; 155 AnswerTuple representative;
156 SimpleProgressBar progressBar = new SimpleProgressBar("Summarised checking", numOfAnswers);
150 for(AnswerTuple answer; answers.isValid(); answers.moveNext()) { 157 for(AnswerTuple answer; answers.isValid(); answers.moveNext()) {
158 progressBar.update(counter);
151 ++counter; 159 ++counter;
152 answer = answers.getTuple(); 160 answer = answers.getTuple();
153 representative = summary.getSummary(answer); 161 representative = summary.getSummary(answer);
@@ -164,6 +172,7 @@ public class HermitSummaryFilter extends Checker {
164 falsified.add(answer); 172 falsified.add(answer);
165 } 173 }
166 } 174 }
175 progressBar.dispose();
167 answers.dispose(); 176 answers.dispose();
168 177
169 Utility.logDebug("@TIME to filter out non-answers by summarisation: " + t.duration()); 178 Utility.logDebug("@TIME to filter out non-answers by summarisation: " + t.duration());