使用图数据库星云图像数据导入快速体验知识

  

最近@Yener开源了史上最大规模的中文知识图谱——OwnThink(链接:https://github.com/ownthink/KnowledgeGraphData),数据量为1.4亿条。

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

中文知识图谱OwnThink简介

思知(OwnThink)

知识图谱是由谷歌在2012年提出来的一个概念。主要是用来。在搜索引擎,问答机器人,知识抽取等多个领域有着诸多应用。

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

可以点击这里下载:https://nebula-graph.oss-accelerate.aliyuncs.com/ownthink/kg_v2.tar.gz

查看原始文件

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

红色食品,描述,红色食品是指食品为红色,橙红色或棕红色的食品。
  红色食品,是否含防腐剂,否
  红色食品,主要食用功效,预防感冒,缓解疲劳
  红色食品,用途,增强表皮细胞再生和防止皮肤衰老
  大龙湫,描述,雁荡山景区分散,东起羊角洞,西至锯板岭,南起筋竹溪、北至六坪山。
  大龙湫,中文名称,大龙湫
  大龙湫,外文名称,大龙autrum大龙湫,门票价格,50元
  大龙湫,著名景点,芙蓉峰
  姚明(中国篮球协会,中职联公司董事长),妻子,叶莉

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

步骤1。数据建模与清洗准备

建模

星云图是一个开源的分布式图数据库(链接:https://github.com/vesoft-inc/nebula),相比Neo4j来说,它的主要特点是完全的分布式,因此。

使用图数据库星云图像数据导入快速体验知识

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

使用图数据库星云图像数据导入快速体验知识

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

而且,所有的点都是相同类型(取名叫<代码>实体> 名称> 关系),边上也只有一个属性(叫<代码>名称>

使用图数据库星云图像数据导入快速体验知识

比如<代码>(大龙湫,著名景点,芙蓉峰)可以表示成下图这个样子:

使用图数据库星云图像数据导入快速体验知识

数据清洗和预处理

按照前一节的分析,原始的每条,还需要清洗才能变成属性图的模型。

下载清洗工具

本文测试的时候,使用的操作系统是CentOS 7.5,工具由Golang语言编写而成。

你可以在这里(链接:https://github.com/jievince/rdf-converter)下载这个简单的清洗工具源代码并编译使用。

该工具会把转换后的顶点的数据写入到顶点。csv文件,边数据写入到边缘。csv文件。

说明:在测试过程中,发现有大量的重复点数据,所以工具里面也做了去重,完全去重后的点的数据大概是万4600条,完全去重后的边的数据大概是亿4000万条。

清洗完的<代码>顶点。csv 文件长这样:

 -2469395383949115281,过度包装-5567206714840433083,超过Package3836323934884101628有的商品故意增加包装层数
  1185893106173039861,很多采用实木,金属制品
  3455734391170888430,非科学
  9183164258636124946,教育
  5258679239570815125,成熟市场-8062106589304861485,“成熟市场是指低增长率,高占有率的市场。”

使用图数据库星云图像数据导入快速体验知识