From: <ku...@us...> - 2008-01-19 01:26:41
|
Revision: 396 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=396&view=rev Author: kurzum Date: 2008-01-18 17:26:40 -0800 (Fri, 18 Jan 2008) Log Message: ----------- more changes Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java trunk/src/dl-learner/org/dllearner/kb/sparql/Manipulator.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryMaker.java trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQueryClasses.java trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/Configuration.java trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/SparqlEndpoint.java trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/SparqlQueryType.java trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/ClassNode.java trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/InstanceNode.java trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/Node.java trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/PropertyNode.java trunk/src/dl-learner/org/dllearner/kb/sparql/old/SparqlQueryConventional.java trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlOntologyCollector.java trunk/src/dl-learner/org/dllearner/kb/sparql/query/CachedSparqlQuery.java trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQuery.java trunk/src/dl-learner/org/dllearner/kb/sparql/test/Test.java trunk/src/dl-learner/org/dllearner/kb/sparql/test/TestResultSet.java trunk/src/dl-learner/org/dllearner/kb/sparql/test/TestSparqlQuery.java Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java 2008-01-19 01:26:40 UTC (rev 396) @@ -19,7 +19,6 @@ */ package org.dllearner.kb.sparql; -import java.io.IOException; import java.net.URI; import java.util.HashSet; import java.util.Set; @@ -27,10 +26,9 @@ import java.util.TreeSet; import org.dllearner.kb.sparql.configuration.Configuration; -import org.dllearner.kb.sparql.configuration.SparqlQueryType; import org.dllearner.kb.sparql.configuration.SparqlEndpoint; +import org.dllearner.kb.sparql.configuration.SparqlQueryType; import org.dllearner.kb.sparql.datastructure.Node; -import org.dllearner.kb.sparql.old.oldSparqlOntologyCollector; import org.dllearner.utilities.StringTuple; /** Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/Manipulator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/Manipulator.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/Manipulator.java 2008-01-19 01:26:40 UTC (rev 396) @@ -36,23 +36,21 @@ * */ public class Manipulator { - public String subclass = "http://www.w3.org/2000/01/rdf-schema#subClassOf"; - public String type = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"; + public final String subclass = "http://www.w3.org/2000/01/rdf-schema#subClassOf"; + public final String type = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"; + final String objectProperty = "http://www.w3.org/2002/07/owl#ObjectProperty"; + final String classns = "http://www.w3.org/2002/07/owl#Class"; + final String thing = "http://www.w3.org/2002/07/owl#Thing"; + + public String blankNodeIdentifier = "bnode"; public int breakSuperClassRetrievalAfter=200; public LinkedList<StringTuple> replacePredicate; public LinkedList<StringTuple> replaceObject; - String objectProperty = "http://www.w3.org/2002/07/owl#ObjectProperty"; - String classns = "http://www.w3.org/2002/07/owl#Class"; - String thing = "http://www.w3.org/2002/07/owl#Thing"; - + Set<String> classproperties; - String[] defaultClasses = { "http://dbpedia.org/class/yago", - "http://dbpedia.org/resource/Category:", "http://dbpedia.org/resource/Template:", - "http://www.w3.org/2004/02/skos/core", "http://dbpedia.org/class/" }; - public Manipulator(String blankNodeIdentifier,int breakSuperClassRetrievalAfter,LinkedList<StringTuple> replacePredicate,LinkedList<StringTuple> replaceObject) { this.blankNodeIdentifier = blankNodeIdentifier; this.replaceObject=replaceObject; Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-01-19 01:26:40 UTC (rev 396) @@ -21,15 +21,14 @@ import java.io.File; import java.io.FileWriter; -import java.io.IOException; import java.net.MalformedURLException; import java.net.URI; import java.net.URL; import java.util.Collection; -import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; import java.util.Set; +import java.util.Vector; import org.dllearner.core.KnowledgeSource; import org.dllearner.core.OntologyFormat; @@ -45,7 +44,6 @@ import org.dllearner.core.dl.KB; import org.dllearner.kb.sparql.configuration.SparqlEndpoint; import org.dllearner.kb.sparql.configuration.SparqlQueryType; -import org.dllearner.kb.sparql.old.oldSparqlOntologyCollector; import org.dllearner.kb.sparql.query.SparqlQuery; import org.dllearner.parser.KBParser; import org.dllearner.reasoning.DIGConverter; @@ -85,7 +83,7 @@ private String role = ""; private String blankNodeIdentifier = "bnode"; - LinkedList<StringTuple> URIParameters = new LinkedList<StringTuple>(); + //LinkedList<StringTuple> URIParameters = new LinkedList<StringTuple>(); LinkedList<StringTuple> replacePredicate = new LinkedList<StringTuple>(); LinkedList<StringTuple> replaceObject = new LinkedList<StringTuple>(); @@ -276,14 +274,15 @@ // numberOfRecursions, filterMode, // Datastructures.setToArray(predList),Datastructures.setToArray( // objList),Datastructures.setToArray(classList),format,url,useLits); + Manager m = new Manager(); SparqlQueryType sqt = null; // get Options for Manipulator Manipulator man = new Manipulator(blankNodeIdentifier, breakSuperClassRetrievalAfter, replacePredicate, replaceObject); - HashMap<String, String> parameters = new HashMap<String, String>(); - parameters.put("default-graph-uri", "http://dbpedia.org"); - parameters.put("format", "application/sparql-results.xml"); + //HashMap<String, String> parameters = new HashMap<String, String>(); + //parameters.put("default-graph-uri", "http://dbpedia.org"); + //parameters.put("format", "application/sparql-results.xml"); // get Options for endpoints if (predefinedEndpoint >= 1) { @@ -296,10 +295,10 @@ // get Options for Filters if (predefinedFilter >= 1) { - sqt = SparqlQueryType.getFilter(predefinedFilter); + sqt = SparqlQueryType.getFilterByNumber(predefinedFilter); } else { - sqt = new SparqlQueryType("forbid", objList, predList, useLits + ""); + sqt = new SparqlQueryType("forbid", objList, predList, useLits ); } // give everything to the manager @@ -355,8 +354,7 @@ * * * Object[] arr=instances.toArray(); - * while(instances.size()>=30){ - * } + * while(instances.size()>=30){ } */ // add the role to the filter(a solution is always EXISTS // role.TOP) @@ -443,20 +441,23 @@ } /** - * TODO SparqlOntologyCollector needs to be removed * * @param label * @param limit */ public void calculateSubjects(String label, int limit) { System.out.println("SparqlModul: Collecting Subjects"); - oldSparqlOntologyCollector oc = new oldSparqlOntologyCollector(url); - try { - subjects = oc.getSubjectsFromLabel(label, limit); - } catch (IOException e) { - subjects = new String[1]; - subjects[0] = "[Error]Sparql Endpoint could not be reached."; - } + // oldSparqlOntologyCollector oc = new oldSparqlOntologyCollector(url); + // try { + Vector<String> v = (SparqlQuery.makeLabelQuery(label, limit, sse) + .getAsVector("subject")); + subjects = (String[]) v.toArray(new String[v.size()]); + // subjects = oc.getSubjectsFromLabel(label, limit); + // } catch (IOException e) { + // TODO I removed IOException, please check + // subjects = new String[1]; + // subjects[0] = "[Error]Sparql Endpoint could not be reached."; + // } System.out.println("SparqlModul: ****Finished"); } @@ -467,30 +468,44 @@ */ public void calculateTriples(String subject) { System.out.println("SparqlModul: Collecting Triples"); - oldSparqlOntologyCollector oc = new oldSparqlOntologyCollector(url); - try { - triples = oc.collectTriples(subject); - } catch (IOException e) { - triples = new String[1]; - triples[0] = "[Error]Sparql Endpoint could not be reached."; + Vector<StringTuple> v = (SparqlQuery.makeArticleQuery(subject, sse) + .getAsVectorOfTupels("predicate", "objcet")); + //String[] subjects = (String[]) v.toArray(new String[v.size()]); + String[] tmp = new String[v.size()]; + int i=0; + for (StringTuple stringTuple : v) { + tmp[i++]=stringTuple.a+"<"+stringTuple.b; } + triples=tmp; + //oldSparqlOntologyCollector oc = new oldSparqlOntologyCollector(url); + //try { + // triples = oc.collectTriples(subject); + //} catch (IOException e) { + // triples = new String[1]; + // triples[0] = "[Error]Sparql Endpoint could not be reached."; + //} System.out.println("SparqlModul: ****Finished"); } /** - * TODO SparqlOntologyCollector needs to be removed * + * * @param concept */ public void calculateConceptSubjects(String concept) { System.out.println("SparqlModul: Collecting Subjects"); - oldSparqlOntologyCollector oc = new oldSparqlOntologyCollector(url); - try { - conceptSubjects = oc.getSubjectsFromConcept(concept); - } catch (IOException e) { - conceptSubjects = new String[1]; - conceptSubjects[0] = "[Error]Sparql Endpoint could not be reached."; - } + Vector<String> v = (SparqlQuery.makeConceptQuery(concept, sse) + .getAsVector("subject")); + conceptSubjects = (String[]) v.toArray(new String[v.size()]); + + // oldSparqlOntologyCollector oc = new oldSparqlOntologyCollector(url); + // try { + // conceptSubjects = oc.getSubjectsFromConcept(concept); + // } catch (IOException e) { + // TODO I removed IOException, please check + // conceptSubjects = new String[1]; + // conceptSubjects[0] = "[Error]Sparql Endpoint could not be reached."; + // } System.out.println("SparqlModul: ****Finished"); } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryMaker.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryMaker.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryMaker.java 2008-01-19 01:26:40 UTC (rev 396) @@ -22,22 +22,16 @@ import org.dllearner.kb.sparql.configuration.SparqlQueryType; import org.dllearner.kb.sparql.old.oldSparqlFilter; - /** - * Can assemble sparql queries. + * Can assemble sparql queries. can make queries for subject, predicate, object + * according to the filter settings object not yet implemented * * @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 - * - * */ - + String lineend = "\n"; + boolean print_flag = false; private SparqlQueryType sparqlQueryType; public SparqlQueryMaker(SparqlQueryType SparqlQueryType) { @@ -45,49 +39,51 @@ } public String makeSubjectQueryUsingFilters(String subject) { - + String Filter = internalFilterAssemblySubject(); - String ret = "SELECT * WHERE { " + lineend + "<" + subject + "> ?predicate ?object. " - + lineend + "FILTER( " + lineend + "(" + Filter + ").}"; + String ret = "SELECT * WHERE { " + lineend + "<" + subject + + "> ?predicate ?object. " + lineend + "FILTER( " + lineend + + "(" + Filter + ").}"; // System.out.println(ret); - //System.out.println(sparqlQueryType.getPredicatefilterlist().length); + // 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 + ").}"; + 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) { - + + 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"; - + 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); + // System.out.println(ret); return ret; } private String internalFilterAssemblySubject() { - + String Filter = ""; if (!this.sparqlQueryType.isLiterals()) Filter += "!isLiteral(?object))"; @@ -101,7 +97,7 @@ } private String internalFilterAssemblyRole() { - + String Filter = ""; if (!this.sparqlQueryType.isLiterals()) Filter += "!isLiteral(?object))"; @@ -125,69 +121,65 @@ public static String filterObject(String ns) { return "&&( !regex(str(?object), '" + ns + "') )"; } - - public void p(String str){ - if(print_flag){ + + 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 + * creates a query with the specified filters for all 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); + 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); + 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); + + 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 + + /* + * moved to SparqlQuery TODO remove here 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 + * + * @Deprecated 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 + * + * + * moved to SparqlQuery TODO remove here + * @Deprecated public static String makeConceptQuery(String concept){ return + * "SELECT DISTINCT ?subject\n"+ "WHERE { ?subject a + * <"+concept+">}\n"; } moved to SparqlQuery TODO remove here + * @Deprecated public static String makeArticleQuery(String subject){ return + * "SELECT ?predicate,?object\n"+ "WHERE { <"+subject+"> + * ?predicate ?object}\n"; } */ - 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 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java 2008-01-19 01:26:40 UTC (rev 396) @@ -19,23 +19,12 @@ */ package org.dllearner.kb.sparql; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.net.HttpURLConnection; import java.net.URI; -import java.net.URLEncoder; import java.util.HashSet; -import java.util.Iterator; import java.util.Set; import org.dllearner.kb.sparql.configuration.Configuration; -import org.dllearner.kb.sparql.configuration.SparqlEndpoint; import org.dllearner.kb.sparql.query.Cache; -import org.dllearner.kb.sparql.query.CachedSparqlQuery; import org.dllearner.kb.sparql.query.SparqlQuery; import org.dllearner.utilities.StringTuple; @@ -52,7 +41,7 @@ // private SparqlHTTPRequest SparqlHTTPRequest; private SparqlQueryMaker sparqlQueryMaker; // private SparqlQuery sparqlQuery; - private CachedSparqlQuery cachedSparqlQuery; + //private CachedSparqlQuery cachedSparqlQuery; Cache cache; public TypedSparqlQuery(Configuration Configuration) { Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQueryClasses.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQueryClasses.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQueryClasses.java 2008-01-19 01:26:40 UTC (rev 396) @@ -19,10 +19,8 @@ */ package org.dllearner.kb.sparql; -import java.io.IOException; import java.net.URI; import java.util.HashSet; -import java.util.LinkedHashSet; import java.util.Set; import org.dllearner.kb.sparql.configuration.Configuration; @@ -181,7 +179,7 @@ } private String sendAndReceiveSPARQL(String sparql) { - LinkedHashSet l = new LinkedHashSet<String>(); + return new SparqlQuery(sparql, configuration.getSparqlEndpoint()) .getAsXMLString(); Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/Configuration.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/Configuration.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/Configuration.java 2008-01-19 01:26:40 UTC (rev 396) @@ -33,7 +33,7 @@ * see the other classes, which are used as attributes here * */ - private SparqlEndpoint specificSparqlEndpoint; + private SparqlEndpoint endpoint; private SparqlQueryType sparqlQueryType; private Manipulator manipulator; // the following needs to be moved to @@ -47,7 +47,7 @@ public Configuration(SparqlEndpoint specificSparqlEndpoint, SparqlQueryType sparqlQueryType, Manipulator manipulator, int recursiondepth, boolean getAllSuperClasses, boolean closeAfterRecursion) { - this.specificSparqlEndpoint = specificSparqlEndpoint; + this.endpoint = specificSparqlEndpoint; this.sparqlQueryType = sparqlQueryType; this.manipulator = manipulator; this.recursiondepth = recursiondepth; @@ -58,7 +58,7 @@ public Configuration changeQueryType(SparqlQueryType sqt) { // TODO must clone here - return new Configuration(this.specificSparqlEndpoint, sqt, this.manipulator, + return new Configuration(this.endpoint, sqt, this.manipulator, this.recursiondepth, this.getAllSuperClasses,this.closeAfterRecursion); } @@ -68,7 +68,7 @@ } public SparqlEndpoint getSparqlEndpoint() { - return specificSparqlEndpoint; + return endpoint; } public SparqlQueryType getSparqlQueryType() { Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/SparqlEndpoint.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/SparqlEndpoint.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/SparqlEndpoint.java 2008-01-19 01:26:40 UTC (rev 396) @@ -64,17 +64,19 @@ public static SparqlEndpoint getEndpointByNumber(int i) { switch (i) { - case 0: + case 0:break; + //should not be filled + case 1: return dbpediaEndpoint(); - case 1: + case 2: return localJoseki(); - case 2: + case 3: return govTrack(); - case 3: + case 4: return revyu(); - case 4: + case 5: return myopenlink(); - case 5: + case 6: return worldFactBook(); } return null; Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/SparqlQueryType.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/SparqlQueryType.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/SparqlQueryType.java 2008-01-19 01:26:40 UTC (rev 396) @@ -29,20 +29,13 @@ * */ public class SparqlQueryType { - // TODO make sets out of them - private String mode = "forbid"; - private String[] objectfilterlist = { "http://dbpedia.org/resource/Category:Articles_", - "http://dbpedia.org/resource/Category:Wikipedia_", "http://xmlns.com/foaf/0.1/", - "http://dbpedia.org/resource/Category", "http://dbpedia.org/resource/Template", - "http://upload.wikimedia.org/wikipedia/commons" }; - private String[] predicatefilterlist = { "http://www.w3.org/2004/02/skos/core", - "http://xmlns.com/foaf/0.1/", "http://dbpedia.org/property/wikipage-", - "http://www.w3.org/2002/07/owl#sameAs", "http://dbpedia.org/property/reference" }; + private Set<String> objectfilterlist; + private Set<String> predicatefilterlist; private boolean literals = false; - public SparqlQueryType(String mode, String[] obectfilterlist, String[] predicatefilterlist, + public SparqlQueryType(String mode, Set<String> obectfilterlist, Set<String> predicatefilterlist, boolean literals) { super(); this.mode = mode; @@ -51,25 +44,6 @@ this.literals = literals; } - public SparqlQueryType(String mode, Set<String> objectfilterlist, - Set<String> predicatefilterlist, String literals) { - super(); - this.mode = mode; - this.literals = (literals.equals("true")) ? true : false; - - Object[] arr = objectfilterlist.toArray(); - Object[] arr2 = predicatefilterlist.toArray(); - this.objectfilterlist = new String[arr.length]; - this.predicatefilterlist = new String[arr2.length]; - for (int i = 0; i < arr.length; i++) { - this.objectfilterlist[i] = (String) arr[i]; - } - for (int i = 0; i < arr2.length; i++) { - this.predicatefilterlist[i] = (String) arr2[i]; - } - - } - public boolean isLiterals() { return literals; } @@ -78,30 +52,24 @@ return mode; } - public String[] getObjectfilterlist() { + public Set<String> getObjectfilterlist() { return objectfilterlist; } - public String[] getPredicatefilterlist() { + public Set<String> getPredicatefilterlist() { return predicatefilterlist; } public void addPredicateFilter(String filter) { - String[] tmp = new String[predicatefilterlist.length + 1]; - int i = 0; - for (; i < predicatefilterlist.length; i++) { - tmp[i] = predicatefilterlist[i]; - //System.out.println(tmp[i]); - } - tmp[i] = filter; - predicatefilterlist=tmp; + predicatefilterlist.add(filter); //System.out.println("added filter: "+filter); - } - public static SparqlQueryType getFilter(int i) { + public static SparqlQueryType getFilterByNumber(int i) { switch (i) { + case 0:break; + //should not be filled case 1: return YagoFilter(); case 2: @@ -126,7 +94,7 @@ pred.add("http://dbpedia.org/property/wikipage"); pred.add("http://dbpedia.org/property/wikiPageUsesTemplate"); pred.add("http://dbpedia.org/property/relatedInstance"); - + Set<String> obj = new HashSet<String>(); //obj.add("http://dbpedia.org/resource/Category:Wikipedia_"); //obj.add("http://dbpedia.org/resource/Category:Articles_"); @@ -140,7 +108,7 @@ obj.add("http://www4.wiwiss.fu-berlin.de/flickrwrappr"); obj.add("http://www.w3.org/2004/02/skos/core"); - return new SparqlQueryType("forbid", obj, pred, "false"); + return new SparqlQueryType("forbid", obj, pred, false); } public static SparqlQueryType YagoSpecialHierarchy(){ Set<String> pred = new HashSet<String>(); @@ -168,7 +136,7 @@ obj.add("http://www4.wiwiss.fu-berlin.de/flickrwrappr"); obj.add("http://www.w3.org/2004/02/skos/core"); - return new SparqlQueryType("forbid", obj, pred, "false"); + return new SparqlQueryType("forbid", obj, pred, false); } @@ -200,7 +168,7 @@ obj.add("http://dbpedia.org/resource/Template"); - return new SparqlQueryType("forbid", obj, pred, "false"); + return new SparqlQueryType("forbid", obj, pred, false); } public static SparqlQueryType YAGOSKOS(){ Set<String> pred = new HashSet<String>(); @@ -230,7 +198,7 @@ obj.add("http://dbpedia.org/resource/Template"); - return new SparqlQueryType("forbid", obj, pred, "false"); + return new SparqlQueryType("forbid", obj, pred, false); } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/ClassNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/ClassNode.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/ClassNode.java 2008-01-19 01:26:40 UTC (rev 396) @@ -39,18 +39,17 @@ public ClassNode(URI u) { super(u); - this.type = "class"; + // this.type = "class"; } - //expands all directly connected nodes + // expands all directly connected nodes @Override public Vector<Node> expand(TypedSparqlQueryInterface tsq, Manipulator m) { + Set<StringTuple> s = tsq.query(this.uri); // see manipulator s = m.check(s, this); Vector<Node> Nodes = new Vector<Node>(); - - Iterator<StringTuple> it = s.iterator(); while (it.hasNext()) { StringTuple t = (StringTuple) it.next(); @@ -58,7 +57,8 @@ // substitute rdf:type with owl:subclassof if (t.a.equals(m.type) || t.a.equals(m.subclass)) { ClassNode tmp = new ClassNode(new URI(t.b)); - properties.add(new PropertyNode(new URI(m.subclass), this, tmp)); + properties.add(new PropertyNode(new URI(m.subclass), this, + tmp)); Nodes.add(tmp); } else { // further expansion stops here @@ -67,7 +67,7 @@ properties.add(new PropertyNode(new URI(t.a), this, tmp)); // System.out.println(m.blankNodeIdentifier); // System.out.println("XXXXX"+t.b); - + // if o is a blank node expand further if (t.b.startsWith(m.blankNodeIdentifier)) { tmp.expand(tsq, m); @@ -87,29 +87,26 @@ // gets the types for properties recursively @Override - public Vector<Node> expandProperties(TypedSparqlQueryInterface tsq, Manipulator m) { - // TODO return type doesn't make sense - return new Vector<Node>(); + public void expandProperties(TypedSparqlQueryInterface tsq, Manipulator m) { } @Override public Set<String> toNTriple() { Set<String> s = new HashSet<String>(); - s.add("<" + this.uri + "><" + "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" + "><" - + "http://www.w3.org/2002/07/owl#Class" + ">."); + s.add("<" + this.uri + "><" + rdftype + "><" + classns + ">."); for (PropertyNode one : properties) { - s.add("<" + this.uri + "><" + one.getURI() + "><" + one.getB().getURI() + ">."); + s.add("<" + this.uri + "><" + one.getURI() + "><" + + one.getB().getURI() + ">."); s.addAll(one.getB().toNTriple()); } return s; } - + @Override - public int compareTo(Node n){ + public int compareTo(Node n) { return super.compareTo(n); - // } } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/InstanceNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/InstanceNode.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/InstanceNode.java 2008-01-19 01:26:40 UTC (rev 396) @@ -33,7 +33,7 @@ * A node in the graph that is an instance. * * @author Sebastian Hellmann - * + * */ public class InstanceNode extends Node { @@ -43,11 +43,11 @@ public InstanceNode(URI u) { super(u); - this.type = "instance"; + // this.type = "instance"; } - //expands all directly connected nodes + // expands all directly connected nodes @Override public Vector<Node> expand(TypedSparqlQueryInterface tsq, Manipulator m) { @@ -85,34 +85,33 @@ // gets the types for properties recursively @Override - public Vector<Node> expandProperties(TypedSparqlQueryInterface tsq, Manipulator m) { + public void expandProperties(TypedSparqlQueryInterface tsq, Manipulator m) { for (PropertyNode one : properties) { one.expandProperties(tsq, m); } - return new Vector<Node>(); + } @Override public Set<String> toNTriple() { Set<String> s = new HashSet<String>(); - s.add("<" + uri + "><" + "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" + "><" - + "http://www.w3.org/2002/07/owl#Thing" + ">."); + s.add("<" + uri + "><" + rdftype + "><" + thing + ">."); for (ClassNode one : classes) { - s.add("<" + uri + "><" + "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" + "><" - + one.getURI() + ">."); + s.add("<" + uri + "><" + rdftype + "><" + one.getURI() + ">."); s.addAll(one.toNTriple()); } for (PropertyNode one : properties) { - s.add("<" + uri + "><" + one.getURI() + "><" + one.getB().getURI() + ">."); + s.add("<" + uri + "><" + one.getURI() + "><" + one.getB().getURI() + + ">."); s.addAll(one.toNTriple()); s.addAll(one.getB().toNTriple()); } return s; } - + @Override - public int compareTo(Node n){ + public int compareTo(Node n) { return super.compareTo(n); // } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/Node.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/Node.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/Node.java 2008-01-19 01:26:40 UTC (rev 396) @@ -30,37 +30,73 @@ * Abstract class. * * @author Sebastian Hellmann + * + */ +/** + * @author sebastian * */ public abstract class Node implements Comparable<Node> { + + final String subclass = "http://www.w3.org/2000/01/rdf-schema#subClassOf"; + final String rdftype = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"; + final String objectProperty = "http://www.w3.org/2002/07/owl#ObjectProperty"; + final String classns = "http://www.w3.org/2002/07/owl#Class"; + final String thing = "http://www.w3.org/2002/07/owl#Thing"; + URI uri; - protected String type; + //protected String type; protected boolean expanded = false; public Node(URI u) { this.uri = u; } - public abstract Vector<Node> expand(TypedSparqlQueryInterface tsq, Manipulator m); + /** + * Nodes are expanded with a certain context, given by + * the typedSparqlQuery and the manipulator + * @param typedSparqlQuery + * @param manipulator + * @return Vector<Node> all Nodes that are new because of expansion + */ + public abstract Vector<Node> expand(TypedSparqlQueryInterface typedSparqlQuery, + Manipulator manipulator); - public abstract Vector<Node> expandProperties(TypedSparqlQueryInterface tsq, Manipulator m); + + /** + * used to get type defs for properties like rdf:type SymmetricProperties + * + * @param typedSparqlQuery + * @param manipulator + * @return Vector<Node> + */ + public abstract void expandProperties( + TypedSparqlQueryInterface typedSparqlQuery, Manipulator manipulator); + /** + * output + * @return a set of n-triple + */ public abstract Set<String> toNTriple(); @Override public String toString() { - return "Node: " + uri + ":" + type; + return "Node: " + uri + ":" + this.getClass(); } public URI getURI() { return uri; } - public boolean equals(Node n){ - if(this.uri.equals(n.uri))return true; - else return false; + + public boolean equals(Node n) { + if (this.uri.equals(n.uri)) + return true; + else + return false; } - public int compareTo(Node n){ + + public int compareTo(Node n) { return this.uri.toString().compareTo(n.uri.toString()); } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/PropertyNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/PropertyNode.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/datastructure/PropertyNode.java 2008-01-19 01:26:40 UTC (rev 396) @@ -30,11 +30,19 @@ import org.dllearner.utilities.StringTuple; /** - * Property node. + * Property node, has connection to a and b part * * @author Sebastian Hellmann * */ +/** + * @author sebastian + * + */ +/** + * @author sebastian + * + */ public class PropertyNode extends Node { // the a and b part of a property @@ -43,25 +51,27 @@ // specialtypes like owl:symmetricproperty private Set<String> specialTypes; - public PropertyNode(URI u) { - super(u); - this.type = "property"; - - } - public PropertyNode(URI u, Node a, Node b) { super(u); - this.type = "property"; + //this.type = "property"; this.a = a; this.b = b; this.specialTypes = new HashSet<String>(); } + + // Property Nodes are normally not expanded, + // this function is never called @Override public Vector<Node> expand(TypedSparqlQueryInterface tsq, Manipulator m) { + return null; + } + + // gets the types for properties recursively + @Override + public void expandProperties(TypedSparqlQueryInterface tsq, Manipulator m) { + b.expandProperties(tsq, m); Set<StringTuple> s = tsq.query(uri); - Vector<Node> Nodes = new Vector<Node>(); - // Manipulation Iterator<StringTuple> it = s.iterator(); while (it.hasNext()) { @@ -76,16 +86,10 @@ } } - return Nodes; + + } - // gets the types for properties recursively - @Override - public Vector<Node> expandProperties(TypedSparqlQueryInterface tsq, Manipulator m) { - b.expandProperties(tsq, m); - return this.expand(tsq, m); - } - public Node getA() { return a; } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/old/SparqlQueryConventional.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/old/SparqlQueryConventional.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/old/SparqlQueryConventional.java 2008-01-19 01:26:40 UTC (rev 396) @@ -7,9 +7,6 @@ import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; -import java.net.URLEncoder; -import java.util.Iterator; -import java.util.Set; import org.dllearner.kb.sparql.configuration.SparqlEndpoint; 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 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/old/oldSparqlOntologyCollector.java 2008-01-19 01:26:40 UTC (rev 396) @@ -130,6 +130,7 @@ return ret; } + /* public String[] collectTriples(String subject) throws IOException{ System.out.println("Searching for Article: "+subject); String sparql=SparqlQueryMaker.makeArticleQuery(subject); @@ -148,6 +149,7 @@ return processArticle(xml); } + */ public String[] processArticle(String xml) { @@ -180,7 +182,7 @@ return vec.toArray(ret); } - public String[] getSubjectsFromLabel(String label, int limit) throws IOException{ + /*public String[] getSubjectsFromLabel(String label, int limit) throws IOException{ System.out.println("Searching for Label: "+label); String sparql=SparqlQueryMaker.makeLabelQuery(label,limit); String FromCache=cache.get(label, sparql); @@ -197,9 +199,9 @@ } return processSubjects(xml); - } + }*/ - public String[] getSubjectsFromConcept(String concept) throws IOException + /*public String[] getSubjectsFromConcept(String concept) throws IOException { System.out.println("Searching for Subjects of type: "+concept); String sparql=SparqlQueryMaker.makeConceptQuery(concept); @@ -217,13 +219,14 @@ } return processSubjects(xml); - } + }*/ /** * calls getRecursive for each subject in list * @param subjects * @param NumberofRecursions */ + public void getRecursiveList(String[] subjects,int NumberofRecursions) throws IOException{ for (int i = 0; i < subjects.length; i++) { getRecursive(subjects[i], NumberofRecursions); @@ -236,6 +239,7 @@ * @param StartingSubject * @param NumberofRecursions */ + public void getRecursive(String StartingSubject,int NumberofRecursions) throws IOException{ System.out.print("SparqlModul: Depth: "+NumberofRecursions+" @ "+StartingSubject+" "); if(NumberofRecursions<=0) Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/query/CachedSparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/query/CachedSparqlQuery.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/query/CachedSparqlQuery.java 2008-01-19 01:26:40 UTC (rev 396) @@ -2,6 +2,13 @@ import org.dllearner.kb.sparql.configuration.SparqlEndpoint; +/** + * Does the same as SparqlQuery, but uses the cache. key should be an uri or + * something that can be mapped to a file see cache + * + * @author Jens Lehmann + * + */ public class CachedSparqlQuery { String key; @@ -11,19 +18,29 @@ SparqlQuery sparqlQuery; boolean debug_no_cache = false; - public CachedSparqlQuery(SparqlEndpoint e, Cache c, String key, + /** + * key should be an uri or something that can be mapped to a file see cache + * + * @param endpoint + * @param cache + * @param key + * @param queryString + */ + public CachedSparqlQuery(SparqlEndpoint endpoint, Cache cache, String key, String queryString) { - this.endpoint = e; - this.cache = c; + this.endpoint = endpoint; + this.cache = cache; this.key = key; this.queryString = queryString; - this.sparqlQuery = new SparqlQuery(queryString, e); + this.sparqlQuery = new SparqlQuery(queryString, endpoint); } - // URI u, String sparql - @Deprecated - public String send() { - + /** + * sends a query and returns XML using cache + * + * @return String xml + */ + public String getAsXMLString() { String FromCache = cache.get(key, queryString); if (debug_no_cache) { FromCache = null; Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQuery.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQuery.java 2008-01-19 01:26:40 UTC (rev 396) @@ -35,7 +35,7 @@ import com.hp.hpl.jena.sparql.core.ResultBinding; /** - * Represents a SPARQL query. It includes support for stopping the SPARQL query + * Represents one SPARQL query. It includes support for stopping the SPARQL query * (which may be necessary if a timeout is reached). * * @author Jens Lehmann @@ -49,17 +49,33 @@ private QueryExecution queryExecution; SparqlEndpoint endpoint; - public SparqlQuery(String queryString, URL u) { + /** + * simplest contructor, works only with some endpoints, + * not with DBpedia + * @param queryString + * @param url + */ + public SparqlQuery(String queryString, URL url) { this.queryString = queryString; - this.endpoint = new SparqlEndpoint(u); + this.endpoint = new SparqlEndpoint(url); } - public SparqlQuery(String queryString, SparqlEndpoint se) { + /** + * standard constructor + * @param queryString + * @param endpoint + */ + public SparqlQuery(String queryString, SparqlEndpoint endpoint) { this.queryString = queryString; - this.endpoint = se; + this.endpoint = endpoint; } - public ResultSet send() { + + /** + * method used for sending over Jena + * @return jena ResultSet + */ + protected ResultSet send() { isRunning = true; p(queryString); @@ -88,16 +104,35 @@ return isRunning; } + /** + * sends a query and returns XML + * + * @return String xml + */ public String getAsXMLString() { ResultSet rs = send(); return ResultSetFormatter.asXMLString(rs); } + /** + * sends a query and returns complicated Jena List with ResultBindings + * + * + * @return jena List<ResultBinding> + */ public List<ResultBinding> getAsList() { ResultSet rs = send(); return ResultSetFormatter.toList(rs); } + + /** + * sends a query and returns the results for variable + * TODO untested and not used, feel free to change + * varName as Vector<String> + * @param varName + * @return Vector<String> + */ public Vector<String> getAsVector(String varName) { ResultSet rs = send(); Vector<String> vret = new Vector<String>(); @@ -108,6 +143,15 @@ return vret; } + /** + * sends a query and returns the results for two variables + * ex: getAsVectorOfTupels("predicate", "object") + * TODO untested and not used, feel free to change + * + * @param varName1 + * @param varName2 + * @return Vector<StringTuple> + */ public Vector<StringTuple> getAsVectorOfTupels(String varName1, String varName2) { ResultSet rs = send(); @@ -120,7 +164,13 @@ return vret; } - @Deprecated + + /** + * sends a query and returns the results for n variables + * TODO not working, finish + * @param varNames + * @return Vector<Vector<String>> + */ public Vector<Vector<String>> getAsVectorOfVectors(Vector<String> varNames) { // ResultSet rs = send(); Vector<Vector<String>> vret = new Vector<Vector<String>>(); @@ -138,6 +188,48 @@ * public Model asJenaModel(){ ResultSet rs=send(); return * ResultSetFormatter.toModel(rs); } */ + + /** + * 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 + * @param endpoint a SparqlEndpoint + * @return SparqlQuery + */ + public static SparqlQuery makeLabelQuery(String label,int limit,SparqlEndpoint endpoint){ + //TODO maybe use http://xmlns:com/foaf/0.1/page + String queryString= + "SELECT DISTINCT ?subject\n"+ + "WHERE { ?subject <http://www.w3.org/2000/01/rdf-schema#label> ?object.?object bif:contains '\""+label+"\"'@en}\n"+ + "LIMIT "+limit; + return new SparqlQuery( queryString,endpoint); + } + + /** + * creates a query for all subjects that are of the type concept + * @param concept the type that subjects are searched for + * @param endpoint a SparqlEndpoint + * @return SparqlQuery + */ + public static SparqlQuery makeConceptQuery(String concept, SparqlEndpoint endpoint){ + String queryString = + "SELECT DISTINCT ?subject\n"+ + "WHERE { ?subject a <"+concept+">}\n"; + return new SparqlQuery( queryString,endpoint); + } + + /** + * @param subject + * @param endpoint a SparqlEndpoint + * @return SparqlQuery + */ + public static SparqlQuery makeArticleQuery(String subject,SparqlEndpoint endpoint){ + String queryString = + "SELECT ?predicate,?object\n"+ + "WHERE { <"+subject+"> ?predicate ?object}\n"; + return new SparqlQuery( queryString,endpoint); + } + public void p(String str) { if (print_flag) { Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/test/Test.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/test/Test.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/test/Test.java 2008-01-19 01:26:40 UTC (rev 396) @@ -26,7 +26,7 @@ import org.dllearner.kb.sparql.Manager; /** - * Test class. + * Test class, uses the whole thing * * @author Sebastian Hellmann * Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/test/TestResultSet.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/test/TestResultSet.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/test/TestResultSet.java 2008-01-19 01:26:40 UTC (rev 396) @@ -27,20 +27,12 @@ import java.util.List; import org.dllearner.kb.sparql.configuration.SparqlEndpoint; -import org.dllearner.kb.sparql.old.SparqlQueryConventional; import org.dllearner.kb.sparql.query.SparqlQuery; import com.hp.hpl.jena.sparql.core.ResultBinding; public class TestResultSet { - // this is a working Jena script - // TODO: query runtime seems to be much too high (compared to running it in - // http://dbpedia.org/sparql) - // verify whether our SPARQL query implementation is faster and why; - // TODO: check whether Jena works with the other endpoints in - // PredefinedEndpoint; if not - // check whether it can be configured to run with these public static void main(String[] args) { String queryString = "PREFIX dbpedia2: <http://dbpedia.org/property/> " @@ -69,7 +61,7 @@ return ""; } - public static void testSaving(List l) { + public static void testSaving(List<ResultBinding> l) { System.out.println(l + "\n****************************"); try { // FileWriter fw=new FileWriter(new File(Filename),true); @@ -96,8 +88,8 @@ SparqlEndpoint sse = SparqlEndpoint.dbpediaEndpoint(); SparqlQuery sqJena = new SparqlQuery(queryString, sse); - SparqlQueryConventional sqConv = new SparqlQueryConventional(sse); - + //SparqlQueryConventional sqConv = new SparqlQueryConventional(sse); + // first query is not counted long now = System.currentTimeMillis(); long tmp = now; @@ -142,10 +134,10 @@ public static void compareResults(String queryString) { SparqlEndpoint sse = SparqlEndpoint.dbpediaEndpoint(); SparqlQuery sqJena = new SparqlQuery(queryString, sse); - SparqlQueryConventional sqConv = new SparqlQueryConventional(sse); + // SparqlQueryConventional sqConv = new SparqlQueryConventional(sse); System.out.println(sqJena.getAsXMLString()); - System.out.println(sqConv.getAsXMLString(queryString)); + //System.out.println(sqConv.getAsXMLString(queryString)); } } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/test/TestSparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/test/TestSparqlQuery.java 2008-01-18 23:21:56 UTC (rev 395) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/test/TestSparqlQuery.java 2008-01-19 01:26:40 UTC (rev 396) @@ -20,30 +20,11 @@ package org.dllearner.kb.sparql.test; import org.dllearner.kb.sparql.configuration.SparqlEndpoint; -import org.dllearner.kb.sparql.old.SparqlQueryConventional; import org.dllearner.kb.sparql.query.SparqlQuery; -/** - * Represents a SPARQL query. It includes support for stopping the SPARQL query - * (which may be necessary if a timeout is reached). - * - * TODO: It is probably good to change all SPARQL query calls to use only this - * class. - * - * TODO: Could we use Jena as a solid foundation here? (com.hp.jena.query) - * - * @author Jens Lehmann - * - */ + public class TestSparqlQuery { - // this is a working Jena script - // TODO: query runtime seems to be much too high (compared to running it in - // http://dbpedia.org/sparql) - // verify whether our SPARQL query implementation is faster and why; - // TODO: check whether Jena works with the other endpoints in - // PredefinedEndpoint; if not - // check whether it can be configured to run with these public static void main(String[] args) { String queryString = "PREFIX dbpedia2: <http://dbpedia.org/property/> " @@ -61,7 +42,7 @@ public static void testTime(int howOften, String queryString) { SparqlEndpoint sse = SparqlEndpoint.dbpediaEndpoint(); SparqlQuery sqJena = new SparqlQuery(queryString, sse); - SparqlQueryConventional sqConv = new SparqlQueryConventional(sse); + //SparqlQueryConventional sqConv = new SparqlQueryConventional(sse); // first query is not counted sqJena.getAsList(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |