親愛なる友人私は私のプロジェクトで名人と一緒にRDFデータベースモデルでイエナフレームワークを使用しています。私のイエナバージョンはjena-core2.7.2とjena-arq-2.9.2です
これが私にエラーを与えている私のコードです
public JsonArray getCountryAutoSuggestData()
{
JsonArray countryArray = new JsonArray();
Model model = DataModel.getModel();
String mystr = " PREFIX plcontologyurl:<http://www.plcontology.com/#> "
+ " PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> "
+ "select ?cn"
+ " where "
+ " { "
+ " ?d plcontologyurl:Country_Name ?cn . "
+ "}";
Query query = QueryFactory.create(mystr);
QueryExecution qe = QueryExecutionFactory.create(query, model);
QuerySolutionMap qMap = new QuerySolutionMap();
qe.setInitialBinding(qMap);
ResultSet rs = qe.execSelect();
while(rs.hasNext())
{
qMap = (QuerySolutionMap)rs.next();
countryArray.add(new JsonPrimitive(qMap.getLiteral("cn").getString()));
}
return countryArray;
}
エラーはjava.lang.InstantiationErrorです:com.hp.hpl.jena.sparql.engine.binding.BindingMap at line while(rs.hasNext())
問題を探してみたところ、関連するディスカッションが1つ見つかりました
現在、com.hp.hpl.jena.sparql.engine.binding.BindingMapは、このバージョンでは単純なクラスではなく、インターフェイスになっていると言われています。
そのような場合は、現在のバージョンでsparqlクエリを実行する方法。私が共有したコードに基づいた例を挙げてください。前もって感謝します。