以下代码应返回本体中所有三元组的主题字典。相反,它将整个本体作为 XML 字符串返回。
from SPARQLWrapper import SPARQLWrapper, JSON
sparql = SPARQLWrapper("http://purl.org/sudo/ontology/sudo.owl")
sparql.setQuery("""
SELECT ?subject
WHERE {?subject ?verb ?object}
""")
sparql.setReturnFormat(JSON)
results = sparql.query().convert()
print results.keys()
上面的代码适用于不同的本体,这表明本体是问题所在。我不确定本体的问题可能是什么。我用Protege生成了本体,它可以加载到vOWL中,并且通过了vOWL的本体验证。