YAGO知识图中的类的格式为wordnet_XXX_YYY,其中XXX是类的名称,而YYY是wordnet中的同义词集ID。因此,例如,类Airport的URI是http://yago-knowledge.org/resource/wordnet_airport_102692232。
因此,由于单词的含义不同,根据含义,YAGO可能具有许多具有相同XXX和不同YYY的类。
给定YYY,如何找到单词的定义?在他们的网站https://www.mpi-inf.mpg.de/departments/databases-and-information-systems/research/yago-naga/yago/faq/上,它说YYY是同义词集ID,但是该工具返回airport.n.01作为同义词集ID。
我想念什么?
最佳答案
您必须使用YAGO准则在计算机中运行SPARQL查询,以从YAGO本体中提取信息。
对于您的问题,我希望以下python代码能为您提供所需的结果。
```
from SPARQLWrapper import SPARQLWrapper, JSON
sparql.setQuery("""
select *
where {
<http://yago-knowledge.org/resource/wordnet_XXX_YYY> <http://yago-knowledge.org/resource/hasGloss> ?GlossValues.
}
""")
sparql.setReturnFormat(JSON)
results = sparql.query().convert()
#print(results)
for result in results["results"]["bindings"]:
print(result)
```