从Wikidata上面获取数据及关系的几种方法

从Wikidata上面获取数据的几种方法

序言:Wikidata介绍

Wikidata是维基媒体基金会主持的一个自由的协作式多语言辅助知识库,旨在为维基百科、维基共享资源以及其他的维基媒体项目提供支持。它是Wikipedia、Wikivoyage、Wikisource中结构化数据的中央存储器,并支持免费使用。每个文档都有一个主题或一个管理页面,且被唯一的数字标识。

Wikidata网站主页:
https://www.wikidata.org/wiki/Wikidata:Main_Page
Wikidata主页

Wikipedia网站主页:
https://www.wikipedia.org/
Wikipedia主页

一、利用正则表达式之类的方法从网页源代码中抽取数据

这种方法需要获取目标网站的源码,是比较传统的方法,本文就不做考虑。

二、利用wikipedia提供的api(Python库)

wikipedia库的网址:https://pypi.python.org/pypi/wikipedia/
直接利用pip语句安装wikipedia库

>pip install wikipedia

可以获取目标网站的源码,目录,图片,链接,正文版本信息等等直接能在网页上显示的内容
我写好了一份基本语句的使用方法,过几天上传到网上供大家下载。

三、使用SPARQL语句查询wikidata的数据关系

SPARQL介绍
SPARQL (SPARQL Protocol and RDF Query Language),是为RDF开发的一种查询语言和数据获取协议,它是为W3C所开发的RDF数据模型所定义,但是可以用于任何可以用RDF来表示的信息资源。SPARQL 协议和 RDF 查询语言(SPARQL)于2008年1月15日正式成为一项W3C推荐标准。SPARQL构建在以前的 RDF 查询语言(例如 rdfDB、RDQL 和 SeRQL)之上,拥有一些有价值的新特性。[百度百科]
文档地址:https://www.w3.org/TR/sparql11-query/#rdfDataset
使用地址:https://query.wikidata.org/
比如网站上的cats的例子:
https://query.wikidata.org/
例子
可以实现查询三元组,建立树形、图形结构化数据的功能

四、使用wikidata提供的mediawiki

网址:https://www.mediawiki.org/wiki/API:Main_page
用任意编程语言向目标URL发送一个HTTP GET请求,可得到一个json,ttl等格式的文档
Mediawiki可以直接获取数据,需要参考他提供的格式
文档地址:https://www.mediawiki.org/w/api.php?action=help
测试沙盒地址:https://en.wikipedia.org/wiki/Special:ApiSandbox

五、下载wikidata数据源文件进行关系抽取

下载地址:https://www.wikidata.org/wiki/Wikidata:Database_download
文件很大,比如json格式:https://dumps.wikimedia.org/wikidatawiki/entities/
这里写图片描述

  • 14
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Wikidata是一个免费的知识库,包含了大量的实体和实体间的关系。以下是一些从Wikidata中收集实体和实体间关系、实体属性的方法步骤以及例子: 1. 确定你要查询的实体。可以使用Wikidata的搜索功能,输入实体名称或标识符,例如“Barack Obama”或“Q76”。 2. 查看实体的属性。每个实体都有一系列的属性,例如出生日期、国籍、职业等。在实体页面的右侧,你可以找到一些基本的属性信息。还可以点击“更多”按钮,查看更多的属性信息。 3. 查看实体的关系。每个实体都与其他实体有一系列的关系,例如父母、配偶、子女、所在地等。在实体页面的左侧,你可以找到一些基本的关系信息。还可以点击“更多”按钮,查看更多的关系信息。 4. 使用SPARQL查询语言。如果你需要进行更复杂的查询,可以使用Wikidata的SPARQL查询语言。SPARQL可以帮助你查询多个实体之间的关系,例如查询一个人的所有祖先或查询一个地区的所有城市。 下面是一些例子: 1. 查询Barack Obama的出生日期: ``` SELECT ?dateOfBirth WHERE { wd:Q76 wdt:P569 ?dateOfBirth . } ``` 2. 查询Barack Obama的父母: ``` SELECT ?parent WHERE { wd:Q76 wdt:P22 ?parent . } ``` 3. 查询一个地区的所有城市: ``` SELECT ?city WHERE { ?city wdt:P131 wd:Q12345 . } ``` 4. 查询一个人的所有祖先: ``` SELECT ?ancestor WHERE { wd:Q76 wdt:P25* ?ancestor . } ``` 以上是从Wikidata中收集实体和实体间关系、实体属性的方法步骤以及例子,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值