diff options
| author | yzhou <yujiao.zhou@gmail.com> | 2015-04-21 10:34:27 +0100 |
|---|---|---|
| committer | yzhou <yujiao.zhou@gmail.com> | 2015-04-21 10:34:27 +0100 |
| commit | 9ce65c5a963b03ee97fe9cb6c5aa65a3c04a80a8 (patch) | |
| tree | 47511c0fb89dccff0db4b5990522e04f294d795b /src/uk/ac/ox/cs/pagoda/rules/OverApproxBoth.java | |
| parent | b1ac207612ee8b045244253fb94b866104bc34f2 (diff) | |
| download | ACQuA-9ce65c5a963b03ee97fe9cb6c5aa65a3c04a80a8.tar.gz ACQuA-9ce65c5a963b03ee97fe9cb6c5aa65a3c04a80a8.zip | |
initial version
Diffstat (limited to 'src/uk/ac/ox/cs/pagoda/rules/OverApproxBoth.java')
| -rw-r--r-- | src/uk/ac/ox/cs/pagoda/rules/OverApproxBoth.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/uk/ac/ox/cs/pagoda/rules/OverApproxBoth.java b/src/uk/ac/ox/cs/pagoda/rules/OverApproxBoth.java new file mode 100644 index 0000000..3cc2aba --- /dev/null +++ b/src/uk/ac/ox/cs/pagoda/rules/OverApproxBoth.java | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | package uk.ac.ox.cs.pagoda.rules; | ||
| 2 | |||
| 3 | import java.util.Collection; | ||
| 4 | import java.util.LinkedList; | ||
| 5 | |||
| 6 | import org.semanticweb.HermiT.model.AtLeastDataRange; | ||
| 7 | import org.semanticweb.HermiT.model.DLClause; | ||
| 8 | |||
| 9 | public class OverApproxBoth implements Approximator { | ||
| 10 | |||
| 11 | Approximator approxDist = new OverApproxDisj(), approxExist = new OverApproxExist(); | ||
| 12 | |||
| 13 | @Override | ||
| 14 | public Collection<DLClause> convert(DLClause clause, DLClause originalClause) { | ||
| 15 | Collection<DLClause> ret = new LinkedList<DLClause>(); | ||
| 16 | for (DLClause tClause: approxDist.convert(clause, originalClause)) { | ||
| 17 | if (tClause.getHeadLength() > 0 && tClause.getHeadAtom(0).getDLPredicate() instanceof AtLeastDataRange) | ||
| 18 | continue; | ||
| 19 | ret.addAll(approxExist.convert(tClause, originalClause)); | ||
| 20 | } | ||
| 21 | return ret; | ||
| 22 | } | ||
| 23 | |||
| 24 | } | ||
