From: <jen...@us...> - 2009-04-01 08:50:18
|
Revision: 1673 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1673&view=rev Author: jenslehmann Date: 2009-04-01 08:50:07 +0000 (Wed, 01 Apr 2009) Log Message: ----------- - started DBpedia -> OSM mapping - added secondstring library for various string metrics Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlEndpoint.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java Added Paths: ----------- trunk/lib/secondstring-20060615.jar trunk/src/dl-learner/org/dllearner/scripts/matching/ trunk/src/dl-learner/org/dllearner/scripts/matching/DBpediaLinkedGeoData.java Added: trunk/lib/secondstring-20060615.jar =================================================================== (Binary files differ) Property changes on: trunk/lib/secondstring-20060615.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java 2009-04-01 05:14:44 UTC (rev 1672) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java 2009-04-01 08:50:07 UTC (rev 1673) @@ -472,6 +472,7 @@ /** * low level, executes query returns ResultSet. + * TODO: Why convert from result set to JSON and back? See method below. * * @param sparqlQueryString * The query @@ -482,6 +483,12 @@ } + public ResultSet queryAsResultSet2(String sparqlQueryString) { + SparqlQuery sq = new SparqlQuery(sparqlQueryString, sparqlEndpoint); + sq.send(); + return sq.getResultSet(); + } + /** * low level, executes query returns JSON. * Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlEndpoint.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlEndpoint.java 2009-04-01 05:14:44 UTC (rev 1672) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlEndpoint.java 2009-04-01 08:50:07 UTC (rev 1673) @@ -138,7 +138,8 @@ public static SparqlEndpoint getEndpointDBpedia() { URL u = null; try { - u = new URL("http://dbpedia.openlinksw.com:8890/sparql"); + u = new URL("http://dbpedia.org/sparql"); +// u = new URL("http://dbpedia.openlinksw.com:8890/sparql"); } catch (Exception e) { e.printStackTrace(); } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2009-04-01 05:14:44 UTC (rev 1672) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2009-04-01 08:50:07 UTC (rev 1673) @@ -187,6 +187,8 @@ /** * @return the Jena QueryEngineHTTP */ + // ANY NEED TO GET THIS FROM OUTSIDE? + @Deprecated public QueryEngineHTTP getExecution() { return queryExecution; } @@ -195,6 +197,8 @@ * insert a result, e.g. from the cache * @param json a jsonString */ + // LOOKS LIKE A HACK + @Deprecated public void setJson(String json) { this.wasExecuted = true; this.json = json; @@ -203,6 +207,8 @@ /** * @param running s.e. */ + // SHOULD NOT BE SET FROM OUTSIDE + @Deprecated public void setRunning(boolean running) { this.isRunning = running; } @@ -213,6 +219,9 @@ * * @return a JSON string */ + // WHY NOT EXECUTE SEND() AND THEN CALL THIS METHOD? + // returning null seems safer instead of executing the query (again) + @Deprecated public String getJson() { if (!wasExecuted) { this.send(); @@ -225,6 +234,7 @@ * * @return a Jena ResultSet */ + // SHOULD BE A SIMPLE GETTER SINCE RESULTSET IS MAIN JENA STRUCTURE public ResultSet getResultSet() { return (getJson() == null) ? null : convertJSONtoResultSet(json); } @@ -234,6 +244,7 @@ * * @return An XML String */ + // SHOULD CONVERT FROM RESULTSET public String getXMLString() { return (getJson() == null) ? null : convertJSONtoXML(json); } @@ -330,71 +341,4 @@ return convertResultSetToXMLString(convertJSONtoResultSet(json)); } - - /*** - public static String sendGetRequest(String urlStr) - { - String result = null; - - - try - { - StringBuffer data = new StringBuffer(); - - //String urlStr = endpoint; - // if (requestParameters != null && requestParameters.length () > 0) - //{ - //urlStr += "?" + requestParameters; - //} - //urlStr = "http://www.klappstuhlclub.de"; - URL url = new URL(urlStr); - System.out.println(urlStr); - URLConnection conn = url.openConnection (); - - // Get the response - BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); - StringBuffer sb = new StringBuffer(); - String line=""; - System.out.println("aa"+line); - while ((line = rd.readLine()) != null) - { - System.out.println("aa"+line); - sb.append(line); - } - rd.close(); - result = sb.toString(); - } catch (Exception e) - { - e.printStackTrace(); - } - - return result; - } - - public String fallback(){ - System.out.println("TEST"); - try{ - String urlStr = (sparqlEndpoint.getURL().toString()+"?query="+sparqlQueryString); - //URLConnection con = url.openConnection(); - System.out.println(sendGetRequest(urlStr)); - System.out.println("f"); - //System.out.println(con.getContentLength()); - //con.connect(); - System.out.println("sdf"); - String a = "12345"; - byte[] b = a.getBytes(); - //con.getInputStream().read(b); - System.out.println(new String (b)); - //Object o = con.getContent(); - //System.out.println(o+o.getClass().getCanonicalName()); - }catch (Exception ea) { - // TODO: handle exception - } - return ""; - } - - - - */ - } Added: trunk/src/dl-learner/org/dllearner/scripts/matching/DBpediaLinkedGeoData.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/matching/DBpediaLinkedGeoData.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/scripts/matching/DBpediaLinkedGeoData.java 2009-04-01 08:50:07 UTC (rev 1673) @@ -0,0 +1,66 @@ +/** + * Copyright (C) 2007-2009, Jens Lehmann + * + * 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.scripts.matching; + +import java.net.URI; + +import org.dllearner.kb.sparql.SPARQLTasks; +import org.dllearner.kb.sparql.SparqlEndpoint; +import org.dllearner.kb.sparql.SparqlQuery; + +import com.hp.hpl.jena.query.QuerySolution; +import com.hp.hpl.jena.query.ResultSet; + +/** + * Computes owl:sameAs links between DBpedia and LinkedGeoData + * (or Wikipedia and OSM). + * + * @author Jens Lehmann + * + */ +public class DBpediaLinkedGeoData { + + public static void main(String[] args) { + + // we start from the DBpedia URI and try to find the corresponding + // OSM URI (assuming that each location having coordinates in Wikipedia also + // exists in OSM) + URI dbpediaURI = URI.create("http://dbpedia.org/resource/Auerbachs_Keller"); + + // use official DBpedia endpoint (switch to db0 later) + SparqlEndpoint endpoint = SparqlEndpoint.getEndpointDBpedia(); + SPARQLTasks st = new SPARQLTasks(endpoint); + + // query latitude and longitude + String query = "SELECT ?lat ?long WHERE { "; + query += "<" + dbpediaURI + "> <http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat ."; + query += "<" + dbpediaURI + "> <http://www.w3.org/2003/01/geo/wgs84_pos#long> ?long . } LIMIT 1"; + + // perform query and read lat and long from results + ResultSet results = st.queryAsResultSet2(query); + QuerySolution qs = results.nextSolution(); + String geoLat = qs.getLiteral("lat").getString(); + String geoLong = qs.getLiteral("long").getString(); + + System.out.println("lat: " + geoLat + ", long: " + geoLong); + + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |