diff --git a/Api/src/main/java/web/data/Query.java b/Api/src/main/java/web/data/Query.java index 6b9ea48..7c3b16f 100644 --- a/Api/src/main/java/web/data/Query.java +++ b/Api/src/main/java/web/data/Query.java @@ -2,6 +2,7 @@ import com.google.gson.Gson; +import extendedsldnf.datastructure.TextualSource; import java.util.ArrayList; import java.util.List; diff --git a/Demo b/Demo index fc5cd0a..d67e0f0 160000 --- a/Demo +++ b/Demo @@ -1 +1 @@ -Subproject commit fc5cd0ae6be514327dcc13ac78912bfe87011bd8 +Subproject commit d67e0f05b367299ccfa27a5716da629f35846ba2 diff --git a/QueryRewriting/pom.xml b/QueryRewriting/pom.xml index 0feb3f5..82e7859 100755 --- a/QueryRewriting/pom.xml +++ b/QueryRewriting/pom.xml @@ -190,6 +190,12 @@ factchecking fact-spotting 1.0 + + + + + + @@ -217,8 +223,12 @@ slf4j-log4j12 1.7.25 - - + + + + + + diff --git a/QueryRewriting/src/main/java/checker/ExplanationsExtractor.java b/QueryRewriting/src/main/java/checker/ExplanationsExtractor.java index e14af81..cfbeac9 100755 --- a/QueryRewriting/src/main/java/checker/ExplanationsExtractor.java +++ b/QueryRewriting/src/main/java/checker/ExplanationsExtractor.java @@ -7,6 +7,7 @@ import extendedsldnf.datastructure.IExtendedFacts; import extendedsldnf.datastructure.IQueryExplanations; import extendedsldnf.datastructure.InputQuery; +import extendedsldnf.datastructure.TextualSource; import org.deri.iris.ConfigurationThreadLocalStorage; import org.deri.iris.api.basics.IQuery; import org.deri.iris.api.basics.IRule; @@ -122,8 +123,9 @@ private ExplanationsExtractor() { } - - + public static synchronized ExplanationsExtractor getInstance(){ + return explanationsExtractor; + } @Override public IQueryExplanations check(InputQuery query) { @@ -154,8 +156,8 @@ public IQueryExplanations check(InputQuery query,Collection specificRules RecSLDEvaluator evaluator ; EvaluatorFactory evaluatorFactory=new EvaluatorFactory(config); - List usedFactSources = getUsedFactResources(Arrays.asList("yago", "dbpedia")); - List usedTextualResources = getUsedTextualResources(Arrays.asList("wiki", "bing")); + List usedFactSources = getUsedFactResources(query.getKgs());//getUsedFactResources(Arrays.asList("yago", "dbpedia")); + List usedTextualResources = getUsedTextualResources(query.getTextualSources());//getUsedTextualResources(Arrays.asList("wiki", "bing")); // evaluator = evaluatorFactory.getEvaluator(facts, rules); evaluator = evaluatorFactory.getEvaluator(usedFactSources, usedTextualResources, rules); IQueryExplanations relation = evaluator.getExplanation(query.getIQuery()); @@ -166,13 +168,9 @@ public IQueryExplanations check(InputQuery query,Collection specificRules return null; } - private List getUsedTextualResources(List strings) { + private List getUsedTextualResources(List textualSources) { return Arrays.asList(new FactSpottingConnector(config)); } - - private List getUsedFactResources(List strings) { - return facts; - } // // @Override // public IQueryExplanations check(Fact fact, Collection ruleSet) { @@ -196,9 +194,8 @@ private List getUsedFactResources(List strings) { // // } - - public static synchronized ExplanationsExtractor getInstance(){ - return explanationsExtractor; + private List getUsedFactResources(List strings) { + return facts; } diff --git a/QueryRewriting/src/main/java/extendedsldnf/datastructure/InputQuery.java b/QueryRewriting/src/main/java/extendedsldnf/datastructure/InputQuery.java index 4f853c2..da95f9e 100755 --- a/QueryRewriting/src/main/java/extendedsldnf/datastructure/InputQuery.java +++ b/QueryRewriting/src/main/java/extendedsldnf/datastructure/InputQuery.java @@ -4,12 +4,20 @@ import org.deri.iris.api.basics.IQuery; import utils.Converter; +import java.util.List; + public class InputQuery { private BinaryFact ntQuery; private IQuery iQuery; -int order; -int label; + int order; + int label; + + + List textualSources; + List kgs; + + public InputQuery(IQuery query, int order,int label) { @@ -40,6 +48,46 @@ public int getLabel() { return label; } + public BinaryFact getNtQuery() { + return ntQuery; + } + + public void setNtQuery(BinaryFact ntQuery) { + this.ntQuery = ntQuery; + } + + public IQuery getiQuery() { + return iQuery; + } + + public void setiQuery(IQuery iQuery) { + this.iQuery = iQuery; + } + + public void setOrder(int order) { + this.order = order; + } + + public void setLabel(int label) { + this.label = label; + } + + public List getTextualSources() { + return textualSources; + } + + public void setTextualSources(List textualSources) { + this.textualSources = textualSources; + } + + public List getKgs() { + return kgs; + } + + public void setKgs(List kgs) { + this.kgs = kgs; + } + @Override public String toString() { return diff --git a/Api/src/main/java/web/data/TextualSource.java b/QueryRewriting/src/main/java/extendedsldnf/datastructure/TextualSource.java similarity index 85% rename from Api/src/main/java/web/data/TextualSource.java rename to QueryRewriting/src/main/java/extendedsldnf/datastructure/TextualSource.java index 8e68f67..4ab99a6 100644 --- a/Api/src/main/java/web/data/TextualSource.java +++ b/QueryRewriting/src/main/java/extendedsldnf/datastructure/TextualSource.java @@ -1,4 +1,4 @@ -package web.data; +package extendedsldnf.datastructure; public class TextualSource { diff --git a/WebService2/app/controllers/Explanations.java b/WebService2/app/controllers/Explanations.java index 440eba3..e22dc17 100755 --- a/WebService2/app/controllers/Explanations.java +++ b/WebService2/app/controllers/Explanations.java @@ -70,6 +70,9 @@ public Result explain(){ // parseRulesAs + + + Parser parser=new Parser(); List ruleList=null; @@ -81,8 +84,13 @@ public Result explain(){ e.printStackTrace(); } + InputQuery inputQuery=new InputQuery(new BinaryFact(q.getSubject(),q.getPredicate(),q.getObject()),0,0); + + inputQuery.setTextualSources(q.getTextualSources()); + inputQuery.setKg(q.getKg()); + - IQueryExplanations explanations = explanationsExtractor.check( new InputQuery(new BinaryFact(q.getSubject(),q.getPredicate(),q.getObject()),0,0),ruleList); + IQueryExplanations explanations = explanationsExtractor.check( inputQuery,ruleList); System.out.println(explanations); Gson gson=CustomGson.getInstance().getGson();