From 17bd9beaf7f358a44e5bf36a5855fe6727d506dc Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Tue, 10 May 2022 18:17:06 +0100 Subject: [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. --- src/uk/ac/ox/cs/pagoda/rules/ApproxProgram.java | 106 ------------------------ 1 file changed, 106 deletions(-) delete mode 100644 src/uk/ac/ox/cs/pagoda/rules/ApproxProgram.java (limited to 'src/uk/ac/ox/cs/pagoda/rules/ApproxProgram.java') diff --git a/src/uk/ac/ox/cs/pagoda/rules/ApproxProgram.java b/src/uk/ac/ox/cs/pagoda/rules/ApproxProgram.java deleted file mode 100644 index acbf354..0000000 --- a/src/uk/ac/ox/cs/pagoda/rules/ApproxProgram.java +++ /dev/null @@ -1,106 +0,0 @@ -package uk.ac.ox.cs.pagoda.rules; - -import org.semanticweb.HermiT.model.DLClause; -import org.semanticweb.owlapi.model.OWLAxiom; -import org.semanticweb.owlapi.model.OWLSubPropertyChainOfAxiom; -import org.semanticweb.owlapi.model.OWLTransitiveObjectPropertyAxiom; -import uk.ac.ox.cs.pagoda.owl.OWLHelper; -import uk.ac.ox.cs.pagoda.rules.approximators.Approximator; - -import java.util.*; - -public abstract class ApproxProgram extends Program { - - protected Approximator m_approx = null; - /** - * mapping from over-approximated DLClauses to DLClauses from the original ontology - */ - Map correspondence = new HashMap(); - - protected ApproxProgram() { initApproximator(); } - - protected abstract void initApproximator(); - - @Override - public void transform() { - super.transform(); - Iterator iterClause = transitiveClauses.iterator(); - for (Iterator iterAxiom = transitiveAxioms.iterator(); iterAxiom.hasNext(); ) - addCorrespondence(iterClause.next(), iterAxiom.next()); - - iterClause = subPropChainClauses.iterator(); - for (Iterator iterAxiom = subPropChainAxioms.iterator(); iterAxiom.hasNext(); ) - addCorrespondence(iterClause.next(), iterAxiom.next()); - } - - @Override - public Collection convert2Clauses(DLClause clause) { - Collection ret = botStrategy.process(m_approx.convert(clause, clause)); -// OWLAxiom correspondingAxiom = OWLHelper.getOWLAxiom(ontology, clause); - for (DLClause newClause: ret) { - addCorrespondence(newClause, clause); -// addCorrespondence(newClause, correspondingAxiom); - } - return ret; - } - - private void addCorrespondence(DLClause newClause, Object corresponding) { - Object object; - if ((object = correspondence.get(newClause)) != null) { - if (object.equals(corresponding)) - return ; - - if (object instanceof DLClause) { - DLClause c1 = (DLClause) object; - if (c1.getHeadLength() == 1) return ; - DLClause c2 = (DLClause) corresponding; - if (c2.getHeadLength() == 1) { - correspondence.put(newClause, c2); - return ; - } - ClauseSet list = new ClauseSet(c1, c2); - correspondence.put(newClause, list); - } - else if (object instanceof ClauseSet){ - ClauseSet list = (ClauseSet) object; - list.add((DLClause) corresponding); - } - } - correspondence.put(newClause, corresponding); - } - - public OWLAxiom getEquivalentAxiom(DLClause clause) { - Object obj = correspondence.get(clause); - while (obj != null && obj instanceof DLClause && !obj.equals(clause) && correspondence.containsKey(obj)) - obj = correspondence.get(clause); - if (obj instanceof OWLAxiom) - return (OWLAxiom) obj; - else if (obj != null) - return OWLHelper.getOWLAxiom(ontology, (DLClause) obj); - else { - return OWLHelper.getOWLAxiom(ontology, clause); - } - } - - public DLClause getCorrespondingClause(DLClause clause) { - Object obj = correspondence.get(clause); - if (obj instanceof DLClause) - return (DLClause) obj; - else - return clause; - } -} - -class ClauseSet extends HashSet { - - /** - * - */ - private static final long serialVersionUID = 1L; - - public ClauseSet(DLClause first, DLClause second) { - add(first); - add(second); - } - -} \ No newline at end of file -- cgit v1.2.3