Blazegraph INSERT DATA与NoSuchMethodError崩溃

时间:2017-05-05 06:53:34

标签: sparql blazegraph

在Blazegraph中,我尝试了以下查询:

INSERT DATA {
    <http://my.site/User/instances/1>
    :comment
    <http://my.site/Comment/instances/16>.
}

并且崩溃时出现以下异常跟踪:

java.lang.NoSuchMethodError: com.bigdata.rdf.sail.sparql.SPARQLStarUpdateDataBlockParser.read()I
    at com.bigdata.rdf.sail.sparql.SPARQLStarUpdateDataBlockParser.checkSparqlStarSyntax(SPARQLStarUpdateDataBlockParser.java:107)
    at com.bigdata.rdf.sail.sparql.SPARQLStarUpdateDataBlockParser.parseValue(SPARQLStarUpdateDataBlockParser.java:100)
    at org.openrdf.rio.trig.TriGParser.parseGraph(TriGParser.java:158)
    at org.openrdf.repository.sail.helpers.SPARQLUpdateDataBlockParser.parseGraph(SPARQLUpdateDataBlockParser.java:87)
    at org.openrdf.rio.trig.TriGParser.parseStatement(TriGParser.java:128)
    at org.openrdf.rio.turtle.TurtleParser.parse(TurtleParser.java:214)
    at com.bigdata.rdf.sail.sparql.UpdateExprBuilder.doUnparsedQuadsDataBlock(UpdateExprBuilder.java:746)
    at com.bigdata.rdf.sail.sparql.UpdateExprBuilder.visit(UpdateExprBuilder.java:161)
    at com.bigdata.rdf.sail.sparql.UpdateExprBuilder.visit(UpdateExprBuilder.java:119)
    at com.bigdata.rdf.sail.sparql.ast.ASTInsertData.jjtAccept(ASTInsertData.java:23)
    at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.parseUpdate2(Bigdata2ASTSPARQLParser.java:289)
    at com.bigdata.rdf.sail.BigdataSailRepositoryConnection.prepareNativeSPARQLUpdate(BigdataSailRepositoryConnection.java:278)
    at com.bigdata.rdf.sail.BigdataSailRepositoryConnection.prepareUpdate(BigdataSailRepositoryConnection.java:182)
    at org.openrdf.repository.base.RepositoryConnectionBase.prepareUpdate(RepositoryConnectionBase.java:180)

但正常的DELETE INSERT WHERE查询可以正常工作。

任何想法如何解决?

1 个答案:

答案 0 :(得分:0)

只需删除build.gradle中的以下行:

compile('org.openrdf.sesame:sesame-runtime:2.8.6')

和刷新的依赖项。如果你使用bigdata-core,你根本不需要声明一个Sesame依赖,因为Sesame已经是它的子依赖。

崩溃的原因是bigdata-core依赖于Sesame版本2.7.12,它被我的2.8.6声明所取代,该声明没有调用该方法的实现,因此崩溃。

感谢@AKSW提供此解决方案背后的指导。