2012-05-16 22 views
5

असल में मेरे पास निम्न प्रश्न है, और यह बिना किसी समस्या के सभी ऑनलाइन SPARQL परीक्षकों में काम करता है, लेकिन जावा और जेना 2.6.4 का उपयोग करते समय, मुझे कोई परिणाम नहीं मिलता है। मैंने प्रदर्शन उद्देश्यों के लिए क्वेरी में मूल्यों को लिखा है।जेना का उपयोग करके SPARQL क्वेरी कोई परिणाम नहीं दे रहा है - लेकिन ऑनलाइन काम करता है

PREFIX g: <http://www.w3.org/2003/01/geo/wgs84_pos#> 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX onto: <http://dbpedia.org/ontology/> 

SELECT ?subject ?stadium ?lat ?long 
WHERE 
    { ?subject g:lat ?lat . 
    ?subject g:long ?long . 
    ?subject <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> onto:Stadium . 
    ?subject rdfs:label ?stadium 
    FILTER (((((?lat >= 52.4814) && (?lat <= 57.4814)) && (?long >= -1.89358)) && (?long <= 3.10642)) && (lang(?stadium) = "en")) 
    } 
LIMIT 5 

कुछ जावा, ध्यान दें मैं इस में कुछ अलग अलग तरीकों से एक्सेस करने की कोशिश की है, फिर भी मैं परियोजना भर SPARQL उपयोग कर रहा हूँ और कोई समस्या नहीं।

Query query = QueryFactory.create(s2); //s2 = the query above 
QueryExecution qExe = QueryExecutionFactory.create(query, model); 
ResultSet resultsRes = qExe.execSelect(); 

try { 
    while (resultsRes.hasNext()) {     
    QuerySolution soln = resultsRes.nextSolution(); 
    //never any results 
    } 
} catch (Exception ex) { 
    System.out.println(ex); 
} 
+0

बस गुणी endpoint के माध्यम से dbpedia.org के खिलाफ SPARQL की कोशिश की और परिणाम मिला है। हालांकि, आपके कोड से स्पष्ट नहीं है कि SPARQL क्वेरी को एस 2 को कैसे सौंपा गया है और डेटा को मॉडल में कैसे प्राप्त किया जाता है। – MikeJ

उत्तर

9

जब तक आप एक स्थानीय मॉडल में पूरे DBpedia डाटासेट लोड कर रहे हैं, DBpedia SPARQL में क्वेरी चलाने के लिए फार्म आप DBpedia SPARQL अंत बिंदु करने के लिए आपकी क्वेरी भेजना होगा के रूप में एक ही प्रभाव प्राप्त करने के लिए। मैं अपने कार्यक्रम के निम्नलिखित संशोधन भाग गया:

package example; 

import com.hp.hpl.jena.query.*; 

public class AshTest 
{ 
    public static void main(String[] args) { 
     String s2 = "PREFIX g: <http://www.w3.org/2003/01/geo/wgs84_pos#>\n" + 
       "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" + 
       "PREFIX onto: <http://dbpedia.org/ontology/>\n" + 
       "\n" + 
       "SELECT ?subject ?stadium ?lat ?long\n" + 
       "WHERE\n" + 
       " { ?subject g:lat ?lat .\n" + 
       " ?subject g:long ?long .\n" + 
       " ?subject <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> onto:Stadium .\n" + 
       " ?subject rdfs:label ?stadium\n" + 
       " FILTER (((((?lat >= 52.4814) && (?lat <= 57.4814)) && (?long >= -1.89358)) && (?long <= 3.10642)) && (lang(?stadium) = \"en\"))\n" + 
       " }\n" + 
       "LIMIT 5\n" + 
       ""; 

     Query query = QueryFactory.create(s2); //s2 = the query above 
     QueryExecution qExe = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query); 
     ResultSet results = qExe.execSelect(); 
     ResultSetFormatter.out(System.out, results, query) ; 
    } 
} 

और निम्न परिणाम मिला:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
| subject              | stadium        | lat             | long             | 
====================================================================================================================================================================================================================== 
| <http://dbpedia.org/resource/Welford_Road_Stadium>   | "Welford Road Stadium"@en   | "52.6242"^^<http://www.w3.org/2001/XMLSchema#float> | "-1.13306"^^<http://www.w3.org/2001/XMLSchema#float> | 
| <http://dbpedia.org/resource/Hillsborough_Stadium>   | "Hillsborough Stadium"@en   | "53.4114"^^<http://www.w3.org/2001/XMLSchema#float> | "-1.50056"^^<http://www.w3.org/2001/XMLSchema#float> | 
| <http://dbpedia.org/resource/Gateshead_International_Stadium> | "Gateshead International Stadium"@en | "54.9611"^^<http://www.w3.org/2001/XMLSchema#float> | "-1.57972"^^<http://www.w3.org/2001/XMLSchema#float> | 
| <http://dbpedia.org/resource/Filbert_Street>     | "Filbert Street"@en     | "52.6236"^^<http://www.w3.org/2001/XMLSchema#float> | "-1.14056"^^<http://www.w3.org/2001/XMLSchema#float> | 
| <http://dbpedia.org/resource/Craven_Park,_Hull>    | "Craven Park, Hull"@en    | "53.7539"^^<http://www.w3.org/2001/XMLSchema#float> | "-0.264722"^^<http://www.w3.org/2001/XMLSchema#float> | 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
+0

हाँ मैंने उस दृष्टिकोण की कोशिश की लेकिन यह काम नहीं किया, परिणाम के बिना उस उदाहरण को चिपकाने के बाद, मैंने सभी आयात विवरण हटा दिए और इस मुद्दे को ठीक किया। बहुत बहुत धन्यवाद :) – Ash