我在使用汇编文件配置 Jena Fuseki 时遇到问题。直到最近,我一直从命令行启动服务器,如下所示:
sudo ./fuseki-server --loc=la --port=3032 --update /ds
这将创建一个位于 SERVER_ROOT/la 目录中的持久 TDB 存储。服务器正确启动并显示以下输出:
14:30:55 INFO TDB dataset: directory=la
14:30:55 INFO Dataset path = /ds
14:30:55 INFO Fuseki 1.0.1 2014-01-18T19:01:20+0000
14:30:55 INFO Started 2015/02/02 14:30:55 GMT on port 3032
现在我想添加一个 OWL 推理器并按照baach.de 的文章,我一直在尝试使用以下汇编文件运行服务器:
@prefix : <#> .
@prefix fuseki: <http://jena.apache.org/fuseki#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix sdb: <http://jena.hpl.hp.com/2007/sdb#> .
[] rdf:type fuseki:Server ;
fuseki:services ( <#tdb> ) .
<#tdb> rdf:type fuseki:Service ;
fuseki:name "ds" ; # http://host/inf
fuseki:serviceQuery "sparql" ; # SPARQL query service
#fuseki:serviceUpdate "update" ;
fuseki:dataset <#dataset2> ; #select which set to use
.
[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
tdb:GraphTDB rdfs:subClassOf ja:Model .
<#dataset2> rdf:type ja:RDFDataset ;
ja:defaultGraph <#model2> .
<#model2> a ja:InfModel ;
ja:baseModel <#tdbGraph> ;
ja:reasoner [ ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>] .
<#tdbDataset> rdf:type tdb:DatasetTDB ;
tdb:location "la" ;
tdb:unionDefaultGraph true .
<#tdbGraph> rdf:type tdb:GraphTDB ;
tdb:dataset <#tdbDataset> .
使用此命令:
sudo ./fuseki-server --port=3032 --config=fuseki-la-cfg.ttl
服务器开始正确显示以下输出:
14:29:52 INFO Dataset path = /ds
14:29:52 INFO Fuseki 1.0.1 2014-01-18T19:01:20+0000
14:29:52 INFO Started 2015/02/02 14:29:52 GMT on port 3032
但是请注意,它不再打印“TDB dataset: directory=la”状态。当我使用内置的 Fuseki HTML 界面查询服务器时,服务器在收到查询后挂起并且不返回结果。
谁能指出我的汇编文件有什么问题?我是否正确选择了“la”目录作为我的 TDB 商店的位置?
谢谢,弗兰克