From: <ku...@us...> - 2008-01-18 08:57:54
|
Revision: 386 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=386&view=rev Author: kurzum Date: 2008-01-18 00:57:51 -0800 (Fri, 18 Jan 2008) Log Message: ----------- package old can be removed after three functions in Sparqlknowledgesource are improved, see todo Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlCache.java trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlFilter.java trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlOntologyCollector.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryMaker.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlQueryMaker.java trunk/src/dl-learner/org/dllearner/kb/sparql/query/TestSparqlQuery.java Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-01-18 08:43:11 UTC (rev 385) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-01-18 08:57:51 UTC (rev 386) @@ -47,7 +47,7 @@ import org.dllearner.kb.sparql.configuration.PredefinedFilter; import org.dllearner.kb.sparql.configuration.SparqlQueryType; import org.dllearner.kb.sparql.configuration.SpecificSparqlEndpoint; -import org.dllearner.kb.sparql.old.SparqlOntologyCollector; +import org.dllearner.kb.sparql.old.*; import org.dllearner.parser.KBParser; import org.dllearner.reasoning.DIGConverter; import org.dllearner.reasoning.JenaOWLDIGConverter; @@ -410,9 +410,15 @@ return ontArray; } + + /** + * TODO SparqlOntologyCollector needs to be removed + * @param label + * @param limit + */ public void calculateSubjects(String label, int limit) { System.out.println("SparqlModul: Collecting Subjects"); - SparqlOntologyCollector oc = new SparqlOntologyCollector(url); + oldSparqlOntologyCollector oc = new oldSparqlOntologyCollector(url); try { subjects = oc.getSubjectsFromLabel(label, limit); } catch (IOException e) { @@ -422,9 +428,13 @@ System.out.println("SparqlModul: ****Finished"); } + /** + * TODO SparqlOntologyCollector needs to be removed + * @param subject + */ public void calculateTriples(String subject) { System.out.println("SparqlModul: Collecting Triples"); - SparqlOntologyCollector oc = new SparqlOntologyCollector(url); + oldSparqlOntologyCollector oc = new oldSparqlOntologyCollector(url); try { triples = oc.collectTriples(subject); } catch (IOException e) { @@ -434,9 +444,13 @@ System.out.println("SparqlModul: ****Finished"); } + /** + * TODO SparqlOntologyCollector needs to be removed + * @param concept + */ public void calculateConceptSubjects(String concept) { System.out.println("SparqlModul: Collecting Subjects"); - SparqlOntologyCollector oc = new SparqlOntologyCollector(url); + oldSparqlOntologyCollector oc = new oldSparqlOntologyCollector(url); try { conceptSubjects = oc.getSubjectsFromConcept(concept); } catch (IOException e) { Added: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryMaker.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryMaker.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryMaker.java 2008-01-18 08:57:51 UTC (rev 386) @@ -0,0 +1,193 @@ +/** + * Copyright (C) 2007, Sebastian Hellmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.kb.sparql; + +import org.dllearner.kb.sparql.configuration.SparqlQueryType; +import org.dllearner.kb.sparql.old.oldSparqlFilter; + + +/** + * Can assemble sparql queries. + * + * @author Sebastian Hellmann + * + */ +public class SparqlQueryMaker { + String lineend="\n"; + boolean print_flag=false; + /* can make queries for subject, predicate, object + * according to the filter settings + * object not yet implemented + * + * */ + + private SparqlQueryType sparqlQueryType; + + public SparqlQueryMaker(SparqlQueryType SparqlQueryType) { + this.sparqlQueryType = SparqlQueryType; + } + + public String makeSubjectQueryUsingFilters(String subject) { + + String Filter = internalFilterAssemblySubject(); + String ret = "SELECT * WHERE { " + lineend + "<" + subject + "> ?predicate ?object. " + + lineend + "FILTER( " + lineend + "(" + Filter + ").}"; + // System.out.println(ret); + //System.out.println(sparqlQueryType.getPredicatefilterlist().length); + return ret; + } + + public String makeRoleQueryUsingFilters(String role) { + + String Filter = internalFilterAssemblyRole(); + String ret = "SELECT * WHERE { " + lineend + " ?subject <" + role + "> ?object. " + lineend + + "FILTER( " + lineend + "(" + Filter + ").}"; + // System.out.println(ret); + + return ret; + } + public String makeRoleQueryUsingFilters(String role,boolean domain) { + + String Filter = internalFilterAssemblyRole(); + String ret=""; + if(domain){ + ret = "SELECT * WHERE { " + lineend + + "?subject <" + role + "> ?object; a []. " + lineend + + "FILTER( " + lineend + "(" + Filter + ").}" ; + //"ORDER BY ?subject"; + // System.out.println(ret); + }else{ + ret = "SELECT * WHERE { " + lineend + + "?object a [] . " + + "?subject <" + role + "> ?object . " + lineend + + "FILTER( " + lineend + "(" + Filter + ").}"; + //"ORDER BY ?object"; + + } + //System.out.println(ret); + + return ret; + } + + private String internalFilterAssemblySubject() { + + String Filter = ""; + if (!this.sparqlQueryType.isLiterals()) + Filter += "!isLiteral(?object))"; + for (String p : sparqlQueryType.getPredicatefilterlist()) { + Filter += lineend + filterPredicate(p); + } + for (String o : sparqlQueryType.getObjectfilterlist()) { + Filter += lineend + filterObject(o); + } + return Filter; + } + + private String internalFilterAssemblyRole() { + + String Filter = ""; + if (!this.sparqlQueryType.isLiterals()) + Filter += "!isLiteral(?object))"; + for (String s : sparqlQueryType.getObjectfilterlist()) { + Filter += lineend + filterSubject(s); + } + for (String o : sparqlQueryType.getObjectfilterlist()) { + Filter += lineend + filterObject(o); + } + return Filter; + } + + public String filterSubject(String ns) { + return "&&( !regex(str(?subject), '" + ns + "') )"; + } + + public static String filterPredicate(String ns) { + return "&&( !regex(str(?predicate), '" + ns + "') )"; + } + + public static String filterObject(String ns) { + return "&&( !regex(str(?object), '" + ns + "') )"; + } + + public void p(String str){ + if(print_flag){ + System.out.println(str); + } + } + + /** + * creates a query with the specified filters for alls triples with subject + * @param subject the searched subject + * @param sf special object encapsulating all options + * @return sparql query + */ + public static String makeQueryFilter(String subject, oldSparqlFilter sf){ + + + String Filter=""; + if(!sf.useLiterals)Filter+="!isLiteral(?object)"; + for (String p : sf.getPredFilter()) { + Filter+="\n" + filterPredicate(p); + } + for (String o : sf.getObjFilter()) { + Filter+="\n" + filterObject(o); + } + + String ret= + "SELECT * WHERE { \n" + + "<"+ + subject+ + "> ?predicate ?object.\n"; + if (!(Filter.length()==0)) + ret+="FILTER( \n" + + "(" +Filter+"))."; + ret+="}"; + //System.out.println(ret); + return ret; + } + + /** + * creates a query for subjects with the specified label + * @param label a phrase that is part of the label of a subject + * @param limit this limits the amount of results + * @return + */ + public static String makeLabelQuery(String label,int limit){ + //TODO maybe use http://xmlns:com/foaf/0.1/page + return "SELECT DISTINCT ?subject\n"+ + "WHERE { ?subject <http://www.w3.org/2000/01/rdf-schema#label> ?object.?object bif:contains '\""+label+"\"'@en}\n"+ + "LIMIT "+limit; + } + + /** + * creates a query for all subjects that are of the type concept + * @param concept the type that subjects are searched for + * @return + */ + public static String makeConceptQuery(String concept){ + return "SELECT DISTINCT ?subject\n"+ + "WHERE { ?subject a <"+concept+">}\n"; + } + + public static String makeArticleQuery(String subject){ + return "SELECT ?predicate,?object\n"+ + "WHERE { <"+subject+"> ?predicate ?object}\n"; + } +} Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java 2008-01-18 08:43:11 UTC (rev 385) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java 2008-01-18 08:57:51 UTC (rev 386) @@ -34,7 +34,6 @@ import org.dllearner.kb.sparql.configuration.Configuration; import org.dllearner.kb.sparql.configuration.SpecificSparqlEndpoint; -import org.dllearner.kb.sparql.old.SparqlQueryMaker; import org.dllearner.kb.sparql.query.Cache; import org.dllearner.utilities.StringTuple; Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlCache.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlCache.java 2008-01-18 08:43:11 UTC (rev 385) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlCache.java 2008-01-18 08:57:51 UTC (rev 386) @@ -90,7 +90,7 @@ public String get(String key, String sparql){ String ret=null; try{ - SparqlCache c =readFromFile(makeFilename(key)); + oldSparqlCache c =readFromFile(makeFilename(key)); if(c==null)return null; if(!c.checkFreshness())return null; if(!c.validate(sparql))return null; @@ -109,7 +109,7 @@ * @param sparql the sparql query */ public void put(String key, String content, String sparql){ - SparqlCache c=new SparqlCache(content,sparql); + oldSparqlCache c=new oldSparqlCache(content,sparql); putIntoFile(makeFilename(key), c); } @@ -173,7 +173,7 @@ * @param Filename * @param content */ - public void putIntoFile(String Filename,SparqlCache content){ + public void putIntoFile(String Filename,oldSparqlCache content){ try{ FileOutputStream fos = new FileOutputStream( Filename , false ); ObjectOutputStream o = new ObjectOutputStream( fos ); @@ -189,12 +189,12 @@ * @param Filename * @return one entry object */ - public SparqlCache readFromFile(String Filename){ - SparqlCache content=null; + public oldSparqlCache readFromFile(String Filename){ + oldSparqlCache content=null; try{ FileInputStream fos = new FileInputStream( Filename ); ObjectInputStream o = new ObjectInputStream( fos ); - content=(SparqlCache)o.readObject(); + content=(oldSparqlCache)o.readObject(); }catch (Exception e) {} return content; Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlFilter.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlFilter.java 2008-01-18 08:43:11 UTC (rev 385) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlFilter.java 2008-01-18 08:57:51 UTC (rev 386) @@ -29,7 +29,7 @@ * @author Sebastian Knappe * */ -public class SparqlFilter { +public class oldSparqlFilter { public int mode=0; // 0 yago, 1 only cat, 2 skos+cat String[] PredFilter=null; @@ -79,7 +79,7 @@ "http://dbpedia.org/resource/Template", "http://upload.wikimedia.org/wikipedia/commons"}; - public SparqlFilter(int mode, String[] pred, String[] obj) { + public oldSparqlFilter(int mode, String[] pred, String[] obj) { if (mode==-1 && (pred==null || obj==null)) {mode=0;} this.mode=mode; @@ -104,7 +104,7 @@ } } - public SparqlFilter(int mode, String[] pred, String[] obj,boolean uselits) throws Exception{ + public oldSparqlFilter(int mode, String[] pred, String[] obj,boolean uselits) throws Exception{ this(mode,pred,obj); this.useLiterals=uselits; } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlOntologyCollector.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlOntologyCollector.java 2008-01-18 08:43:11 UTC (rev 385) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlOntologyCollector.java 2008-01-18 08:57:51 UTC (rev 386) @@ -33,7 +33,7 @@ import java.util.Iterator; import java.util.Vector; -import org.dllearner.kb.sparql.old.SparqlQueryMaker; +import org.dllearner.kb.sparql.SparqlQueryMaker; /** @@ -45,13 +45,13 @@ * @author Sebastian Knappe * */ -public class SparqlOntologyCollector { +public class oldSparqlOntologyCollector { boolean print_flag=false; SparqlQueryMaker queryMaker; - SparqlCache cache; + oldSparqlCache cache; URL url; - SparqlFilter sf; + oldSparqlFilter sf; String[] subjectList; int numberOfRecursions; HashSet<String> properties; @@ -86,18 +86,18 @@ * @param FilterObjList * @param defClasses */ - public SparqlOntologyCollector(String[] subjectList,int numberOfRecursions, + public oldSparqlOntologyCollector(String[] subjectList,int numberOfRecursions, int filterMode, String[] FilterPredList,String[] FilterObjList,String[] defClasses, String format, URL url, boolean useLits){ this.subjectList=subjectList; this.numberOfRecursions=numberOfRecursions; this.format=format; //this.queryMaker=new SparqlQueryMaker(); - this.cache=new SparqlCache("cache"); + this.cache=new oldSparqlCache("cache"); if(defClasses!=null && defClasses.length>0 ){ this.defaultClasses=defClasses; } try{ - this.sf=new SparqlFilter(filterMode,FilterPredList,FilterObjList,useLits); + this.sf=new oldSparqlFilter(filterMode,FilterPredList,FilterObjList,useLits); this.url=url; this.properties=new HashSet<String>(); this.classes=new HashSet<String>(); @@ -107,10 +107,10 @@ } - public SparqlOntologyCollector(URL url) + public oldSparqlOntologyCollector(URL url) { // this.queryMaker=new SparqlQueryMaker(); - this.cache=new SparqlCache("cache"); + this.cache=new oldSparqlCache("cache"); this.url=url; } Deleted: trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlQueryMaker.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlQueryMaker.java 2008-01-18 08:43:11 UTC (rev 385) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlQueryMaker.java 2008-01-18 08:57:51 UTC (rev 386) @@ -1,192 +0,0 @@ -/** - * Copyright (C) 2007, Sebastian Hellmann - * - * This file is part of DL-Learner. - * - * DL-Learner is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * DL-Learner is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ -package org.dllearner.kb.sparql.old; - -import org.dllearner.kb.sparql.configuration.SparqlQueryType; - - -/** - * Can assemble sparql queries. - * - * @author Sebastian Hellmann - * - */ -public class SparqlQueryMaker { - String lineend="\n"; - boolean print_flag=false; - /* can make queries for subject, predicate, object - * according to the filter settings - * object not yet implemented - * - * */ - - private SparqlQueryType sparqlQueryType; - - public SparqlQueryMaker(SparqlQueryType SparqlQueryType) { - this.sparqlQueryType = SparqlQueryType; - } - - public String makeSubjectQueryUsingFilters(String subject) { - - String Filter = internalFilterAssemblySubject(); - String ret = "SELECT * WHERE { " + lineend + "<" + subject + "> ?predicate ?object. " - + lineend + "FILTER( " + lineend + "(" + Filter + ").}"; - // System.out.println(ret); - //System.out.println(sparqlQueryType.getPredicatefilterlist().length); - return ret; - } - - public String makeRoleQueryUsingFilters(String role) { - - String Filter = internalFilterAssemblyRole(); - String ret = "SELECT * WHERE { " + lineend + " ?subject <" + role + "> ?object. " + lineend - + "FILTER( " + lineend + "(" + Filter + ").}"; - // System.out.println(ret); - - return ret; - } - public String makeRoleQueryUsingFilters(String role,boolean domain) { - - String Filter = internalFilterAssemblyRole(); - String ret=""; - if(domain){ - ret = "SELECT * WHERE { " + lineend + - "?subject <" + role + "> ?object; a []. " + lineend - + "FILTER( " + lineend + "(" + Filter + ").}" ; - //"ORDER BY ?subject"; - // System.out.println(ret); - }else{ - ret = "SELECT * WHERE { " + lineend + - "?object a [] . " + - "?subject <" + role + "> ?object . " + lineend - + "FILTER( " + lineend + "(" + Filter + ").}"; - //"ORDER BY ?object"; - - } - //System.out.println(ret); - - return ret; - } - - private String internalFilterAssemblySubject() { - - String Filter = ""; - if (!this.sparqlQueryType.isLiterals()) - Filter += "!isLiteral(?object))"; - for (String p : sparqlQueryType.getPredicatefilterlist()) { - Filter += lineend + filterPredicate(p); - } - for (String o : sparqlQueryType.getObjectfilterlist()) { - Filter += lineend + filterObject(o); - } - return Filter; - } - - private String internalFilterAssemblyRole() { - - String Filter = ""; - if (!this.sparqlQueryType.isLiterals()) - Filter += "!isLiteral(?object))"; - for (String s : sparqlQueryType.getObjectfilterlist()) { - Filter += lineend + filterSubject(s); - } - for (String o : sparqlQueryType.getObjectfilterlist()) { - Filter += lineend + filterObject(o); - } - return Filter; - } - - public String filterSubject(String ns) { - return "&&( !regex(str(?subject), '" + ns + "') )"; - } - - public static String filterPredicate(String ns) { - return "&&( !regex(str(?predicate), '" + ns + "') )"; - } - - public static String filterObject(String ns) { - return "&&( !regex(str(?object), '" + ns + "') )"; - } - - public void p(String str){ - if(print_flag){ - System.out.println(str); - } - } - - /** - * creates a query with the specified filters for alls triples with subject - * @param subject the searched subject - * @param sf special object encapsulating all options - * @return sparql query - */ - public static String makeQueryFilter(String subject, SparqlFilter sf){ - - - String Filter=""; - if(!sf.useLiterals)Filter+="!isLiteral(?object)"; - for (String p : sf.getPredFilter()) { - Filter+="\n" + filterPredicate(p); - } - for (String o : sf.getObjFilter()) { - Filter+="\n" + filterObject(o); - } - - String ret= - "SELECT * WHERE { \n" + - "<"+ - subject+ - "> ?predicate ?object.\n"; - if (!(Filter.length()==0)) - ret+="FILTER( \n" + - "(" +Filter+"))."; - ret+="}"; - //System.out.println(ret); - return ret; - } - - /** - * creates a query for subjects with the specified label - * @param label a phrase that is part of the label of a subject - * @param limit this limits the amount of results - * @return - */ - public static String makeLabelQuery(String label,int limit){ - //TODO maybe use http://xmlns:com/foaf/0.1/page - return "SELECT DISTINCT ?subject\n"+ - "WHERE { ?subject <http://www.w3.org/2000/01/rdf-schema#label> ?object.?object bif:contains '\""+label+"\"'@en}\n"+ - "LIMIT "+limit; - } - - /** - * creates a query for all subjects that are of the type concept - * @param concept the type that subjects are searched for - * @return - */ - public static String makeConceptQuery(String concept){ - return "SELECT DISTINCT ?subject\n"+ - "WHERE { ?subject a <"+concept+">}\n"; - } - - public static String makeArticleQuery(String subject){ - return "SELECT ?predicate,?object\n"+ - "WHERE { <"+subject+"> ?predicate ?object}\n"; - } -} Deleted: trunk/src/dl-learner/org/dllearner/kb/sparql/query/TestSparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/query/TestSparqlQuery.java 2008-01-18 08:43:11 UTC (rev 385) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/query/TestSparqlQuery.java 2008-01-18 08:57:51 UTC (rev 386) @@ -1,13 +0,0 @@ -package org.dllearner.kb.sparql.query; - -public class TestSparqlQuery { - - /** - * @param args - */ - public static void main(String[] args) { - // TODO Auto-generated method stub - - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |