给定一个RDF文件,我想编写一个python脚本来验证文件并注释格式是否错误。我是用RAptor做的吗?还是Sax还是有其他图书馆吗? w3没有运气。
答案 0 :(得分: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 language bindings。以下内容可行:
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中提取,请查看,您会看到更多示例。