基本的な DBpedia アプリケーションを作成しようとしています (テスト用のみ)。このクエリを使用すると:
SELECT ?person WHERE {
?person dbo:birthPlace:Norway ?person
}
次のメッセージが表示されます。
SPARQL コンパイラ、6 行目: '}' の前の '' に未定義の名前空間プレフィックスがあります
誰かが私が間違っていることを教えてもらえますか? DBpedia クエリ テスターで動作します。
編集:PastebinのJavaコード
package jena_test;
import java.io.Writer;
import java.sql.ResultSet;
import com.hp.hpl.jena.query.Query;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.QueryFactory;
import com.hp.hpl.jena.query.QuerySolution;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
public class Dbpedia {
String test = "123";
static String sparqlQueryString="PREFIX dbo:<http://dbpedia.org/ontology/> "
+ "SELECT ?person "
+ "WHERE { ?person dbo:birthPlace dbo:Norway } ";
public static void main(String[] args) {
// TODO Auto-generated method stub
Model model = ModelFactory.createDefaultModel();
Query query = QueryFactory.create(sparqlQueryString);
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", sparqlQueryString);
try {
com.hp.hpl.jena.query.ResultSet results = qexec.execSelect();
for ( ; results.hasNext() ; )
{
QuerySolution soln = results.nextSolution() ;
String x = soln.get("Concept").toString();
System.out.print(x +"\n");
}
}
finally { qexec.close() ; }
}
}