我目前正在使用Freebase转储进行项目开发,我将断言插入每个有序的LevelDB中。我的目标是能够给定名称,例如Bob Dylan,以检索与其名称链接的所有类型。
例如,“鲍勃·迪伦”对应于“音乐人”,“电影制片人”等,每一个都对应于“ /音乐/艺术家”,“ /电影/制片人”等类型。
不幸的是,如果很容易找到四边形转储中的鲍勃·迪伦
/m/bobdylanmid /common/topic/notable_types /music/artist
/m/bobdylanmid /common/topic/notable_types /film/producer
我现在希望能够以各种语言找到这些类型的名称。但是我找不到在转储中检索它们的逻辑方法。
有什么线索吗?
最佳答案
我不确定100%,但是我不认为该模式实际上在四元转储中。我知道以前从未如此。
您需要使用类似this的查询来查找名称。不幸的是,人类可读的名称仅以英语存在,因此您需要跳过更多的障碍才能获得其他语言。为此,您可以尝试以下slightly more complicated query的方法
[{
"id": "/music/artist",
"/freebase/type_profile/equivalent_topic": {
"name": {
"lang": null,
"value": null
}
},
"name": null
}]
这取决于填写的“等效主题”属性,并非所有类型都适用。如果只需要几种语言,则可以修改查询以显式返回那些语言(“音乐家”具有45种不同的语言变体)。
关于semantics - 从ID检索Freebase Quad Dump类型名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9129901/