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();