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. --- .../pagoda/tracking/TrackingRuleEncoderDisj2.java | 112 --------------------- 1 file changed, 112 deletions(-) delete mode 100644 src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderDisj2.java (limited to 'src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderDisj2.java') diff --git a/src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderDisj2.java b/src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderDisj2.java deleted file mode 100644 index 8d79090..0000000 --- a/src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderDisj2.java +++ /dev/null @@ -1,112 +0,0 @@ -package uk.ac.ox.cs.pagoda.tracking; - -import org.semanticweb.HermiT.model.*; -import uk.ac.ox.cs.pagoda.MyPrefixes; -import uk.ac.ox.cs.pagoda.multistage.Normalisation; -import uk.ac.ox.cs.pagoda.query.QueryRecord; -import uk.ac.ox.cs.pagoda.reasoner.light.BasicQueryEngine; -import uk.ac.ox.cs.pagoda.rules.UpperDatalogProgram; -import uk.ac.ox.cs.pagoda.rules.approximators.OverApproxExist; - -public class TrackingRuleEncoderDisj2 extends TrackingRuleEncoderDisj { - - public TrackingRuleEncoderDisj2(UpperDatalogProgram program, BasicQueryEngine store) { - super(program, store); - } - - @Override - public boolean encodingRules() { - if (ruleEncoded) return false; - ruleEncoded = true; - - for (DLClause clause: program.getClauses()) { - encodingRule(clause); - } - - if (disjunctiveRules.isEmpty()) - return true; - - processDisjunctiveRules(); - return false; - } - - @Override - protected DLPredicate generateAuxiliaryRule(AtomicConcept p) { - return getTrackingDLPredicate(p); - } - - @Override - protected DLPredicate generateAuxiliaryRule(AtomicRole p) { - return getTrackingDLPredicate(p); - } - - private Variable X = Variable.create("X"); - - @Override - protected DLPredicate generateAuxiliaryRule(AtLeastConcept p, DLClause original, Individual[] individuals) { - DLPredicate ret = AtomicConcept.create(getTrackingPredicate(Normalisation.getAuxiliaryConcept4Disjunct(p, individuals))); - Atom[] headAtom = new Atom[] {Atom.create(ret, X)}; - - AtomicRole role = p.getOnRole() instanceof AtomicRole ? - (AtomicRole) p.getOnRole(): - ((InverseRole) p.getOnRole()).getInverseOf(); - - AtomicConcept concept = p.getToConcept() instanceof AtomicConcept ? - (AtomicConcept) p.getToConcept() : - OverApproxExist.getNegationConcept(((AtomicNegationConcept) p.getToConcept()).getNegatedAtomicConcept()); - - Term[] roleArgs, conceptArg; - for (Individual i: individuals) { -// Variable i = Variable.create("Y"); - if (p.getOnRole() instanceof AtomicRole) { - roleArgs = new Term[] {X, i}; - conceptArg = new Term[] {i}; - } - else { - roleArgs = new Term[] {i, X}; - conceptArg = new Term[] {i}; - } - - addTrackingClause( - DLClause.create(headAtom, - new Atom[] {Atom.create(getTrackingDLPredicate(role), roleArgs)})); - - Atom guard = Atom.create(role, roleArgs); - - if (!concept.equals(AtomicConcept.THING)) { - addTrackingClause( - DLClause.create(headAtom, - new Atom[] {guard, Atom.create(getTrackingDLPredicate(concept), conceptArg)})); - } - } - - return ret; - } - - @Override - protected void encodingRule(DLClause clause) { - DLClause original = program.getCorrespondingClause(clause); - if (original.getHeadLength() <= 1) { - super.encodingRule(clause); - } - else addDisjunctiveRule(original, clause); - } - - @Override - public String getTrackingProgram() { - StringBuilder sb = getTrackingProgramBody(); - sb.insert(0, MyPrefixes.PAGOdAPrefixes.prefixesText()); - return sb.toString(); - } - - @Override - protected void encodingAtomicQuery(QueryRecord[] botQuerRecords) { - super.encodingAtomicQuery(botQuerRecords, true); - } - - @Override - protected DLPredicate generateAuxiliaryRule(Inequality instance) { - // TODO Auto-generated method stub - return null; - } -} -- cgit v1.2.3