From: <seb...@us...> - 2012-02-22 17:57:05
|
Revision: 3582 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3582&view=rev Author: sebastianwtr Date: 2012-02-22 17:56:55 +0000 (Wed, 22 Feb 2012) Log Message: ----------- [tbsl exploration] start new implementation Modified Paths: -------------- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/SparqlObject.java Added Paths: ----------- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/Hypothesis.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/Template.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/TemplateBuilder.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/testClass_new.java Added: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/Hypothesis.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/Hypothesis.java (rev 0) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/Hypothesis.java 2012-02-22 17:56:55 UTC (rev 3582) @@ -0,0 +1,31 @@ +package org.dllearner.algorithm.tbsl.exploration.Sparql; + +public class Hypothesis { +private String variable; +private String uri; +private float rank; +public String getUri() { + return uri; +} +public void setUri(String uri) { + this.uri = uri; +} +public String getVariable() { + return variable; +} +public void setVariable(String variable) { + this.variable = variable; +} +public float getRank() { + return rank; +} +public void setRank(float rank) { + this.rank = rank; +} + +public Hypothesis(String variable, String uri, float rank){ + setRank(rank); + setVariable(variable); + setUri(uri); +} +} Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/SparqlObject.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/SparqlObject.java 2012-02-14 15:44:21 UTC (rev 3581) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/SparqlObject.java 2012-02-22 17:56:55 UTC (rev 3582) @@ -2204,16 +2204,7 @@ } private String createAnswer(String string){ - - /*Pattern p = Pattern.compile (".*<td>(.*)</td>.*"); - Matcher m = p.matcher (string); - String result=""; - while (m.find()) { - if(m.group(1)!=null) - result = result+" "+ m.group(1); - } - */ Pattern p = Pattern.compile (".*\\<td\\>(.*)\\</td\\>.*"); string = string.replace("<table class=\"sparql\" border=\"1\">", "").replace("<tr>","").replace("</tr>", "").replace("</table>", ""); Matcher m = p.matcher (string); @@ -2235,18 +2226,7 @@ } private ArrayList<String> createAnswerArray(String string){ - //<td>Klaus Wowereit</td> - - //get with regex all between <td> </td> - - /*Pattern p = Pattern.compile (".*<td>(.*)</td>.*"); - Matcher m = p.matcher (string); - ArrayList<String> result=new ArrayList<String>(); - while (m.find()) { - if(m.group(1)!=null) - result.add(m.group(1)); - }*/ Pattern p = Pattern.compile (".*\\<td\\>(.*)\\</td\\>.*"); string = string.replace("<table class=\"sparql\" border=\"1\">", "").replace("<tr>","").replace("</tr>", "").replace("</table>", ""); Matcher m = p.matcher (string); @@ -2309,14 +2289,8 @@ return query; } - - - - } - - /* * Backup original Iteration function * Added: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/Template.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/Template.java (rev 0) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/Template.java 2012-02-22 17:56:55 UTC (rev 3582) @@ -0,0 +1,87 @@ +package org.dllearner.algorithm.tbsl.exploration.Sparql; + +import java.util.ArrayList; + +public class Template { + + private ArrayList<ArrayList<String>> condition = new ArrayList<ArrayList<String>>(); + private ArrayList<ArrayList<Hypothesis>> hypotesen = new ArrayList<ArrayList<Hypothesis>>(); + private String selectTerm; + private String having; + private String filter; + private String OrderBy; + private String limit; + + public String getHaving() { + return having; + } + public void setHaving(String having) { + this.having = having; + } + public String getFilter() { + return filter; + } + public void setFilter(String filter) { + this.filter = filter; + } + public String getOrderBy() { + return OrderBy; + } + public void setOrderBy(String orderBy) { + OrderBy = orderBy; + } + public String getLimit() { + return limit; + } + public void setLimit(String limit) { + this.limit = limit; + } + + public String getSelectTerm() { + return selectTerm; + } + public void setSelectTerm(String selectTerm) { + this.selectTerm = selectTerm; + } + + + public Template(ArrayList<ArrayList<String>>condition_new, String having_new, String filter_new, String SelectTerm_new, String OrderBy_new, String limit_new){ + setCondition(condition_new); + setHaving(having_new); + setFilter(filter_new); + setOrderBy(OrderBy_new); + setLimit(limit_new); + setSelectTerm(SelectTerm_new); + } + public ArrayList<ArrayList<String>> getCondition() { + return condition; + } + public void setCondition(ArrayList<ArrayList<String>> condition) { + this.condition = condition; + } + public ArrayList<ArrayList<Hypothesis>> getHypotesen() { + return hypotesen; + } + public void setHypotesen(ArrayList<ArrayList<Hypothesis>> hypotesen) { + this.hypotesen = hypotesen; + } + + public void addHypothese(ArrayList<Hypothesis> ht){ + this.hypotesen.add(ht); + } + + + public void printAll(){ + System.out.println("###### Template ######"); + System.out.println("condition: "+condition); + System.out.println("hypotesen: "+hypotesen); + System.out.println("selectTerm: "+selectTerm); + System.out.println("having: "+having); + System.out.println("filter: "+filter); + System.out.println("OrderBy: "+OrderBy); + System.out.println("limit: "+limit); + System.out.println("###### Template printed ######\n"); + } + +} + Added: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/TemplateBuilder.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/TemplateBuilder.java (rev 0) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/TemplateBuilder.java 2012-02-22 17:56:55 UTC (rev 3582) @@ -0,0 +1,121 @@ +package org.dllearner.algorithm.tbsl.exploration.Sparql; + +import java.net.MalformedURLException; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Set; + +import org.dllearner.algorithm.tbsl.sparql.BasicQueryTemplate; +import org.dllearner.algorithm.tbsl.sparql.Path; +import org.dllearner.algorithm.tbsl.sparql.SPARQL_Filter; +import org.dllearner.algorithm.tbsl.sparql.SPARQL_Having; +import org.dllearner.algorithm.tbsl.sparql.SPARQL_Term; +import org.dllearner.algorithm.tbsl.templator.BasicTemplator; + +public class TemplateBuilder { + + static BasicTemplator btemplator; + + +public TemplateBuilder() throws MalformedURLException, ClassNotFoundException, SQLException{ + + TemplateBuilder.btemplator = new BasicTemplator(); + //btemplator.UNTAGGED_INPUT = false; + //Object_new.myindex = new mySQLDictionary(); + } + + + public ArrayList<Template> createTemplates(String question){ + ArrayList<Template> resultArrayList = new ArrayList<Template>(); + Set<BasicQueryTemplate> querytemps = btemplator.buildBasicQueries(question); + for (BasicQueryTemplate bqt : querytemps) { + ArrayList<ArrayList<String>> condition = new ArrayList<ArrayList<String>>(); + ArrayList<ArrayList<Hypothesis>> hypotesen = new ArrayList<ArrayList<Hypothesis>>(); + String selectTerm = ""; + String having= ""; + String filter= ""; + String OrderBy= ""; + String limit= ""; + String condition_String = ""; + + boolean addTemplate=true; + try{ + for(SPARQL_Term terms :bqt.getSelTerms()) selectTerm=selectTerm+(terms.toString())+" "; + } + catch (Exception e){ + selectTerm=""; + addTemplate=false; + } + + ArrayList<String> temp_array = new ArrayList<String>(); + try{ + for(Path conditions1: bqt.getConditions()) condition_String=condition_String+(conditions1.toString())+"."; + for(Path conditions1: bqt.getConditions()) { + temp_array.clear(); + String[] tmp_array = conditions1.toString().split(" -- "); + for(String s: tmp_array){ + temp_array.add(s); + } + condition.add(temp_array); + } + + } + catch (Exception e){ + condition_String=""; + addTemplate=false; + } + + try{ + for(SPARQL_Filter tmp : bqt.getFilters()) filter=filter+tmp+" "; + } + catch(Exception e){ + filter=""; + addTemplate=false; + } + try{ + for(SPARQL_Having tmp : bqt.getHavings()) having=having+tmp+" "; + } + catch(Exception e){ + having=""; + addTemplate=false; + } + + //if there is no order by, replace with "" + OrderBy="ORDER BY "; + try{ + for(SPARQL_Term tmp : bqt.getOrderBy()) { + System.out.println("Yeah"); + OrderBy=OrderBy+tmp+" "; + } + if((bqt.getOrderBy()).size()==0)OrderBy=""; + } + catch(Exception e){ + OrderBy=""; + addTemplate=false; + } + + + try{ + limit="LIMIT "+bqt.getLimit(); + + if(bqt.getLimit()==0)limit=""; + } + catch(Exception e){ + limit=""; + addTemplate=false; + } + + Template template = new Template(condition, having, filter, selectTerm,OrderBy, limit); + + //TODO: Add Hypothesis + //TODO: Take Template like it is and change Condition + + + resultArrayList.add(template); + } + for(Template temp : resultArrayList){ + temp.printAll(); + } + return resultArrayList; + } +} Added: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/testClass_new.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/testClass_new.java (rev 0) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/exploration/Sparql/testClass_new.java 2012-02-22 17:56:55 UTC (rev 3582) @@ -0,0 +1,21 @@ +package org.dllearner.algorithm.tbsl.exploration.Sparql; + +import java.net.MalformedURLException; +import java.sql.SQLException; + +public class testClass_new { + + /** + * @param args + * @throws SQLException + * @throws ClassNotFoundException + * @throws MalformedURLException + */ + public static void main(String[] args) throws MalformedURLException, ClassNotFoundException, SQLException { + // TODO Auto-generated method stub + TemplateBuilder testobject = new TemplateBuilder(); + String question = "Which books are written by Daniele Steel?"; + testobject.createTemplates(question); + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |