aboutsummaryrefslogtreecommitdiff
path: root/src/uk/ac/ox/cs/pagoda/constraints/UpperUnaryBottom.java
diff options
context:
space:
mode:
authorFederico Igne <federico.igne@cs.ox.ac.uk>2022-05-10 18:17:06 +0100
committerFederico Igne <federico.igne@cs.ox.ac.uk>2022-05-11 12:34:47 +0100
commit17bd9beaf7f358a44e5bf36a5855fe6727d506dc (patch)
tree47e9310a0cff869d9ec017dcb2c81876407782c8 /src/uk/ac/ox/cs/pagoda/constraints/UpperUnaryBottom.java
parent8651164cd632a5db310b457ce32d4fbc97bdc41c (diff)
downloadACQuA-17bd9beaf7f358a44e5bf36a5855fe6727d506dc.tar.gz
ACQuA-17bd9beaf7f358a44e5bf36a5855fe6727d506dc.zip
[pagoda] Move project to Scala
This commit includes a few changes: - The repository still uses Maven to manage dependency but it is now a Scala project. - The code has been ported from OWLAPI 3.4.10 to 5.1.20 - A proof of concept program using both RSAComb and PAGOdA has been added.
Diffstat (limited to 'src/uk/ac/ox/cs/pagoda/constraints/UpperUnaryBottom.java')
-rw-r--r--src/uk/ac/ox/cs/pagoda/constraints/UpperUnaryBottom.java52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/uk/ac/ox/cs/pagoda/constraints/UpperUnaryBottom.java b/src/uk/ac/ox/cs/pagoda/constraints/UpperUnaryBottom.java
deleted file mode 100644
index 2b57a52..0000000
--- a/src/uk/ac/ox/cs/pagoda/constraints/UpperUnaryBottom.java
+++ /dev/null
@@ -1,52 +0,0 @@
1package uk.ac.ox.cs.pagoda.constraints;
2
3import java.util.Collection;
4import java.util.HashMap;
5import java.util.LinkedList;
6import java.util.Map;
7
8import org.semanticweb.HermiT.model.Atom;
9import org.semanticweb.HermiT.model.AtomicConcept;
10import org.semanticweb.HermiT.model.DLClause;
11import org.semanticweb.HermiT.model.Term;
12import org.semanticweb.HermiT.model.Variable;
13
14public class UpperUnaryBottom extends UnaryBottom {
15
16 static final Variable X = Variable.create("X");
17
18 Map<DLClause, Integer> number = new HashMap<DLClause, Integer>();
19
20 @Override
21 public Collection<DLClause> process(Collection<DLClause> clauses) {
22 Collection<DLClause> ret = new LinkedList<DLClause>();
23 for (DLClause clause: clauses)
24 if (clause.getHeadLength() == 0) {
25 ret.add(DLClause.create(getEmptyHead(pickRepresentative(clause.getBodyAtoms()), clause), clause.getBodyAtoms()));
26 ret.add(DLClause.create(getEmptyHead(X), getEmptyHead(X, clause)));
27 }
28 else
29 ret.add(clause);
30 return ret;
31 }
32
33 @Override
34 public boolean isBottomRule(DLClause clause) {
35 return clause.getHeadLength() == 1 && clause.getHeadAtom(0).getDLPredicate().toString().contains(AtomicConcept.NOTHING.toString());
36 }
37
38 public Atom[] getEmptyHead(Term t, DLClause clause) {
39 Integer index = number.get(clause);
40 if (index == null) {
41 number.put(clause, index = number.size() + 1);
42 }
43
44 return new Atom[] {Atom.create(AtomicConcept.create(AtomicConcept.NOTHING.getIRI() + index), t)};
45 }
46
47 @Override
48 public int getBottomNumber() {
49 return number.size() + 1;
50 }
51
52}