From: <ku...@us...> - 2008-01-23 12:41:09
|
Revision: 420 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=420&view=rev Author: kurzum Date: 2008-01-23 04:41:04 -0800 (Wed, 23 Jan 2008) Log Message: ----------- integrated cache component works Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/sparql/ExtractionAlgorithm.java trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.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/SparqlQueryType.java trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQuery.java Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/ExtractionAlgorithm.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/ExtractionAlgorithm.java 2008-01-23 12:13:23 UTC (rev 419) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/ExtractionAlgorithm.java 2008-01-23 12:41:04 UTC (rev 420) @@ -43,7 +43,7 @@ private boolean print_flag = false; public ExtractionAlgorithm(Configuration Configuration) { - // this.configuration = Configuration; + this.configuration = Configuration; this.manipulator = Configuration.getManipulator(); this.recursionDepth = Configuration.getRecursiondepth(); // this.getAllSuperClasses = Configuration.isGetAllSuperClasses(); @@ -71,8 +71,12 @@ * @return */ public Node expandNode(URI uri, TypedSparqlQuery typedSparqlQuery) { + //System.out.println(uri.toString()); + //System.out.println(manipulator); + //System.out.println(this.configuration); long time = System.currentTimeMillis(); Node n = getFirstNode(uri); + System.out.println(n); Vector<Node> v = new Vector<Node>(); v.add(n); p("StartVector: " + v); @@ -85,12 +89,11 @@ Node tmpNode = v.remove(0); p("Expanding " + tmpNode); // System.out.println(this.Manipulator); - // these are the new not expanded nodes // the others are saved in connection with the original node Vector<Node> tmpVec = tmpNode.expand(typedSparqlQuery, manipulator); - + //System.out.println(tmpVec); tmp.addAll(tmpVec); } v = tmp; @@ -101,6 +104,8 @@ } HashSet<String> hadAlready = new HashSet<String>(); + p("Get all superclasses"); + //p(configuration.toString()); // gets All Class Nodes and expands them further if (this.configuration.isGetAllSuperClasses()) { // Set<Node> classes = new TreeSet<Node>(); Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java 2008-01-23 12:13:23 UTC (rev 419) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/Manager.java 2008-01-23 12:41:04 UTC (rev 420) @@ -49,6 +49,7 @@ this.configuration = new Configuration(SparqlEndpoint, SparqlQueryType, manipulator, recursiondepth, getAllSuperClasses, closeAfterRecursion); + //System.out.println(this.configuration); this.typedSparqlQuery = new TypedSparqlQuery(configuration); this.extractionAlgorithm = new ExtractionAlgorithm(configuration); Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java 2008-01-23 12:13:23 UTC (rev 419) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQuery.java 2008-01-23 12:41:04 UTC (rev 420) @@ -21,6 +21,7 @@ import java.net.URI; import java.util.HashSet; +import java.util.List; import java.util.Set; import org.dllearner.kb.sparql.configuration.Configuration; @@ -29,6 +30,10 @@ import org.dllearner.kb.sparql.query.SparqlQuery; import org.dllearner.utilities.StringTuple; +import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.query.ResultSetFormatter; +import com.hp.hpl.jena.sparql.core.ResultBinding; + /** * Can execute different queries. * @@ -71,9 +76,10 @@ * normally object * @return */ - + @SuppressWarnings({"unchecked"}) public Set<StringTuple> getTupelForResource(URI uri) { - // TODO remove + Set<StringTuple> s = new HashSet<StringTuple>(); + String a = "predicate"; String b = "object"; // getQuery @@ -83,16 +89,18 @@ CachedSparqlQuery csq = new CachedSparqlQuery(configuration .getSparqlEndpoint(), cache, uri.toString(), sparqlQueryString); - String xml = csq.getAsXMLString(); - // TODO needs to be changed to new format - Set<StringTuple> s = processResult(xml, a, b); - try { - // System.out.println("retrieved " + s.size() + " tupels\n"); - } catch (Exception e) { + + // TODO optimize + ResultSet rs = csq.getAsResultSet(); + + List<ResultBinding> l = ResultSetFormatter.toList(rs); + p(l.toString()); + for (ResultBinding resultBinding : l) { + + s.add(new StringTuple(resultBinding.get(a).toString(), + resultBinding.get(b).toString())); } return s; - // return cachedSparql(u, sparql, "predicate", "object"); - } /*@Deprecated Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQueryClasses.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQueryClasses.java 2008-01-23 12:13:23 UTC (rev 419) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/TypedSparqlQueryClasses.java 2008-01-23 12:41:04 UTC (rev 420) @@ -20,12 +20,18 @@ package org.dllearner.kb.sparql; import java.net.URI; +import java.util.HashSet; +import java.util.List; import java.util.Set; import org.dllearner.kb.sparql.configuration.Configuration; import org.dllearner.kb.sparql.query.CachedSparqlQuery; import org.dllearner.utilities.StringTuple; +import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.query.ResultSetFormatter; +import com.hp.hpl.jena.sparql.core.ResultBinding; + /** * Can execute different queries. * @@ -46,8 +52,9 @@ * @see org.dllearner.kb.sparql.TypedSparqlQuery#getTupelForResource(java.net.URI) */ @Override + @SuppressWarnings({"unchecked"}) public Set<StringTuple> getTupelForResource(URI uri) { - // TODO remove + Set<StringTuple> s = new HashSet<StringTuple>(); String a = "predicate"; String b = "object"; // getQuery for all super classes of classes only @@ -60,16 +67,15 @@ CachedSparqlQuery csq = new CachedSparqlQuery(configuration .getSparqlEndpoint(), cache, uri.toString(), sparqlQueryString); - String xml = csq.getAsXMLString(); - // TODO needs to be changed to new format - Set<StringTuple> s = processResult(xml, a, b); - try { - // System.out.println("retrieved " + s.size() + " tupels\n"); - } catch (Exception e) { + // TODO optimize + ResultSet rs = csq.getAsResultSet(); + List<ResultBinding> l = ResultSetFormatter.toList(rs); + for (ResultBinding resultBinding : l) { + + s.add(new StringTuple(resultBinding.get(a).toString(), + resultBinding.get(b).toString())); } return s; - // return cachedSparql(u, sparql, "predicate", "object"); - } } 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-23 12:13:23 UTC (rev 419) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/configuration/SparqlQueryType.java 2008-01-23 12:41:04 UTC (rev 420) @@ -78,6 +78,8 @@ return YAGOSKOS(); case 4: return YagoSpecialHierarchy(); + case 5: + return test(); } return null; } @@ -88,7 +90,6 @@ pred.add("http://www.w3.org/2004/02/skos/core"); pred.add("http://www.w3.org/2002/07/owl#sameAs"); pred.add("http://xmlns.com/foaf/0.1/"); - pred.add("http://dbpedia.org/property/reference"); pred.add("http://dbpedia.org/property/website"); pred.add("http://dbpedia.org/property/wikipage"); @@ -201,7 +202,33 @@ return new SparqlQueryType("forbid", obj, pred, false); } + public static SparqlQueryType test(){ + Set<String> pred = new HashSet<String>(); + pred.add("http://www.w3.org/2004/02/skos/core"); + pred.add("http://www.w3.org/2002/07/owl#sameAs"); + pred.add("http://xmlns.com/foaf/0.1/"); + //pred.add("http://dbpedia.org/property/reference"); + //pred.add("http://dbpedia.org/property/website"); + //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_"); + obj.add("http://dbpedia.org/resource/Category:"); + obj.add("http://dbpedia.org/resource/Template"); + obj.add("http://xmlns.com/foaf/0.1/"); + obj.add("http://upload.wikimedia.org/wikipedia/commons"); + obj.add("http://upload.wikimedia.org/wikipedia"); + obj.add("http://www.geonames.org"); + obj.add("http://www.w3.org/2006/03/wn/wn20/instances/synset"); + 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); + } + } 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-23 12:13:23 UTC (rev 419) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/query/SparqlQuery.java 2008-01-23 12:41:04 UTC (rev 420) @@ -88,16 +88,21 @@ p(queryString); // create a query and parse it into Jena Query query = QueryFactory.create(queryString); - // query.validate(); + query.validate(); String service = endpoint.getURL().toString(); + p(endpoint.getURL().toString()); // Jena access to SPARQL endpoint QueryExecution queryExecution = QueryExecutionFactory.sparqlService( service, query, endpoint.getDefaultGraphURIs(), endpoint .getNamedGraphURIs()); p("query SPARQL server"); + + ResultSet rs = queryExecution.execSelect(); + p(rs.getResultVars().toString()); + //p(ResultSetFormatter.asXMLString(rs)); return rs; } @@ -170,6 +175,7 @@ * @return Vector<String> */ @SuppressWarnings({"unchecked"}) + @Deprecated public Vector<String> getAsVector(String varName) { ResultSet rs = send(); Vector<String> vret = new Vector<String>(); @@ -190,6 +196,7 @@ * @return Vector<StringTuple> */ @SuppressWarnings({"unchecked"}) + @Deprecated public Vector<StringTuple> getAsVectorOfTupels(String varName1, String varName2) { ResultSet rs = send(); @@ -213,6 +220,7 @@ * @param varNames * @return Vector<Vector<String>> */ + @Deprecated public Vector<Vector<String>> getAsVectorOfVectors(Vector<String> varNames) { // ResultSet rs = send(); Vector<Vector<String>> vret = new Vector<Vector<String>>(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |