我正在尝试使用 Jena 执行删除查询,但在执行时出现错误。我尝试了两种方法,但在这两种情况下,我都会遇到同样的错误。我正在使用 jena 2.7.3 和数据库 virtuoso 6.01.3。
代码 1:
String queryString; // deleteQuery.
Model m = VirtModel.openDatabaseModel(file, connectionURL, username, password);
UpdateAction.parseExecute(queryString, m);
代码 2:
String queryString; // deleteQuery
Model m = VirtModel.openDatabaseModel(file, connectionURL, username, password);
GraphStore gs = GraphStoreFactory.create();
gs.setDefaultGraph(m.getGraph());
UpdateRequest ur = UpdateFactory.create(queryString);
UpdateAction.execute(ur.getOperations().get(0),gs);
错误:
java.lang.InstantiationError: com.hp.hpl.jena.sparql.engine.binding.BindingMap at virtuoso.jena.driver.VirtuosoQueryEngine$VQueryIterator.extractRow(Unknown Source) at virtuoso.jena.driver.VirtuosoQueryEngine$VQueryIterator.moveForward( Unknown Source) at virtuoso.jena.driver.VirtuosoQueryEngine$VQueryIterator.hasNextBinding(Unknown Source) at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108) at com.hp.hpl .jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40) 在 com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108) 在 org.openjena.atlas .data.AbstractDataBag.addAll(AbstractDataBag.java:74) 在 com.hp.hpl.jena.sparql.modify.UpdateEngineWorker.visit(UpdateEngineWorker.java:348) 在 com.hp.hpl.jena.sparql.modify.request.UpdateModify.visit(UpdateModify.java:97) 在 com.hp.hpl.jena.sparql.modify.UpdateEngineMain.execute(UpdateEngineMain.java:40)在 com.hp.hpl.jena.sparql.modify.UpdateProcessorBase.execute(UpdateProcessorBase.java:56) 在 com.hp.hpl.jena.update.UpdateAction.execute$(UpdateAction.java:330) 在 com.hp。 hpl.jena.update.UpdateAction.execute(UpdateAction.java:323) 在 com.hp.hpl.jena.update.UpdateAction.execute(UpdateAction.java:283) 在 com.hp.hpl.jena.update.UpdateAction。在 com.tcs.ignite.plc.utilities.ContextListener.contextInitialized(ContextListener.java:35) 的 com.tcs.ignite.plc.DAOs.ConceptDAO.deleteConceptByURI(ConceptDAO.java:75) 执行(UpdateAction.java:237)在 org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723) 在 org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226) 在 org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221) 在 java.util.concurrent.FutureTask $Sync.innerRun(FutureTask.java:303) 在 java.util.concurrent.FutureTask.run(FutureTask.java:138) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java. util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java:662)138) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread .java:662)138) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread .java:662)
有谁知道我为什么会收到这个错误?