如何为类型位置/位置收集Freebase别名?

时间:2013-12-10 00:01:14

标签: freebase mql

我想通过MQL查询获取有关Freebase中所有位置的信息(MID和美国英文名称)及其韩文名称和任何韩语别名。就我而言:

[{
"id": null,
"name": null,
"mid": null,
"type": "/location/location",
"Korean:name": [{
"lang": "/lang/ko",
"value": null
}]
}]

我只获得韩文名称,但没有韩文别名。我不知道如何编写在同一查询中输出2种不同类型的属性的查询。您是否可以在同一MQL查询/输出中获取有关同一实体的/ location / location和common / topic / alias的数据?我的做法在这里错了吗?

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

当您需要组合来自许多不同类型的属性时,您需要使用完全限定的属性ID,如下所示:

[{
  "id": null,
  "name": null,
  "mid": null,
  "type": "/location/location",
  "Korean:name": [{
    "lang": "/lang/ko",
    "value": null
  }],
  "/common/topic/alias": [{
    "lang": "/lang/ko",
    "value": null,
    "optional": true
  }]
}]

每当使用缩短的属性ID时,都假定它们与您在查询中指定的类型相同(如果没有给出类型,则为/ type / object)。因此,例如,如果您在查询中使用“geolocation”,它将被解释为“/ location / location / geolocation”。唯一的例外是“id”,“name”和“type”,您可以在不使用完整ID的情况下使用它们。 “/类型/对象/名称”。

您还会注意到我将别名设为“可选”,以便它返回没有任何别名的位置的结果。