我正在编写一个代码,它收集一些关于本体的统计数据。作为输入,我有一个文件夹,其中包含一些文件是 RDF/XML,有些是海龟或 nt。我的问题是,当我尝试使用错误的格式解析文件时,下一次即使我使用正确的格式解析它也会失败。这里的测试文件是海龟格式。如果首先用海龟格式解析它,一切都很好。但是如果我首先用错误的格式解析它 1. 错误是可以理解的(file:///test:1:0: not well-formed (invalid token)),但第二个错误是(Unknown namespace prefix : owl)。就像我第一次用正确的解析时所说的那样,我没有得到命名空间错误。
请帮助,两天后,我越来越绝望。
query = 'SELECT DISTINCT ?s ?o WHERE { ?s ?p owl:Ontology . ?s rdfs:comment ?o}'
data = open("test", "r")
g = rdflib.Graph("IOMemory")
try:
result = g.parse(file=data,format="xml")
relations = g.query(query)
print(( " graph has %s statements." % len(g)))
except:
print "bad1"
e = sys.exc_info()[1]
print e
try:
result = g.parse(file=data,format="turtle")
relations = g.query(query)
print(( " graph has %s statements." % len(g)))
except :
print "bad2"
e = sys.exc_info()[1]
print e