From c3480bb733b8bca976718a3dc2f09a21cb4b1b45 Mon Sep 17 00:00:00 2001 From: RncLsn Date: Tue, 4 Aug 2015 18:30:46 +0100 Subject: Rules parsing. --- src/uk/ac/ox/cs/pagoda/rules/DatalogProgram.java | 51 ++++++++++++++---------- 1 file changed, 29 insertions(+), 22 deletions(-) (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 index 29e74c2..e2a171d 100644 --- a/src/uk/ac/ox/cs/pagoda/rules/DatalogProgram.java +++ b/src/uk/ac/ox/cs/pagoda/rules/DatalogProgram.java @@ -2,11 +2,12 @@ package uk.ac.ox.cs.pagoda.rules; import org.semanticweb.owlapi.model.OWLOntology; import uk.ac.ox.cs.pagoda.constraints.BottomStrategy; -import uk.ac.ox.cs.pagoda.constraints.PredicateDependency; import uk.ac.ox.cs.pagoda.constraints.UpperUnaryBottom; import uk.ac.ox.cs.pagoda.util.disposable.Disposable; import uk.ac.ox.cs.pagoda.util.disposable.DisposedException; +import java.io.InputStream; + public class DatalogProgram extends Disposable { UpperDatalogProgram upperProgram = new UpperDatalogProgram(); @@ -15,14 +16,36 @@ public class DatalogProgram extends Disposable { BottomStrategy upperBottom; - public DatalogProgram(OWLOntology o) { + public DatalogProgram(InputStream inputStream) { lowerProgram = new LowerDatalogProgram(); - init(o, false); + + upperProgram.load(inputStream, upperBottom = new UpperUnaryBottom()); + lowerProgram.clone(upperProgram); + program.clone(upperProgram); + + upperProgram.transform(); + lowerProgram.transform(); + program.transform(); + + program.buildDependencyGraph(); + lowerProgram.dependencyGraph = upperProgram.buildDependencyGraph(); } - public DatalogProgram(OWLOntology o, boolean toClassify) { - lowerProgram = new LowerDatalogProgram(toClassify); - init(o, toClassify); + public DatalogProgram(OWLOntology o) { + lowerProgram = new LowerDatalogProgram(); + + 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(); + lowerProgram.dependencyGraph = upperProgram.buildDependencyGraph(); } public LowerDatalogProgram getLower() { @@ -55,20 +78,4 @@ public class DatalogProgram extends Disposable { super.dispose(); if(upperProgram != null) upperProgram.deleteABoxTurtleFile(); } - - 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; - } } -- cgit v1.2.3