aboutsummaryrefslogtreecommitdiff
path: root/src/uk/ac/ox/cs/pagoda/summary
diff options
context:
space:
mode:
authorRncLsn <rnc.lsn@gmail.com>2015-06-26 17:41:35 +0100
committerRncLsn <rnc.lsn@gmail.com>2015-06-26 17:41:35 +0100
commit1013812b487bc438df49ec93ad9433438d5d6cf6 (patch)
treed656446445ce3f25f2d2e4cfd65014ba5fd6b267 /src/uk/ac/ox/cs/pagoda/summary
parent271b05caedafb3b7433d2163d59b2ab5f8106dfe (diff)
downloadACQuA-1013812b487bc438df49ec93ad9433438d5d6cf6.tar.gz
ACQuA-1013812b487bc438df49ec93ad9433438d5d6cf6.zip
Summarisation before Skolemisation. Added Reactome testcase.
Diffstat (limited to 'src/uk/ac/ox/cs/pagoda/summary')
-rw-r--r--src/uk/ac/ox/cs/pagoda/summary/HermitSummaryFilter.java33
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