OpenRDF TurtleParser没有正确处理前缀

时间:2011-08-30 19:48:20

标签: rdf sesame

Wordnet 3.0(http://semanticweb.cs.vu.nl/lod/wn30/)采用Turtle格式,我无法获取org.openrdf.rio.turtle.TurtleParser来解析Manifest.ttl文件(https://gist.github.com/1181802)。

看起来解析器没有正确处理前缀 - 显然它认为它们是空的:

org.openrdf.rio.RDFParseException: org.openrdf.rio.RDFParseException: 
Not a valid (absolute) URI: nullwn30 [line 15]

我之前没有冒险进入RDF加载空间,所以我很可能错过了一些东西。

关于在哪里看的任何想法?

1 个答案:

答案 0 :(得分:4)

问题是该Turtle文件中的语法错误。具体来说,这个片段:

:wn30
    a lib:Namespace ;
    lib:mnemonic "wn30" ;
    lib:namespace wn30: .

标识符:wn30是使用默认命名空间的限定名称(默认,因为它没有前缀,例如lib:mnemonic)。但是,Turtle文档不包含默认命名空间的名称空间声明。

顺便问一下,您使用的是哪个版本的芝麻?我在最新版本中对此进行了简要测试,但它仍然给了我一个错误,但该错误对于解决问题更有帮助:“使用默认命名空间但未定义[第14行]”。

要解决此问题,文档应包含默认命名空间的名称空间声明,例如:

@prefix : <http://example.org/> .