【问题标题】:Getting Wikipedia IDs in MQL在 MQL 中获取 Wikipedia ID
【发布时间】:2011-11-03 22:54:36
【问题描述】:

Freebase WEX dumps 包含一个 wpid 列,对应于 freebase_wpid 表中源 MediaWiki 数据库中的 page_id。此表提供了 Wikipedia 数字文章/重定向 ID 和 Freebase GUID(全局唯一 ID)之间的映射。

guid 用作外键已被 mid 弃用 lots of good reasons,但这并没有改变 guid 仍在系统级别使用的事实,因此我将调用 mid 访问器从这里开始。

在 MQL 中使用 mid 访问器很灵活。可以使用"mid": null"mid":[] 进行查询,具体取决于是否需要当前的mid 或每个mid

在 MQL 中查找每个 midwpid 值列表很简单:

[{
  "mid": null
  "key": [{"namespace":"/wikipedia/en_id", "value":null}]
}]

但如果宇宙中一切正常,每个电流mid 应该只有一个电流wpid,那么有没有办法像"wpid": null 一样使用mql 访问器?

【问题讨论】:

    标签: wikipedia freebase mql


    【解决方案1】:

    如果您只希望每个 mid 有一个 wpid 值,您可以执行以下操作:

    [{
      "mid": null,
      "key": {
        "namespace": "/wikipedia/en_id",
        "value":     null,
        "limit":     1
      }
    }]​
    

    Try it out

    请记住,一个 Freebase 主题完全有可能拥有多个 wmid。每当我们需要合并从 Wikipedia 导入的重复主题,或者我们在它们被合并到 Wikipedia 之前导入它们时,就会发生这种情况。

    如果您正在寻找指向 Wikipedia 页面的链接,您可能还对 /wikipedia/en_title 命名空间感兴趣:

    [{
      "mid": null,
      "key": {
        "namespace": "/wikipedia/en_title",
        "value":     null,
        "limit":     1
      }
    }]​
    

    Try it out

    【讨论】:

    • 多个 wpid 值的可能性正是我希望可能有一个文档较少的访问器的原因,类似于 mid。
    • 我不确定我是否跟随。您是否只是在寻找一种不太复杂的方式来查询 wpid?据我所知,您总是必须使用 key 属性。
    • 我不关心复杂,我关心准确性。 freebase mids 在合并或拆分过程中是有弹性的,而从每个 mid 的 wpid 中挑选一个 wpid 是没有弹性的。由于官方 gui 中的很多东西都与维基百科相关联,我希望其中一些中间魔法已应用于 wpid。
    • "key":[{"namespace":"/wikipedia/en_id",...}] 在功能上等同于假设的 "wpid":[] 属性,并且限制为 1等价于 "wpid":null
    • 当拆分或合并发生时,所有的键(如 /wikipedia/en_id)都应该被移动到正确的主题。您始终可以通过使用 id 属性(如 {"id":"/wikipedia/en_id/49728",...}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    相关资源
    最近更新 更多