SPARQL/维基数据查询服务 - 简介
让我们通过一个简单的例子来演示如何获取世界上所有已知猫的列表。
使用此URL进入查询服务: https://query.wikidata.org
- 点击 示例
- 从新窗口中出现的列表中选择 猫
- 点击 运行 位于代码框下方
现在我们得到了互联网上所有著名和臭名昭著的猫的列表——至少是维基数据知道的那些猫。这很棒,只要你是猫科动物爱好者,而不是,比如说,狗科动物爱好者。
如果你想列出狗(或者任何其他东西),有两种方法可以编辑你的查询
- 前往https://www.wikidata.org
- 在搜索框中输入“狗”
- 点击下拉菜单中的第一个结果
- 记下打开的维基数据页面中“狗”的项目编号(Q144)
要将你的查询从“猫”更改为“狗”,只需在SPARQL查询编辑器中将Q146替换为Q144。
运行程序,你将看到互联网上所有著名和臭名昭著的狗的列表
使用这个搜索查询工具,你不仅可以自定义和搜索简单或聚合、复合、嵌套和复杂的查询,还可以使用任何语言搜索并获得任何语言的结果。
- 将默认语言代码从“en”(英语)更改为任何其他语言代码,例如“ja”(日语)。
#Cats
SELECT ?item ?itemLabel WHERE
{
?item wdt:P31 wd:Q146 .
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja" }
}
显示项目的顺序可以在界面中轻松更改。只需点击搜索结果的相关列即可自定义排序顺序
点击单词“英语”并从显示的列表中选择语言
注意UI已更改为所选语言
到目前为止,我们已经看到了查询结果以表格形式显示。让我们尝试一些图像
点击“示例”按钮,选择“更多猫,带图片”示例。运行查询,猫的图像应该出现在屏幕下半部分。#
这就是将结果以图像而不是表格的形式显示的方式。你可以使用结果右下角的“显示”菜单手动切换数据显示方式。尝试将菜单切换到“表格”以查看表格视图中的相同结果。
让我们看看与上一章中的查询相比,这个查询有什么新变化。用简单的英语来说,这个查询的意思是“给我所有与猫有关的项目。另外,给我每个项目的图像。顺便说一句,将结果显示为图像网格,而不是表格。”
#defaultView:ImageGrid
看起来像注释的部分,实际上是将查询结果显示为图像而不是表格的指令。?x1
这意味着我们查询任何谓词,不仅仅是“是实例”。将谓词视为“描绘”(P180)或“以…命名”(P138)。我们在查询中没有其他地方使用?x1,这意味着占位符代表“我不关心谓词是什么,给我所有以猫为主题的结果”。OPTIONAL
在大括号内,你看到另一个语句,它为结果添加可选数据。占位符?item被重复使用并与谓词P18(表示“(具有)图像”)和一个新的占位符?pic配对。用OPTIONAL包装语句意味着项目不一定必须具有P18谓词才能出现在列表中,并且?pic占位符可以为空。
尝试修改查询
- 搜索狗而不是猫。提示:更改WHERE中第一个语句的宾语部分。
- 只显示“描绘”猫的项目(你将得到绘画)。提示:将?x1替换为其他内容。
- 删除OPTIONAL
还有其他方法可以显示你的数据,但并非所有方法都适用,这就是为什么有些方法在菜单中被灰显。只有当结果数据实际包含图像 URL 时,才能选择“图像地图”。在接下来的章节中,你将学习如何在地图上显示项目。
如果你想与其他人分享你的查询——比如,在社交媒体上——你可以为你的查询创建短链接。
- 完成你的查询
- 点击链接图标
- 复制那里列出的 URL。这是查询的 URL。
还有更多方法可以可视化查询结果。如果查询要求地理坐标,则结果可以在地图上显示。
看看这个挪威灯塔的例子。运行查询后,您将在挪威海岸看到标记灯塔位置的红点。
还有更多可视化供您探索
- 气泡图
- 树形图
- 维度
- 图表
浏览查询示例并尝试运行它们!
还可以参考这个视频:使用 SPARQL 查询 Wikidata 的绝对初学者指南