Abfrage von DBpedia mit SPARQL und Jena

Ich kann nicht verstehen, wie ich DBpedia mit Jena abfragen kann. In den Tutorials gefälltHierDas Modell (Listing 4) wird wie folgt initialisiert:

// Open the bloggers RDF graph from the filesystem
InputStream in = new FileInputStream(new File("bloggers.rdf"));

// Create an empty in-memory model and populate it from the graph
Model model = ModelFactory.createMemModelMaker().createModel();
model.read(in,null); // null base URI, since model URIs are absolute
in.close();

Angenommen, ich möchte eine Abfrage schreiben, in der die Kirchen in Paris aufgelistet werden. In SPARQL sieht es so aus (entnommen ausDiese Mailing-List-Nachricht):

PREFIX p: <http://dbpedia.org/property/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX category: <http://dbpedia.org/resource/Category:>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX geo: <http://www.georss.org/georss/>

SELECT DISTINCT ?m ?n ?p ?d
WHERE {
 ?m rdfs:label ?n.
 ?m skos:subject ?c.
 ?c skos:broader category:Churches_in_Paris.
 ?m p:abstract ?d.
 ?m geo:point ?p
 FILTER ( lang(?n) = "fr" )
 FILTER ( lang(?d) = "fr" )
 }

Wie wird diese Abfrage in Java aussehen? Insbesondere interessiert mich, wie das Modellobjekt initialisiert wird.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage