下面的代码应该返回本体中所有三元组主题的字典。相反,它以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的本体验证。在
SPARQLWrapper()
的第一个参数should beSPARQL端点地址:如果您真的需要JSON格式的SPARQL查询结果(spec):
^{pr2}$如果您希望从RDF序列化中抽象,应该使用owlready。在
相关问题 更多 >
编程相关推荐