我可以使用推理和TDB配置Jena Fuseki吗?

时间:2012-05-06 07:33:36

标签: sparql jena inference rdfs rdfstore

我想使用TDB支持的推理模型配置Fuseki。

我已经能够使用内存模型配置它,但不能使用TDB模型来更新三元组。

我正在使用以下汇编程序说明:

@prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> .

[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
tdb:GraphTDB rdfs:subClassOf ja:Model .

<#dataset> rdf:type ja:RDFDataset ;
       ja:defaultGraph <#infModel> .

<#infModel> a ja:InfModel ;
     ja:baseModel <#tdbGraph>; 
     ja:reasoner 
          [ja:reasonerURL <http://jena.hpl.hp.com/2003/RDFSExptRuleReasoner>].

<#tdbGraph> rdf:type tdb:GraphTDB ;
    tdb:location "DB" ;
.

它工作正常,它能够进行RDFS推理甚至插入新的三元组。 但是,一旦我停止并重新启动服务器,它就会引发以下异常:

Error 500: Invalid id node for subject (null node): ([000000000000001D], [00000000000000AF], [000000000000003D])

1 个答案:

答案 0 :(得分:0)

<#tdbGraph> rdf:type tdb:GraphTDB ;
    tdb:location "DB" ;
.

在第二个陈述之后摆脱半冒号并以句号终止,即:

<#tdbGraph> rdf:type tdb:GraphTDB ;
        tdb:location "DB".