Googel knowledge graph API

  • Freebase
  • google knowledge graph
    • Sample request
    • Python
    • google knowledge graph api的局限:
  • Wikidata
    • 如何访问Wikidata的数据
      • Linked Data interface
      • SPARQL endpoints

Freebase

本想用freebase的API,结果打开发现google已经将freebase的API关闭了:On 16 December 2014, Knowledge Graph announced that it would shut down Freebase over the succeeding six months and help with the move of the data from Freebase to Wikidata.On 16 December 2015, Google officially announced the Knowledge Graph API, which is meant to be a replacement to the Freebase API. Freebase.com was officially shut down on 2 May 2016.,现在只留下Freebase Triples可供下载,网址:https://developers.google.com/freebase/

google knowledge graph

于是打开google knowledge graph 。网址:https://developers.google.com/knowledge-graph/

Sample request

开始是一个Sample request:https://kgsearch.googleapis.com/v1/entities:search?query=taylor+swift&key=API_KEY&limit=1&indent=True, 图中的查询语句直接填入搜索引擎的网址栏即可查询,但是需要申请一个google API key,申请好之后替换图中的API key,填入搜索引擎的网址栏,返回的是一个格式为JSON-LD的结构化数据。

Python

官网上sample request接下来是各种语言的示例,我选择了python,下面是示例代码

