2

我想用 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])
4

1 回答 1

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

在第二条语句之后去掉分号并以句号结束,即:

<#tdbGraph> rdf:type tdb:GraphTDB ;
        tdb:location "DB".
于 2012-05-07T14:13:40.917 回答