2011-11-03 93 views
1

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

​​使用外键由midlots of good reasons过时,但这并不改变GUID是在系统级别仍然使用,所以我打算从这里叫mid的访问的事实。使用mid访问器在MQL中很灵活。可以使用"mid": null并使用"mid":[]进行查询,具体取决于是否需要当前的mid或每个mid

查找每midwpid值的列表是直接在MQL:

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

但是,如果一切顺利的宇宙中,每个电流mid应该只有一个电流wpid,那么,有没有办法做到像"wpid": null像一个可以用mql访问器?

回答

2

如果你只是想每个中旬一个wpid值,你可以做这样的事情:

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

Try it out

裸记住,这是完全可能的游离碱的话题将有一个以上的WMID 。无论何时我们需要合并我们从维基百科导入的重复主题,或者在维基百科中合并之前导入它们,都会发生这种情况。

如果您正在寻找链接维基百科的页面,你可能也有兴趣在/维基/ en_title namepace:

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

Try it out

+0

多个wpid值的可能性就是为什么我希望可能会有一个较少的文档访问器,类似于中期。 –

+0

我不确定我是否遵循。你只是寻找一种不太复杂的方式来查询wpids吗?据我所知,你总是必须使用关键属性。 –

+0

我不关心复杂,我关心准确性。 freebase mids在整个合并或分裂过程中都很有弹性,而在每个mid中挑选一个wpids的wpid不具有弹性。由于官方gui中有很多东西都与维基百科相关,所以我希望有一些中等魔法已经应用于wpid。 –