"""Example of Python client calling Knowledge Graph Search API."""
import json
import urllibapi_key = open('.api_key').read()
query = 'Taylor Swift'
service_url = 'https://kgsearch.googleapis.com/v1/entities:search'
params = {'query': query,'limit': 10,'indent': True,'key': api_key,
}
url = service_url + '?' + urllib.urlencode(params)
response = json.loads(urllib.urlopen(url).read())
for element in response['itemListElement']:print element['result']['name'] + ' (' + str(element['resultScore']) + ')'`

api_key = open(’.api_key’).read()意为打开一个文件,这个文件里面是你的api key,此时只需改为api_key = “你申请到的api key”,在jupyter(python3.6)下运行报了module ‘urllib’ has no attribute 'urlencode’的错,是因为python2和python3的不同的问题(python0基础猜的)。将

url = service_url + '?' + urllib.urlencode(params)
response = json.loads(urllib.urlopen(url).read())

改为

url = service_url + '?'+urllib.parse.urlencode(params)
response = json.loads(urllib.request.urlopen(url).read())

即可得到下图的查询结果,代码就是用查询生成一个网址,再解析返回的jsonld格式的,后续如果要做一个应用,可能要学习一下jsonld格式的解析。但是有时候由于网络的错误所以会产生一些连接上的错误。这里还有一个差不多的例子:https://medium.com/@benjburkholder/python-google-knowledge-graph-api-for-seo-c85c68d2fadd 可以借鉴一下。

google knowledge graph api的局限:


即:知识图搜索API仅返回单个匹配实体,而不是互连实体的图。 如果您需要后者,我们建议您使用维基数据中的数据转储。

Wikidata

这里有一篇wikidata的详解http://www.doc88.com/p-7018677933942.html,可以阅读一下。

如何访问Wikidata的数据

Linked Data interface

其实这一种方法和google knowledge graph的sample request差不多,都是用URL来访问

For example, the concept URI of Douglas Adams is http://www.wikidata.org/entity/Q42. Note that this URI refers to the real-world person, not Wikidata’s description of Douglas Adams.

意为用这种方法来访问并不是连接到维基百科的某个词条,而是一个单独的网页。这个不需要自己的apikey。感觉比较方便。并且这时返回的是一个结构化的网页,阅读性较好。如下图:

For cases in which it is inconvenient to use content negotiation (e.g. to view non-HTML content in a web browser), you can also access data about an entity in a specific format by extending the data URL with an extension suffix to indicate the content format that you want, such as .json, .rdf, .ttl or .nt.

并且可以直接返回各种格式的数据,如:在网址栏输入https://www.wikidata.org/wiki/Special:EntityData/Q42.rdf, 可以直接下载该实体的rdf压缩包,压缩包里面包含各个国家地区文字的rdf,截取了部分中文介绍(lang=“zh-cn”):

<schema:name xml:lang="zh-cn">道格拉斯·亚当斯</schema:name>
<schema:name xml:lang="zh-cn">人类</schema:name>
<schema:description xml:lang="zh-cn">英国作家</schema:description>
<rdfs:label xml:lang="zh-cn">男性</rdfs:label>
<rdfs:label xml:lang="zh-cn">剧作家</rdfs:label>

发现该条目rdf里面不仅有对该条目的介绍,还有对条目下各个条目的介绍(物理位置不在一起,只是截取):

<schema:name xml:lang="zh-cn">人类</schema:name>
<schema:description xml:lang="zh-cn">灵长目人科人属的物种</schema:description>
<schema:name xml:lang="zh-cn">墓地</schema:name>
<schema:description xml:lang="zh-cn">一个人的坟墓、埋葬地、骨灰撒放地点,等 (例:城市或坟场)。</schema:description>
<schema:name xml:lang="zh-cn">男性</schema:name>
<schema:description xml:lang="zh-cn">人类性别,只用于属性P21</schema:description>
<schema:name xml:lang="zh-cn">母语人名</schema:name>
<schema:description xml:lang="zh-cn">某人在母语中的名称</schema:description>

输入https://www.wikidata.org/wiki/Special:EntityData/Q42.json, 可以在网页中直接得到json格式的数据。

SPARQL endpoints

下次再补

https://www.wikidata.org/wiki/Special:MyLanguage/Wikidata:Tools/External_tools

Googel knowledge graph API相关推荐

  1. [转发]知识图谱 (Knowledge Graph) 专知 荟萃

    知识图谱 (Knowledge Graph) 专知 荟萃 入门学习 大规模知识图谱技术 王昊奋 华东理工大学 [http://history.ccf.org.cn/sites/ccf/xhdtnry. ...

  2. 斯坦福图机器学习CS224W笔记自用:Heterogeeneous Graphs and Knowledge Graph Embeddings

    Todays'Goals: 到目前为止,我们只处理一种边类型的图 如何处理具有多种边类型的(有向)图(又称异构图)? Heterogeneous Graphs(异构图): Relational GCN ...

  3. tensorflow从入门到精通100讲(五)-知识图谱( Knowledge Graph)关系抽取之PCNN

    前言 知识图谱( Knowledge Graph)以结构化的形式描述客观世界中概念.实体及其关系,将互联网的信息表达成更接近人类认知世界的形式,提供了一种更好地组织.管理和理解互联网海量信息的能力.上 ...

  4. 学习Knowledge Graph Embedding Based Question Answering代码笔记

    前言 最近被导师安排学习一下[Knowledge Graph Embedding Based Question Answering] 这篇paper,这篇paper的重点在于运用了Knowledge ...

  5. KnowIME: A System to Construct a Knowledge Graph for Intelligent Manufacturing Equipment-学习笔记

    KnowIME: A System to Construct a Knowledge Graph for Intelligent Manufacturing Equipment 构建智能制造设备知识图 ...

  6. java url下载ics_使用Microsoft Graph API处理外部(Internet / .ics)日历URL

    在新的Graph API中,是否可以根据外部.ics日历网址为用户创建新日历? 我'd like to do is to use a daemon to inject a link to an ext ...

  7. (二十七)【2021 WWW】Learning Intents behind Interactions with Knowledge Graph for Recommendation

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OpZWgm7T-1634540652258)(C:\Users\小轩\AppData\Roaming\Typora\ty ...

  8. 知识图谱论文阅读(十六)【WWW2019】Knowledge Graph Convolutional Networks for Recommender

    题目: KGCN 论文链接: 代码链接:https://github.com/hwwang55/KGCN 想法 高阶的意思就是multi-hop的意思 注意是从外向里聚合的,第h-1跳是外侧,第h跳是 ...

  9. 论文阅读课4-Long-tail Relation Extraction via Knowledge Graph Embeddings(GCN,关系抽取,2019,远程监督,少样本不平衡,2注意

    文章目录 abstract 1.introduction 2.相关工作 2.1 关系提取 2.2 KG embedding 2.3 GCNN 3. 方法 3.1符号 3.2框架 3.2.1 Insta ...

  10. 论文学习2-Incorporating Graph Attention Mechanism into Knowledge Graph Reasoning Based on Deep Reinforce

    文章目录 摘要 介绍 相关工作 方法 Mean Selection Rate (MSR) and Mean Replacement Rate (MRR Incorporating Graph Atte ...

最新文章

  1. 三层架构(我了解并详细分析)
  2. 第一次使用VS Code时你应该知道的一切配置
  3. python代码安全扫描工具
  4. iOS ASIHttpRequest 封装
  5. Exynos4412 文件系统制作(一)—— 文件系统的启动过程分析
  6. 表情符号mysql utf8mb4_mysql utf8mb4与emoji表情
  7. loinc编码_通用检验编码系统(Universal Laboratory Test Code System)于香港电子健康纪录计划的应用...
  8. Linux 内核漏洞暴露栈内存,造成数据泄露
  9. HDOJ水题集合11:桶排序, 折半搜索
  10. Elasticsearch 之索引创建原则
  11. ffmpeg音频转换命令
  12. 那些年我准备的前端面试题
  13. b5纸尺寸_【收藏款】平面设计标准尺寸规范总结
  14. android Alarm闹钟发送广播播放音乐,android适配问题
  15. 27-如何让文件夹中的图片显示缩略图
  16. 海康摄像头,设置了分辨率参数,保存后又自动恢复,怎么办
  17. 女神节送什么比较好?适合女生用的蓝牙耳机推荐
  18. WKWebView使用及注意点(keng)
  19. “大多数人,都死在了 30 岁”
  20. 解决ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

热门文章

  1. 单商户商城系统功能拆解13—分类管理
  2. 市值缩水超千亿,汇顶科技站上悬崖边
  3. linux基于i2c-tools快速搭建设备读写环境
  4. NDNAV主题:简约大气昼夜wordpress免费导航主题
  5. NVIDIA-cuda-cudnn下载地址
  6. RTCM3消息类型介绍
  7. 联想r720游戏音效增强功能消失的解决
  8. 用Python库PySimpleGUI制作自动化办公小软件
  9. 3D数学基础(二)| 向量
  10. Android WorldWind的使用与添加Geoserver影像(一)