给定一个 RDF 文件,我想编写一个 python 脚本来验证该文件并在格式错误时进行评论。我如何使用 Raptor 执行此操作?或萨克斯或有任何其他图书馆? w3没有运气。
最佳答案
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 中提取,检查一下,您会看到更多示例。
关于python - 使用 Raptor 或 Sax 验证 RDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9179772/