我正在尝试使用带有以下代码的fuseki-server.jar执行SPARQL更新查询:
UpdateRequest ur = UpdateFactory.create();
ur.add(update);
UpdateProcessRemote r = new UpdateProcessRemote(ur,address);
r.execute();
但是,它失败并带有以下异常:
SEVERE: Servlet.service() for servlet [QualityAssessment] in context with path [/GTQuality] threw exception [Servlet execution threw an exception] with root cause java.lang.ClassNotFoundException: com.hp.hpl.jena.sparql.modify.UpdateProcessRemote
最初的反应是,这是一个类路径问题,但fuseki-server.jar既包含在构建路径中,又包含在WEB-INF / lib中,所以我有点卡住了。完全相同的代码可以完美地用作独立的Java项目。
最佳答案
在其他地方问:http://answers.semanticweb.com/questions/19840/jenasparqlmodifyupdateprocessremote-class-not-found
如果它独立运行,而不是在其他地方运行,那就是设置问题。
0.2.5的fuseki-server.jar确实包含UpdateProcessRemote:
解压-v fuseki-server.jar | grep UpdateProcessRemote.class ==>
1498 Defl:N 739 51% 2012-10-20 17:05 1517e336 com/hp/hpl/jena/sparql/modify/UpdateProcessRemote.class
寻找其他(旧)ARQ副本。