首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jena的fuseki与tdb2.tdbloader不兼容吗?

jena的fuseki与tdb2.tdbloader不兼容吗?
EN

Stack Overflow用户
提问于 2018-06-07 15:55:51
回答 1查看 324关注 0票数 1

我有一个要求,每天增量更新tdb文件。因此,我使用tdb2.tdbloader来完成生成的N-Triples文件。但是当作业完成时,包含tdb数据的数据目录有一个新目录,名为" data -0001“或更多。当我重新启动fuseki服务器时,它给出了这个异常:

代码语言:javascript
复制
org.apache.jena.assembler.exceptions.AssemblerException: caught: 
Unable to check TDB lock owner as the lock file contains invalid data
    doing:
root: file:///opt/someDir/fuseki/fuseki/assembler.ttl#dataset with type: http://jena.hpl.hp.com/2008/tdb#DatasetTDB assembler class: class org.apache.jena.tdb.assembler.DatasetAssemblerTDB

    at org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:165)
    at org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.open(AssemblerGroup.java:144)
    at org.apache.jena.assembler.assemblers.AssemblerGroup$ExpandingAssemblerGroup.open(AssemblerGroup.java:93)
    at org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:39)
    at org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:35)
    at org.apache.jena.sparql.core.assembler.AssemblerUtils.build(AssemblerUtils.java:126)
    at arq.cmdline.ModAssembler.create(ModAssembler.java:72)
    at arq.cmdline.ModDatasetAssembler.createDataset(ModDatasetAssembler.java:42)
    at org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.processModulesAndArgs(FusekiCmd.java:285)
    at jena.cmd.CmdArgModule.process(CmdArgModule.java:52)
    at jena.cmd.CmdMain.mainMethod(CmdMain.java:92)
    at jena.cmd.CmdMain.mainRun(CmdMain.java:58)
    at jena.cmd.CmdMain.mainRun(CmdMain.java:45)
    at org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.innerMain(FusekiCmd.java:103)
    at org.apache.jena.fuseki.cmd.FusekiCmd.main(FusekiCmd.java:67)
Caused by: org.apache.jena.tdb.base.file.FileException: Unable to check TDB lock owner as the lock file contains invalid data
    at org.apache.jena.tdb.base.file.LocationLock.getOwner(LocationLock.java:111)
    at org.apache.jena.tdb.base.file.LocationLock.canObtain(LocationLock.java:130)
    at org.apache.jena.tdb.StoreConnection._makeAndCache(StoreConnection.java:259)
    at org.apache.jena.tdb.StoreConnection.make(StoreConnection.java:231)
    at org.apache.jena.tdb.StoreConnection.make(StoreConnection.java:237)
    at org.apache.jena.tdb.transaction.DatasetGraphTransaction.<init>(DatasetGraphTransaction.java:73)
    at org.apache.jena.tdb.sys.TDBMaker._create(TDBMaker.java:55)
    at org.apache.jena.tdb.sys.TDBMaker.createDatasetGraphTransaction(TDBMaker.java:42)
    at org.apache.jena.tdb.TDBFactory._createDatasetGraph(TDBFactory.java:89)
    at org.apache.jena.tdb.TDBFactory.createDatasetGraph(TDBFactory.java:71)
    at org.apache.jena.tdb.assembler.DatasetAssemblerTDB.make(DatasetAssemblerTDB.java:57)
    at org.apache.jena.tdb.assembler.DatasetAssemblerTDB.createDataset(DatasetAssemblerTDB.java:48)
    at org.apache.jena.sparql.core.assembler.DatasetAssembler.open(DatasetAssembler.java:43)
    at org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:157)
    ... 14 more
Caused by: java.lang.NumberFormatException: For input string: "6893
"
    at   
 java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:580)
    at java.lang.Integer.parseInt(Integer.java:615)
    at org.apache.jena.tdb.base.file.LocationLock.getOwner(LocationLock.java:106)
    ... 27 more

我的问题是:我如何在tdb2.tdbloader中使用fuseki,更重要的是,如果我每天更新,那么data文件夹中的目录是否每天都在增加?有没有办法让我把它们合并?

EN

回答 1

Stack Overflow用户

发布于 2018-06-07 17:22:45

我知道问题出在哪里: tdb2.xxx只能在tdb2上运行。我在fuseki中的配置是tdb1,而不是tdb2。

顺便说一句,tdb2.tdbloader不支持数据集的增量更新。它只是在旧的基础上增加了spo。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50735796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档