2

我在使用汇编文件配置 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 商店的位置?

谢谢,弗兰克

4

0 回答 0