我是Freebase的新手,我有一个简单的问题。我想使用Freebase KB来查找两个实体之间的关系。例如,如果我有名称实体" Washington"和#34;美国" ,我想向Freebase发送查询并获取: 位置/位置/资本或无关系的情况下为空。
非常感谢。
答案 0 :(得分:0)
如果你只想去一片(即最近的邻居),如果你使用Freebase的在线版本,那么使用反射API这很简单。如果您正在使用批量下载,则需要使用您正在使用的任何查询引擎(可能是SPARQL,除非您将RDF转换为其他内容)。
如果你想找到最短的路径,无论它们是多远,它都会成为图搜索算法。
编辑:如果您只想查找资本,您可以在此查询中填写您的ID:
[{
"type": "/location/administrative_division_capital_relationship",
"capital": [{
"id": null
}],
"administrative_division": [{
"id": null
}],
"limit": 1
}]
请注意,对于Washington,D.C。,这将返回null,因为数据不在Freebase中。
如果需要处理任意属性,则需要使用反射。见https://developers.google.com/freebase/mql/ch03#reflection