2010-02-15 19 views
9

DBpedia'yı sorgulamak için Jena'yı kullanarak bir SPARQL sorgusu oluşturmaya çalışıyorum.DBpedia'da bir SPARQL sorgusu oluşturmak için Jena'yı kullanma

Sorgu, bağımsız araçlar (Twinkle) ile kullandığımda, ancak bu Java koduna bağladığımda boş bir set döndürdüğünde çalışıyor.

String sparqlQueryString1 = "PREFIX dbont: <http://dbpedia.org/ontology/> " + 
     "PREFIX dbp: <http://dbpedia.org/property/>" + 
     "PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>" + 
     " SELECT ?musician ?place" + 
     " FROM<http://dbpedia.org/resource/Daphne_Oram>" + 
     " WHERE { " + 
     "  ?musician dbont:birthPlace ?place ." + 
     " }"; 

Query query = QueryFactory.create(sparqlQueryString1); 
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query); 

ResultSet results = qexec.execSelect(); 
ResultSetFormatter.out(System.out, results, query);  

qexec.close() ; 

Hata yaptığımı düşündüğünüz herhangi bir fikir var mı?

cevap

10

Sorun, FROM <...> maddesindir. Çıkar ve her şey yolunda. Bu fıkra ile son nokta, sorguyu bu isimle grafiğe sınırlandırdığından şüpheliyim, ancak böyle bir grafik yok ve dolayısıyla sonuç yok.

Kafa karıştırıcı şey, formun http://dbpedia.org/sparql adresindeki formda çalışması gibi görünüyor. Ancak orada varsayılan bir grafik URI ayarlanır, böylece sorgu da bu grafiğin üzerine gider. Temizle ve sorgu çalışmıyor. Alternatif olarak, uzak verileri almak için ayarlayabilirsiniz. Bu, üç doğum yerinden bahseden adı geçen rdf'yi çeker.

o müzisyen kullanımının doğum yeri bulmak için çalışıyorsanız:

{ <http://dbpedia.org/resource/Daphne_Oram> dbont:birthPlace ?place . } 
+0

güzel çalıştı. teşekkürler! – Marcom

İlgili konular