5

给定一个 RDF 文件,我想编写一个 python 脚本来验证文件并在格式错误时进行注释。如何使用 Raptor 执行此操作?或萨克斯或是否有任何其他图书馆?w3没有运气。

4

1 回答 1

3

raptor 有两种选择:

选项1:使用rapper命令行,这超级快。下面的函数是 python 中用于包装命令的示例。-c选项是只计算三元组的数量。该参数lang只是指定 RDF 格式 ntriples、rdfxml、turtle、... 的一个选项。该函数检查返回码并在出现任何问题时抛出异常。

def rapper_count(f,lang):
    p=subprocess.Popen(["rapper","-i",lang,"-c",f],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    output, err = p.communicate()
    ret = p.poll()
    if ret <> 0:
        raise Exception, "Error parsing with rapper\n%s"%err
    return int(err.split()[-2])

选项 2:使用 redland Python 语言绑定。像下面这样的东西会起作用:

import RDF

test_file = "/some/file"

uri=RDF.Uri(string="file:"+test_file)

parser=RDF.Parser(name="turtle")
if parser is None:
  raise Exception("Failed to create RDF.Parser raptor")

count=0
for s in parser.parse_as_stream(uri,uri):
  count=count+1

print "Parsing added",count,"statements"

此代码已从example.py中提取,检查一下,您会看到更多示例。

于 2012-02-07T18:36:28.550 回答