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. --- .../tracking/TrackingRuleEncoderWithoutGap.java | 103 --------------------- 1 file changed, 103 deletions(-) delete mode 100644 src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderWithoutGap.java (limited to 'src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderWithoutGap.java') diff --git a/src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderWithoutGap.java b/src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderWithoutGap.java deleted file mode 100644 index f898114..0000000 --- a/src/uk/ac/ox/cs/pagoda/tracking/TrackingRuleEncoderWithoutGap.java +++ /dev/null @@ -1,103 +0,0 @@ -package uk.ac.ox.cs.pagoda.tracking; - -import org.semanticweb.HermiT.model.*; -import org.semanticweb.owlapi.model.OWLClass; -import org.semanticweb.owlapi.model.OWLObjectProperty; -import org.semanticweb.owlapi.model.OWLOntology; -import uk.ac.ox.cs.pagoda.hermit.DLClauseHelper; -import uk.ac.ox.cs.pagoda.reasoner.light.BasicQueryEngine; -import uk.ac.ox.cs.pagoda.rules.UpperDatalogProgram; -import uk.ac.ox.cs.pagoda.util.Namespace; - -import java.util.Collection; -import java.util.LinkedList; - -public class TrackingRuleEncoderWithoutGap extends TrackingRuleEncoder { - - public TrackingRuleEncoderWithoutGap(UpperDatalogProgram program, BasicQueryEngine store) { - super(program, store); - } - - @Override - protected String getEqualityRelatedRuleText() { - if (equalityRelatedRuleText != null) return equalityRelatedRuleText.replace("_tn", getTrackingPredicate("")); - - Collection equalityRelatedClauses = new LinkedList(); - Variable X = Variable.create("X"); - AtomicRole trackingSameAs = AtomicRole.create(Namespace.EQUALITY + "_tn"); - OWLOntology onto = program.getOntology(); - Atom[] headAtom, bodyAtom; - for (OWLClass cls: onto.getClassesInSignature(true)) { - String clsIRI = cls.getIRI().toString(); - unaryPredicates.add(clsIRI); - headAtom = new Atom[] {Atom.create(trackingSameAs, X, X)}; - bodyAtom = new Atom[] { - Atom.create(AtomicConcept.create(clsIRI + "_tn"), X), -// Atom.create(AtomicConcept.create(GapTupleIterator.getGapPredicate(clsIRI)), X1), - Atom.create(AtomicConcept.create(clsIRI), X)}; - equalityRelatedClauses.add(DLClause.create(headAtom, bodyAtom)); - } - Variable Y = Variable.create("Y"); - for (OWLObjectProperty prop: onto.getObjectPropertiesInSignature(true)) { - String propIRI = prop.getIRI().toString(); - binaryPredicates.add(propIRI); - AtomicRole trackingRole = AtomicRole.create(propIRI + "_tn"); -// AtomicRole gapRole = AtomicRole.create(GapTupleIterator.getGapPredicate(propIRI)); - AtomicRole role = AtomicRole.create(propIRI); - headAtom = new Atom[] {Atom.create(trackingSameAs, X, X)}; - bodyAtom = new Atom[] { - Atom.create(trackingRole, X, Y), -// Atom.create(gapRole, X1, Y), - Atom.create(role, X, Y)}; - equalityRelatedClauses.add(DLClause.create(headAtom, bodyAtom)); - - bodyAtom = new Atom[] { - Atom.create(trackingRole, Y, X), -// Atom.create(gapRole, Y, X1), - Atom.create(role, Y, X)}; - equalityRelatedClauses.add(DLClause.create(headAtom, bodyAtom)); - } - - equalityRelatedClauses.add( - DLClause.create( - new Atom[] {Atom.create(trackingSameAs, Y, X)}, - new Atom[] {Atom.create(trackingSameAs, X, Y)})); - - equalityRelatedRuleText = DLClauseHelper.toString(equalityRelatedClauses).toString(); - return equalityRelatedRuleText.replace("_tn", getTrackingPredicate("")); - } - - @Override - protected void encodingRule(DLClause clause) { - LinkedList newHeadAtoms = new LinkedList(); - newHeadAtoms.add(Atom.create(selected, getIndividual4GeneralRule(clause))); - - Atom headAtom; - for (Atom atom: clause.getBodyAtoms()) { - headAtom = Atom.create( - getTrackingDLPredicate(atom.getDLPredicate()), - DLClauseHelper.getArguments(atom)); - newHeadAtoms.add(headAtom); - } - - DLClause newClause; - Atom[] newBodyAtoms = new Atom[clause.getBodyLength() + 1]; - headAtom = clause.getHeadAtom(0); - newBodyAtoms[0] = Atom.create( - getTrackingDLPredicate(headAtom.getDLPredicate()), - DLClauseHelper.getArguments(headAtom)); - -// newBodyAtoms[1] = Atom.create( -// getGapDLPredicate(headAtom.getDLPredicate()), -// DLClauseHelper.getArguments(headAtom)); - - for (int i = 0; i < clause.getBodyLength(); ++i) - newBodyAtoms[i + 1] = clause.getBodyAtom(i); - - for (Atom atom: newHeadAtoms) { - newClause = DLClause.create(new Atom[] {atom}, newBodyAtoms); - trackingClauses.add(newClause); - } - - } -} -- cgit v1.2.3