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. --- .../cs/pagoda/reasoner/light/KarmaQueryEngine.java | 109 --------------------- 1 file changed, 109 deletions(-) delete mode 100644 src/uk/ac/ox/cs/pagoda/reasoner/light/KarmaQueryEngine.java (limited to 'src/uk/ac/ox/cs/pagoda/reasoner/light/KarmaQueryEngine.java') diff --git a/src/uk/ac/ox/cs/pagoda/reasoner/light/KarmaQueryEngine.java b/src/uk/ac/ox/cs/pagoda/reasoner/light/KarmaQueryEngine.java deleted file mode 100644 index 98f0c35..0000000 --- a/src/uk/ac/ox/cs/pagoda/reasoner/light/KarmaQueryEngine.java +++ /dev/null @@ -1,109 +0,0 @@ -package uk.ac.ox.cs.pagoda.reasoner.light; - -import org.semanticweb.karma2.MyKarma; -import org.semanticweb.karma2.clausifier.OntologyProcesser; -import org.semanticweb.karma2.exception.IllegalInputOntologyException; -import org.semanticweb.karma2.model.ConjunctiveQuery; -import org.semanticweb.owlapi.model.OWLOntology; -import uk.ac.ox.cs.JRDFox.JRDFStoreException; -import uk.ac.ox.cs.JRDFox.store.DataStore; -import uk.ac.ox.cs.pagoda.query.AnswerTuple; -import uk.ac.ox.cs.pagoda.query.AnswerTuples; -import uk.ac.ox.cs.pagoda.query.AnswerTuplesImp; -import uk.ac.ox.cs.pagoda.util.ConjunctiveQueryHelper; -import uk.ac.ox.cs.pagoda.util.Utility; -import uk.ac.ox.cs.pagoda.util.disposable.DisposedException; - -import java.io.File; -import java.io.FileNotFoundException; -import java.nio.file.Paths; -import java.util.Set; - -public class KarmaQueryEngine extends RDFoxQueryEngine { - - String karmaDataFile = null, karmaRuleFile = null; - private MyKarma reasoner = null; - - public KarmaQueryEngine(String name) { - super(name); - -// int Base = 1 << 6; -// int index = (new Random().nextInt() % Base + Base) % Base; -// karmaDataFile = "karma_data" + index + ".ttl"; -// karmaRuleFile = "karma_rule" + index + ".dlog"; - karmaDataFile = Paths.get(Utility.getGlobalTempDirAbsolutePath(), "karma_data.ttl").toString(); - karmaRuleFile = Paths.get(Utility.getGlobalTempDirAbsolutePath(), "karma_rule.dlog").toString(); - - reasoner = new MyKarma(); - } - - public MyKarma getReasoner() { - if(isDisposed()) throw new DisposedException(); - return reasoner; - } - - public void processOntology(OWLOntology elhoOntology) { - if(isDisposed()) throw new DisposedException(); - try { - OntologyProcesser.transformOntology(elhoOntology, new File(karmaDataFile), new File(karmaRuleFile)); - } catch(IllegalInputOntologyException e) { - e.printStackTrace(); - } - } - - @Override - public void dispose() { - super.dispose(); - reasoner.dispose(); - } - - @Override - public AnswerTuples evaluate(String queryText) { - if(isDisposed()) throw new DisposedException(); - return evaluate(queryText, ConjunctiveQueryHelper.getAnswerVariables(queryText)[0], null); - } - - @Override - public AnswerTuples evaluate(String queryText, String[] answerVars) { - if(isDisposed()) throw new DisposedException(); - return evaluate(queryText, answerVars, null); - } - - public AnswerTuples evaluate(String queryText, AnswerTuples soundAnswerTuples) { - if(isDisposed()) throw new DisposedException(); - return evaluate(queryText, ConjunctiveQueryHelper.getAnswerVariables(queryText)[0], soundAnswerTuples); - } - - public AnswerTuples evaluate(String queryText, String[] answerVars, AnswerTuples soundAnswerTuples) { - if(isDisposed()) throw new DisposedException(); - KarmaQuery karmaQuery = new KarmaQuery(queryText.replace("_:", "?")); - reasoner.setConcurrence(false); - ConjunctiveQuery cq = karmaQuery.getConjunctiveQuery(); - if(cq == null) return null; - Set answers = reasoner.answerCQ(cq, soundAnswerTuples, !queryText.contains("_:")); - return new AnswerTuplesImp(answerVars, answers); - } - - @Override - public DataStore getDataStore() { - if(isDisposed()) throw new DisposedException(); - return reasoner.getStore(); - } - - public void initialiseKarma() { - if(isDisposed()) throw new DisposedException(); - try { - reasoner.initializeData(new File(karmaDataFile)); - reasoner.materialise(new File(karmaRuleFile)); - - File tmp; - if(karmaDataFile != null && ((tmp = new File(karmaDataFile)).exists())) tmp.delete(); - if(karmaRuleFile != null && ((tmp = new File(karmaRuleFile)).exists())) tmp.delete(); - } catch(FileNotFoundException e) { - e.printStackTrace(); - } catch(JRDFStoreException e) { - e.printStackTrace(); - } - } - -} -- cgit v1.2.3