Apache jena SPARQL endpoint 实践异常解决

1.

在linux下部署的,发现了一个问题:fuseki-server进程结束过一次(kill或者是ctrl+z或者是终端被关掉),再次启动时会报错:DatasetPrefixesTDB WARN Mangled prefix map: graph name=

java.lang.NullPointerException

XXXX

......

org.apache.jena.assembler.exceptions.AssemblerException: caught: null

xxxx

.......

然后就访问不了了。

我发现每次重启如果重新用jena做一次tdbloader,就不会有这个问题,这是怎么回事呢?

解决:

删除tdb路径下所有prefixXXX文件,再次启动会重新生成这些文件。我之前也被这个问题搞了很久,在jena社区提问,有人给的回答某种程度解决了这个问题,如下:“where it is building the base graph.

The TDB database has a corrupted prefix table. At the warning, this was mentioned then ignored. On this path through the code, it is an error.

Using inference means that TDB is not running transactionally.

At some time in the past, that DB has not been closed cleanly.

As it's the prefixes, often you can delete the prefix table files but if

it is a small DB, it's better to rebuild it.”

2.

在配置好fuseki_conf.ttl后,第二次运行fuseki-server.bat时,出现以下错误:

[2018-03-09 15:41:33] Server ERROR Exception in initialization: Failed reading assembler description: java.nio.charset.MalformedInputException: Input length = 1

[2018-03-09 15:41:33] WebAppContext WARN Failed startup of context o.e.j.w.WebAppContext@30ed9c6c{/,file:///D:/environment/apache-jena-fuseki-3.6.0/webapp/,UNAVAILABLE}

org.apache.jena.sparql.ARQException: Failed reading assembler description: java.nio.charset.MalformedInputException: Input length = 1

解决:

同上,删除tdb路径下所有的prefix文件

3.

 Server ERROR Exception in initialization: the loading of content into file:///D:/AppsPath/apache-jena-fuseki-3.8.0/run/configuration/fuseki_conf.ttl#model_inf was aborted because of Read-only object file

解决:

版本问题,这是由于fuseki版本升级所导致的问题,ja:baseModel <#tdbGraph> ;改为 ja:MemoryModel <#tdbGraph> ;即可顺利运行。

4.

jena好像只能在本地访问,其他地址访问不到?

解决:

需要将apache-jena-fuseki-3.9.0中run文件下的shiro.ini里面的/$/** = localhostFilter注释掉(#/$/** = localhostFilter)

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值