aboutsummaryrefslogtreecommitdiff
path: root/src/uk/ac/ox/cs/pagoda/rules/UpperDatalogProgram.java
diff options
context:
space:
mode:
authoryzhou <yujiao.zhou@gmail.com>2015-04-21 10:34:27 +0100
committeryzhou <yujiao.zhou@gmail.com>2015-04-21 10:34:27 +0100
commit9ce65c5a963b03ee97fe9cb6c5aa65a3c04a80a8 (patch)
tree47511c0fb89dccff0db4b5990522e04f294d795b /src/uk/ac/ox/cs/pagoda/rules/UpperDatalogProgram.java
parentb1ac207612ee8b045244253fb94b866104bc34f2 (diff)
downloadACQuA-9ce65c5a963b03ee97fe9cb6c5aa65a3c04a80a8.tar.gz
ACQuA-9ce65c5a963b03ee97fe9cb6c5aa65a3c04a80a8.zip
initial version
Diffstat (limited to 'src/uk/ac/ox/cs/pagoda/rules/UpperDatalogProgram.java')
-rw-r--r--src/uk/ac/ox/cs/pagoda/rules/UpperDatalogProgram.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/uk/ac/ox/cs/pagoda/rules/UpperDatalogProgram.java b/src/uk/ac/ox/cs/pagoda/rules/UpperDatalogProgram.java
new file mode 100644
index 0000000..a4cd790
--- /dev/null
+++ b/src/uk/ac/ox/cs/pagoda/rules/UpperDatalogProgram.java
@@ -0,0 +1,46 @@
1package uk.ac.ox.cs.pagoda.rules;
2
3import java.util.Collection;
4import java.util.HashMap;
5import java.util.Map;
6
7import org.semanticweb.HermiT.model.DLClause;
8import org.semanticweb.HermiT.model.DLPredicate;
9
10
11public class UpperDatalogProgram extends UpperProgram {
12
13 public UpperDatalogProgram() {}
14
15// @Override
16// public String getDirectory() {
17// File dir = new File(ontologyDirectory + Utility.FILE_SEPARATOR + "datalog");
18// if (!dir.exists())
19// dir.mkdirs();
20// return dir.getPath();
21// }
22
23 @Override
24 protected void initApproximator() {
25 m_approx = new OverApproxBoth();
26 }
27
28 public int getBottomNumber() {
29 return botStrategy.getBottomNumber();
30 }
31
32 public void updateDependencyGraph(Collection<DLClause> delta) {
33 Map<DLPredicate, DLClause> map = new HashMap<DLPredicate, DLClause>();
34 for (DLClause clause: clauses)
35 if (botStrategy.isBottomRule(clause))
36 map.put(clause.getHeadAtom(0).getDLPredicate(), getCorrespondingClause(clause));
37
38 for (DLClause clause: delta) {
39 clauses.add(clause);
40 correspondence.put(clause, map.get(clause.getBodyAtom(0).getDLPredicate()));
41 }
42
43 dependencyGraph.update(delta);
44 }
45
46}