Normalerweise schreibe ich so.
JenaSample.java
String queryString = "(SPARQL)";
Query query = QueryFactory.create(queryString);
QueryExecution qe = QueryExecutionFactory.sparqlService(service, query);
ResultSet results = qe.execSelect();
ResultSetFormatter.out(System.out,results, query);
Die Ergebnisse werden in einer Liste angezeigt und ich bin glücklich. Ich möchte sagen ... Was soll ich tun, wenn ich den Wert für jede Variable erhalten möchte?
Zum Beispiel, wenn Sie den Endpunkt der Lebensmittelzutat LOD SPARQL anfordern. Lebensmittelzutat LOD
SPARQL sieht so aus.
SPARQL
PREFIX schema: <http://schema.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX cc: <http://creativecommons.org/ns#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT ?name ?calories ?sodiumContent ?nutritionType ?title
WHERE {
?s schema:category "Meeresfrüchte";
schema:name ?name;
schema:nutrition ?nutrition;
cc:attributionName ?attributionName.
?nutrition schema:calories ?calories;
schema:sodiumContent ?sodiumContent;
rdf:type ?nutritionType.
?attributionName dc:title ?title.
}
LIMIT 10
Versuchen Sie es in Java so herauszunehmen.
JenaSample2.java
Query query = QueryFactory.create(queryString);
QueryExecution qe = QueryExecutionFactory.sparqlService(service, query);
ResultSet results = qe.execSelect();
while (results.hasNext()) {
QuerySolution qs = results.next();
RDFNode node = qs.get("s");
Resource resource = node.asResource();
System.out.println(resource.getURI());
RDFNode node2 = qs.get("calories");
Literal literal = node2.asLiteral();
System.out.println(literal.getInt());
}
Die Quelle erklären ...
Soweit ich das beurteilen kann, scheint es so. Wenn Sie es falsch verwenden, weisen Sie bitte darauf hin. m (_ "_ m)
Recommended Posts