I'm constantly having the following problem. When I write queries into Jena they don't work.
Take for example this good query from other sites:
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX mo: <http://purl.org/ontology/mo/>
SELECT *
WHERE {dbpedia:The_Beatles mo:member ?member .
?member foaf:name ?name
}
when I translate it into Java's Jena it should look like this:
public static String beatlesMembers =
"PREFIX dbpedia: <http://dbpedia.org/resource/> "+
"PREFIX foaf: <http://xmlns.com/foaf/0.1/> "+
"PREFIX mo: <http://purl.org/ontology/mo/> "+
"SELECT * " +
"WHERE {dbpedia:The_Beatles mo:member ?member . "+
"?member foaf:name ?name "+
"}";
and then I query DBPEDIA
Query query = QueryFactory.create(Requests.beatlesMembers);
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query);
try {
ResultSet results = qexec.execSelect();
for (; results.hasNext();) {
QuerySolution s = results.nextSolution();
System.out.println(s.toString());
}
}
finally {
qexec.close();
}
And it returns nothing...
Any idea why? I can't figure out how to correctly write these queries in Java. Hope you can help.
Thank you very much for your help
Did you try the query at dbpedia.org?
When I run it there, through the web form interface, I get zero rows.
{ dbpedia:The_Beatles mo:member ?member }
has zero matches. There are no http://purl.org/ontology/mo/
triples.
Try { dbpedia:The_Beatles ?pred ?obj}
and look at the details.