【Wikidata】维基数据详解

【导读】维基数据(Wikidata)是一个具有超过4600万个数据项的维基数据库,本文介绍了利用SPARQL方法对维基数据进行查询等操作,以便大家对维基数据有更深入的了解。


作者 | Björn Hartmann

编译 | 专知

参与 | Yingying, Xiaowen


Wiki数据简介



你听说维基数据吗? 可能你最先想到维基百科 - 这并没有错。 Wikidata也是维基媒体基金会的一个项目。


 尤其是:

“Wikidata作为其维基媒体姊妹项目结构化数据的中央存储,包括维基百科(...)。”


可以将Wikidata看成具有超过4600万个数据项的维基数据库(2018年4月)。


根据维基媒体的使命,每个人都可以添加和编辑数据,并免费使用它。





可用的数据




像维基百科一样,维基数据中存储着各种数据。因此,当你正在寻找特定数据集或想要回答一个奇怪的问题时,可以先去维基数据找找。


示例问题:

什么是每个欧盟成员国的首都以及有多少居民住在那里?

诺贝尔物理学奖得主长什么样?

哪些国家使用112作为急救电话?


维基数据的优点和缺点



 

维基数据有一些特点:

• 它是一个自由开放的知识库,可以被人类和机器阅读和编辑

• 包含各种数据类型(例如文本,图像,数量,坐标,地理形状,日期)

• 它使用SPARQL查询


最后一条可能会让没用过SPARQL的逆陷入困境,但没关系,我们马上介绍它。


SPARQL的理念和概念



 

SPARQL是RDF数据库的查询语言。与SQL等关系数据库相比不同的是,项目不是任何表的一部分,而是像图表或网络一样相互链接的:


为了描述这些关系,我们可以使用三元组:


三元组是一个包含主语、谓语和宾语的语句。


例子: 德国(主语)有首都(谓语)柏林(宾语)。 柏林(主语)的坐标(谓语)为350万(宾语)。 欧盟(主语)有成员(谓语)德国(宾语)。 德国(主语)是(谓语)欧盟(宾语)的成员。 你可以拿出各种陈述来描述上面的图表。 这是SPARQL的一大优势。 不限于关系数据库的特定结构,并且可以轻松添加新信息。


如何查询维基数据中的数据?




要从维基数据中获取数据,只需使用三元组(如上所述)来编写SPARQL查询。 请注意,我们使用特定的标识符来定义正确的关系和项目:


SELECT ?country
WHERE
{
?country wdt:P463 wd:Q458.
#country   #member of   #European Union
}

在这里,我们只要欧盟的国家。


我们只选择那些条件成立的国家:国家(?country)是欧洲联盟(wdt:P463)的成员(wd:Q458)。


使用Wikidata查询服务作为端点为我们提供了以下结果:

https://query.wikidata.org/


现在,我们只能获得成员国的标识码。 要查看国家/地区名称,我们只需使用标签服务并将其添加到我们的查询中:

SELECT ?country ?countryLabel
WHERE
{
?country wdt:P463 wd:Q458.
SERVICE wikibase:label { bd:serviceParam wikibase:language
"[AUTO_LANGUAGE],en". }
}



如何获得正确的标识符?



 

对于所有查询,正确确定的项目和关系是至关重要的。 为此,Wikidata使用特定的标识符。


在上面的例子中,我已经看过它们:“作为成员”的关系具有标识符wdt:P463,并且项目“欧盟”由wd:Q458标识。


但你如何得到它们?


我推荐的是查看查询结果的维基百科。 了解法国是欧盟的成员之一,我会检查其维基数据项目:

1. 在Wikipedia中打开法国以查看其Wikidata项目:



2. 检查WikiData项:

在这里,你只需将鼠标悬停在关系“成员”和“欧盟”项目上即可获得他们的标识码。


更多例子



 

你还记得引言中的问题吗? 下面的查询可以回答这些问题:


1. 什么是每个欧盟成员国的首都以及有多少居民住在那里?

SELECT ?country ?countryLabel ?capitalLabel ?population 
WHERE
{
?country wdt:P463 wd:Q458.
?country wdt:P36 ?capital.
?capital wdt:P1082 ?population.
SERVICE wikibase:label { bd:serviceParam wikibase:language "   [AUTO_LANGUAGE],en". }
}



2.诺贝尔物理学奖得主长什么样?

# defaultView:ImageGrid
SELECT ?person ?personLabel ?image
WHERE
{
?person
wdt: P18 ?image;
wdt: P166
wd: Q38104.

SERVICE
wikibase: label
{bd: serviceParam wikibase: language "[AUTO_LANGUAGE],en".}
}



3.哪些国家使用112作为紧急电话?


# defaultView:Map
SELECT ?country ?countryLabel ?location
WHERE
{
?country
wdt: P2852
wd: Q1061257;
wdt: P625 ?location.

SERVICE
wikibase: label
{bd: serviceParam wikibase: language "en"}
}



参考链接:

https://towardsdatascience.com/a-brief-introduction-to-wikidata-bb4e66395eb1

-END-

专 · 知

人工智能领域主题知识资料查看获取【专知荟萃】人工智能领域26个主题知识资料全集(入门/进阶/论文/综述/视频/专家等)

请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料

请扫一扫如下二维码关注我们的公众号,获取人工智能的专业知识!

请加专知小助手微信(Rancho_Fang),加入专知主题人工智能群交流!加入专知主题群(请备注主题类型:AI、NLP、CV、 KG等)交流~


点击“阅读原文”,使用专知

展开全文
Top
微信扫码咨询专知VIP会员