From 9ce65c5a963b03ee97fe9cb6c5aa65a3c04a80a8 Mon Sep 17 00:00:00 2001 From: yzhou Date: Tue, 21 Apr 2015 10:34:27 +0100 Subject: initial version --- src/uk/ac/ox/cs/pagoda/rules/DatalogProgram.java | 64 ++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/uk/ac/ox/cs/pagoda/rules/DatalogProgram.java (limited to 'src/uk/ac/ox/cs/pagoda/rules/DatalogProgram.java') diff --git a/src/uk/ac/ox/cs/pagoda/rules/DatalogProgram.java b/src/uk/ac/ox/cs/pagoda/rules/DatalogProgram.java new file mode 100644 index 0000000..1f7148c --- /dev/null +++ b/src/uk/ac/ox/cs/pagoda/rules/DatalogProgram.java @@ -0,0 +1,64 @@ +package uk.ac.ox.cs.pagoda.rules; + +import org.semanticweb.owlapi.model.OWLOntology; + +import uk.ac.ox.cs.pagoda.constraints.*; + +public class DatalogProgram { + + UpperDatalogProgram upperProgram = new UpperDatalogProgram(); + LowerDatalogProgram lowerProgram; + GeneralProgram program = new GeneralProgram(); + + BottomStrategy upperBottom; + + public DatalogProgram(OWLOntology o) { + lowerProgram = new LowerDatalogProgram(); + init(o, false); + } + + public DatalogProgram(OWLOntology o, boolean toClassify) { + lowerProgram = new LowerDatalogProgram(toClassify); + init(o, toClassify); + } + + private void init(OWLOntology o, boolean forSemFacet) { + upperProgram.load(o, upperBottom = new UpperUnaryBottom()); +// upperProgram.load(o, upperBottom = new UnaryBottom()); + lowerProgram.clone(upperProgram); + program.clone(upperProgram); +// program.botStrategy = new UnaryBottom(); + + upperProgram.transform(); + lowerProgram.transform(); + program.transform(); + + program.buildDependencyGraph(); + PredicateDependency graph = upperProgram.buildDependencyGraph(); + lowerProgram.dependencyGraph = graph; + } + + public LowerDatalogProgram getLower() { + return lowerProgram; + } + + public UpperDatalogProgram getUpper() { + return upperProgram; + } + + public GeneralProgram getGeneral() { + return program; + } + + public String getAdditionalDataFile() { + return upperProgram.getAdditionalDataFile(); + } + + public BottomStrategy getUpperBottomStrategy() { + return upperBottom; + } + + public void deleteABoxTurtleFile() { + if (upperProgram != null) upperProgram.deleteABoxTurtleFile(); + } +} -- cgit v1.2.3