在Turtle文档的import语句中使用名称空间前缀会导致使用OWLAPI时出现故障

时间:2016-09-09 13:32:29

标签: owl-api turtle-rdf openrdf

如果以Turtle格式保存的本体(使用OWLAPI)使用一组前缀,则导入的本体的import语句使用声明的前缀。因此使用前缀保存的本体不能被OWLAPI Turtle解析器读回。 import语句被标记为问题的根源。

假设Onto2导入Onto1和Onto3(请参阅下面的声明)。保存Onto2会产生以下结果:

@prefix : <http://example.com/ontology/Onto2#> .
@prefix OT1: <http://example.com/ontology/Onto1> .
@prefix OT2: <http://example.com/ontology/Onto2> .
@prefix OT3: <http://example.com/ontology/Onto3> .

<http://example.com/ontology/Onto2> rdf:type owl:Ontology ;
                                     owl:imports OT1:# ,
                                                 OT3:# .

当OWLAPI Turtle解析器回读Onto2时,它会抱怨

org.openrdf.rio.RDFParseException: Expected '.', found 'O' [line 13]

导入声明在第13行。

1 个答案:

答案 0 :(得分:1)

根据Turtle语言规范,我认为问题是哈希字符。不允许在该位置,它将被解释为评论的开始。有关详细信息,请参阅here