Rdf Jena Fuseki汇编程序文件+;TDB&x2B;猫头鹰推理机
我在使用汇编文件配置Jena Fuseki时遇到问题。直到最近,我一直在从命令行启动服务器,如下所示:Rdf Jena Fuseki汇编程序文件+;TDB&x2B;猫头鹰推理机,rdf,sparql,jena,owl,fuseki,Rdf,Sparql,Jena,Owl,Fuseki,我在使用汇编文件配置Jena Fuseki时遇到问题。直到最近,我一直在从命令行启动服务器,如下所示: sudo ./fuseki-server --loc=la --port=3032 --update /ds 这将创建一个位于目录服务器\u ROOT/la中的持久TDB存储。服务器正确启动并显示以下输出: 14:30:55 INFO TDB dataset: directory=la 14:30:55 INFO Dataset path = /ds 14:30:55 INFO Fus
sudo ./fuseki-server --loc=la --port=3032 --update /ds
这将创建一个位于目录服务器\u 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
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
现在我想添加一个OWL推理程序,下面是我一直在尝试使用以下汇编程序文件运行服务器:
@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> .
服务器开始正确显示以下输出:
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
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存储的位置
谢谢,
Frank“TDB-dataset:directory=”在命令行有“-loc”时打印。它不是为汇编程序打印的。数据集有多大?您正在持久存储上运行推理程序。这可能很慢,它有一百万个三倍。那没那么大,是吗?是的,那就是问题所在。我尝试了一个包含两个三元组的数据集,结果很好。那么,这是否意味着OWL推理程序只适用于非常小的持久TDB?如果是这样的话,那就没什么用了。或者一般来说,在内存中运行大型数据集更好吗?一百万并不算大,但结合查询和前后推理器,在与数据库一起使用时,可能会有不利的访问模式。您需要OWLFBRuleReasoner的所有功能吗?越少越快。您可以将数据展开一次并加载该数据,以便在运行时不需要推理程序。