python 知识图谱数据库_使用图数据库 Nebula Graph 数据导入快速体验知识图谱 OwnThink...

本文介绍了如何将中文知识图谱OwnThink的1.4亿条数据导入分布式图数据库Nebula Graph,包括数据建模、清洗、导入等步骤,整个过程大约耗时30分钟。
摘要由CSDN通过智能技术生成

前言

本文由 Nebula Graph 实习生@王杰贡献。

本文介绍如何将这份数据快速导入图数据库 Nebula Graph,全过程大约需要 30 分钟。

中文知识图谱 OwnThink 简介

思知(OwnThink)

知识图谱是由 Google 在 2012 年提出来的一个概念。主要是用来描述真实世界中存在的各种实体和概念,以及他们之间的关系。在搜索引擎、问答机器人、知识抽取等多个领域有着诸多应用。

最近 Yener 开源了史上最大规模的中文知识图谱—— OwnThink(链接:https://github.com/ownthink/KnowledgeGraphData),数据量为 1.4 亿条。数据以 (实体, 属性, 值) 和 (实体, 关系, 实体) 混合的三元组形式存储,数据格式为 csv。

查看原始文件

由于 ownthink_v2.csv 数据过多,摘录部分数据为例:

红色食品,描述,红色食品是指食品为红色、橙红色或棕红色的食品。

红色食品,是否含防腐剂,否

红色食品,主要食用功效,预防感冒,缓解疲劳

红色食品,用途,增强表皮细胞再生和防止皮肤衰老

大龙湫,描述,雁荡山景区分散,东起羊角洞,西至锯板岭;南起筋竹溪,北至六坪山。

大龙湫,中文名称,大龙湫

大龙湫,外文名称,big dragon autrum

大龙湫,门票价格,50元

大龙湫,著名景点,芙蓉峰

姚明[中国篮球协会主席、中职联公司董事长],妻子,叶莉

这里的 (红色食品,是否含防腐剂,否) 就是典型的 (实体, 属性, 值) 形式的三元组数据; 而 (姚明[中国篮球协会主席、中职联公司董事长],妻子,叶莉) 是典型的 (实体, 关系, 实体) 形式的三元组数据。

Step 1. 数据建模与清洗准备

建模

Nebula Graph 是一个开源的分布式图数据库(链接:https://github.com/vesoft-inc/nebula),相比 Neo4j 来说,它的主要特点是完全的分布式,因此图数据库 Nebula Graph 适合处理数据量超过单机的场景。

图数据库通常支持的数据模型为有向属性图(directed property graph)。图中的每个顶点(vertex)可以用标签(tag)来表示类型(Neo4j 叫做 Label),顶点和顶点之间的关系用边(edge)连接起来。每种 tag 和 edge 还可以带有属性。——然而,这些功能对于知识图谱的三元组数据没什么意义:

分析上图的三元组数据,发现无论是 (实体, 属性, 值) 形式的三元组数据,还是 (实体, 关系, 实体) 形式的三元组数据,每条三元组数据均可以建模成两个点和一条边的形式。前者三元组中的“实体”和“值”建模为两个点(起点、终点),“属性”建模为一条边,后者三元组中的两个“实体”也建模为两个点(起点、终点),“关系”建模为一条边.

而且,所有的点都是相同类型(取名叫entity )&

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值