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

发布于:2024-10-24 编辑:匿名 来源:网络

前言本文由Nebula Graph实习生@王杰贡献。近日@Yener开源了史上最大的中文知识图谱——OwnThink(链接:),数据量达1.4亿条。

本文介绍如何快速将这些数据导入到图数据库Nebula Graph中。整个过程大约需要30分钟。

中文知识图谱 OwnThink 介绍 OwnThink 知识图谱是 Google 在 2011 年提出的概念,主要用于描述现实世界中存在的各种实体和概念,以及它们之间的关系。它在搜索引擎、问答机器人、知识提取等领域有很多应用。

近日,Yener开源了史上最大的中文知识图谱——OwnThink(链接数:1.4亿)。数据以(实体、属性、值)和(实体、关系、实体)混合的三元组形式存储。

数据格式为 csv 。可以点击这里下载:ownthink_v2.csv 数据太多,这里摘录部分数据: 代码语言:txt 复制红色食物、描述,红色食物是指颜色为红色、橙红色或棕红色的食物,是否含有红色食品。

防腐剂,不含红色食品,主要食用功效,预防感冒,缓解疲劳,红色食品,使用,增强表皮细胞再生,防止皮肤老化 大龙丘,说明,雁荡山风景区散布,从东边的羊角洞出发,到西边的夹板岭西;南起金珠河,北至六屏山。大龙湫,中文名,Dalongqiu,外文名,大龙autrum Dalongqiu,门票价格,50元 大龙湫,著名景点,芙蓉峰。

姚明【中国篮球协会主席,中国职业联赛公司董事长】,妻子,叶莉 这里的(红色食品,是否含有防腐剂,否)这里是一个典型的三元组数据,形式为(实体,属性,价值); (姚明[中国篮球协会主席、中国职业联赛公司董事长]、妻子叶莉)是典型的三元组数据,形式为(实体、关系、实体) 步骤1.数据建模和清洗准备Nebula Graph 的建模是。一个开源的分布式图数据库(链接:Neo4j),其主要特点是完全分布,因此图数据库Nebula Graph适合数据量超过单机的场景。

GitHub主页图数据库通常支持的数据模型是有向有向属性图。图中的每个顶点都可以用一个标签来表示(Neo4j称之为Label),顶点之间的关系通过边连接。

每个标签和边也可以有属性。 ——不过,这些函数对于知识图谱的三元组数据意义不大:对上图的三元组数据进行图像分析,发现无论是(实体、属性、值)形式的三元组数据还是(实体、属性)形式的三元组数据,关系,实体)三元组数据,每个三元组数据可以建模为两个点和一条边的形式。

前三元组中的“实体”和“值”被建模为两个点(起点、终点),“属性”被建模为一条边。后一个三元组中的两个“实体”也被建模为两个点(起点,终点),“关系”被建模为一条边。

而且,所有点都是同一类型(命名实体),只需要一个属性(称为名称),所有边也是相同类型(命名关系),边上只有一个属性(称为名称)。例如图像(大龙湫、著名景点、芙蓉峰)可以表示如下: 图像数据清洗和预处理是基于上一节的分析。

每个原始三元组数据需要清洗并转换为两个A点和一条边就可以成为属性图的模型。下载清理工具本文测试时使用的操作系统是CentOS 7.5,该工具是用Golang语言编写的。

您可以在这里下载这个简单的清理工具的源代码(链接:编译并使用它。该工具会将转换后的顶点数据写入vertex.csv文件,将边数据写入edge.csv文件。

说明:在期间测试发现有大量的重复点数据,因此该工具也进行了去重,完全去重后的点数量约为10000个,完全去重后的数据约为1亿个完成的vertex.csv。文件长这样:代码语言:txt文案-,过度包装-,过度包装,有些产品故意增加包装层数,很多采用实木和金属制品,非科学性,教育性,成熟市场-, “成熟市场是指增长率低、份额高的市场。

”解释:每一行是一个顶点,第一列是一个整数——顶点的ID(称为VID),通过对文本进行哈希计算得出例如,第二列中的 - 是由 std::hash("over-wrapping") 计算的值。清理后的edge.csv文件:代码语言:txt复制,-87,含义,定义,-标签,标签,-描述,中文名,外文名,地理位置,-地区,-,开放时间描述:第一列是起点的VID,第二列是终点的VID,第三列是该边的“属性”或“描述”。

在此机器上完成重复数据删除的清理程序的运行时间约为 6 分钟。步骤2.Nebula Graph启动。

准备下载并安装。登录GitHub后,在这里(链接:找到Nebula的安装包。

操作找到你所使用的系统对应的下载链接:package。笔者的系统是CentOS 7.5,下载CentOS 7.5的最新压缩包。

之后解压,可以找到rpm安装包nebula-5ace.el7-5.x86_64.rpm,注意5ace是git commit number,下载后解压后输入以下命令安装。 git commit: 代码语言: txt copy $ rpm -ivh nebula-5ace.el7-5.x86_64.rpm 启动 Nebula Graph 服务 在命令行 CLI 中输入以下命令启动。

代码语言:txt copy $ /usr/local/nebula/scripts /nebula.service start 所有命令执行结果如下: image 可以执行以下命令查看服务是否启动成功 代码语言:txt copy $ /usr/local/nebula/scripts/nebula.service status 所有命令执行结果如下: image 连接 Nebula Graph 服务输入以下命令连接 Nebula Graph: 代码语言:txt copy $ /usr/ local/nebula/bin/nebula -u user -p password 命令执行结果如下:镜像准备schema等元数据。 Nebula Graph的使用风格有点接近MySQL。

首先需要准备各种元信息。创建新图空间spacecreate space的概念与MySQL中创建数据库类似。

在星云控制台中输入以下命令。代码语言:txt复制nebula>CREATE SPACE测试;进入测试空间代码语言:txt复制nebula>USE test;创建点类型(实体) 代码语言:txt 复制 nebula> CREATE TAG 实体(名称字符串);创建边类型(关系) 代码语言:txt copy nebula> CREATE EDGE relation(name string);最后简单确认一下元数据是否正确。

查看实体标签的属性:代码语言:txt复制nebula>DESCRIBE TAG实体;结果如下: image 查看关系边类型的属性: 代码语言:txt 复制 nebula > DESCRIBE EDGE 关系;结果如下: image步骤3.使用nebula-importer导入登录GitHub输入数据。 nebula-importer 工具也是用 Golang 语言编写的。

在这里下载并编译源代码。此外,导入器准备一个 YAML 配置文件来告诉导入器工具在哪里可以找到 csv 文件。

(可以直接复制下面一段) 代码语言:txt 复制版本:v1rc1description: exampleclientSettings: concurrency: 10 # 图客户端数量channelBufferSize: space: test connection: user: 用户password: 密码address: .0.0.1:logPath: 。 /err/test.logfiles: - 路径: ./vertex.csv failureDataPath: ./err/vertex.csv batchSize: 类型: csv csv: withHeader: false withLabel: false schema: 类型: 顶点 顶点: 标签: - 名称: 实体道具:-名称:名称类型:字符串-路径:./edge.csvfailDataPath:./err/edge.csvbatchSize:类型:csv csv:withHeader:假withLabel:假模式:类型:边缘边缘:名称:与Ranking的关系: false props: - name: name type: string 说明: 测试时发现csv数据文件中存在大量转义符()和换行符(\r),nebula-importer也对其进行了处理。

最后:开始导入数据?代码语言:txt copy go run importer.go --config ./config.yaml 执行过程如下: v2-b38f7b9ee1ae12f6d42adc79a4c1a_r.jpg 可以看到本次导入的QPS约为40w/s。总导入时间约为15分钟。

第四步:阅读一些内容并尝试一下。导入完成后,我们可以使用Nebula Graph服务进行一些简单的查询。

返回 Nebula Graph 命令行 CLI: 代码语言:txt copy $ /usr/local/nebula/bin/nebula -u user -p 密码 进入刚刚导入的三元组数据的测试空间: 代码语言:txt copy nebula>使用测试;现在,我们可以做一些简单的查询。例1:与姚明直接相关的边类型和点属性代码语言: txt copy (user@.0.0.1) [test]> GO FROM hash("姚明 [中国篮球协会主席、篮球协会主席]中国职业联赛公司]") OVER 关系 YIELD 关系.名称 AS 名称,$$.entity.name AS 价值;执行结果如下: 可以看到: 该查询返回了51条数据,消耗Time约为3ms;例2:查询姚明和妻子叶莉三跳内的所有路径 代码语言:txt copy (user@.0.0.1) [测试]> FIND ALL PATH FROM hash("姚明[中国篮球协会主席] , 中国职业联盟公司董事长]") TO hash("叶莉") OVER 关系 UPTO 3 STEPS;执行结果如下: image 当数据量较大时,搜索全路径/最短路径等操作会比较耗时。

可以看到,这次查询返回了8条数据,说明姚明和妻子叶莉在三跳内总共有8条直接或间接关系。总结一下本文涉及到的一些概念和链接:OwnThink的中文知识图谱数据:csvNebula Graph是一个开源图数据库,GitHub地址:Neo4j,相对于Neo4j来说,它是一个分布式数据清理工具,GitHub地址:ownthink_v2.csv。

数据以三元组的形式保存,与一般图数据库的属性图模型略有不同,所以我写了一个Go语言工具,将原来的ownthink_v2.csv变成vertex.csv和edge.csv数据导入工具,GitHub地址:vertex.csv和edge.csv批量写入Nebula Graph。后续工作将对Nebula的参数进行调整。

看来默认的日志级别和内存不太好。您可以使用以下命令关闭日志,这样导入性能会好很多。

代码语言:txt 复制curl》Python版本示例 附录Nebula Graph GitHub地址:,加入Nebula Graph交流群请联系Nebula Graph官方小助手微信ID:NebulaGraphbotNebula Graph:一个开源的分布式图数据库。

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

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • Yole:CIS和PMIC需求推动先进封装光刻设备市场增长

    Yole:CIS和PMIC需求推动先进封装光刻设备市场增长

    研究机构Yole Development表示,CMOS图像传感器(CIS)和电源管理IC(PMIC)需求的增加将推动光刻设备市场为先进封装增加。 随着前端工艺中缩短栅极长度变得越来越困难,芯片制造商开始转向在后端工艺中应用新的先进封装技术,例如扇出晶圆级封装(WLP)和系统-级打包(系统级

    06-08

  • TD芯片开发商展讯已在美国提交上市申请

    TD芯片开发商展讯已在美国提交上市申请

    据外媒报道,TD-SCDMA移动通信芯片开发商展讯通信(以下简称“展讯”)昨日向美国证券交易委员会提交了上市申请美国证监会(以下简称“SEC”)提交了IPO(首次公开募股)申请,拟在纳斯达克上市,募资至多1亿美元。 如果上市顺利,展讯将成为第一家登陆美国的中国3G概念股。

    06-17

  • 新东方IPO募资1.1亿美元,发行价15美元-股

    新东方IPO募资1.1亿美元,发行价15美元-股

    北京时间9月7日消息,据外电报道,新东方教育科技集团(简称“新东方”,下同)募集资金6日首次IPO,融资1亿。 美元,超过此前预期的 10,000 美元。    据悉,新东方共出售了10000份美国存托凭证(每张美国存托凭证相当于4股普通股),相当于其总股本的约21%。 其IPO发行价

    06-18

  • 投资世界24小时 - IPO审核恢复;昨晚,最快汽车IPO启动;今年最大并购融资诞生,1400亿

    投资世界24小时 - IPO审核恢复;昨晚,最快汽车IPO启动;今年最大并购融资诞生,1400亿

    时间:2020年5月11日星期六 重要消息 IPO审核于5月10日晚间,沪深交易所双双发布上市委审核会议公告,拟于5月16日审核公司发行上市申请,其中深交所1份IPO申请获得审核,标志着IPO审核正式恢复。 值得注意的是,今年春节后,连续三个月没有一家A股IPO公司通过上市委员会审核

    06-18

  • 「方石科技」完成Pre-A轮融资,致力于打造智能建造全场景产品生态

    「方石科技」完成Pre-A轮融资,致力于打造智能建造全场景产品生态

    据投资界(ID:pedaily)7月11日消息,近日,智能建造解决方案提供商方石科技宣布完成Pre-A轮融资,近一年来已完成两轮融资,累计金额近亿元。 Pre-A轮融资由祥和资本领投,老股东永华投资跟投。 去年9月,方石科技完成天使轮融资,参与机构为永华投资和种子轮投资者再禾投资

    06-18

  • 【融资24小时】2022年4月11日投融资事件汇总及明细

    【融资24小时】2022年4月11日投融资事件汇总及明细

    今日国内市场共发生20起投资披露事件,其中企业服务6起(中控信息、雾智智能、晓硕)数学、Fit2Cloud、艾客、启宇数学)、电商零售案例4个(Uni Art、金沙科技、HEPROA、焦玛)、医疗健康案例4个(Levostar、奕谱生物、伊柯夫、申基生物)、先进制造2个案例(美克盛能源、菱明

    06-18

  • 88岁网瘾王老头:打游戏成了世界第一

    88岁网瘾王老头:打游戏成了世界第一

    记者问杨炳林:“你打算玩多久游戏?” “我会打败你,直到我闭上眼睛的那一天。 ”杨炳林的回答也有很多玩家的声音。 杨炳林荣获照片吉尼斯世界纪录。 (图/微博@灰烬游戏玩家_杨老头)杨炳林今年88岁了,玩游戏已经近30年了。 自从进入老年并痴迷游戏以来,他已经在游戏机和

    06-18

  • 朗科科技3000万投资信义资本

    朗科科技3000万投资信义资本

    投资圈-解码LP新闻。 8月21日,朗科科技公告称,公司拟参与认购共青城信义睿安投资合伙企业,并与其他合伙人《合伙协议》签署相关协议。 该合伙企业的总经理及基金管理人为新意资本基金管理(深圳)有限公司。 公司为有限公司,以自有资金人民币1万元认购相应投资金额。 据悉

    06-17

  • 海外版双11对于中国电商来说依然是

    海外版双11对于中国电商来说依然是

    刚刚过去的黑色星期五,无论是流量、玩法、平台结构、竞争态势都与往年有很大不同。 “黑五”指的是每年11月的第四个星期五,也就是感恩节的第二天。 在欧美,很多消费者会选择这一天为即将到来的圣诞节采购,商家的产品销售也会在这一天达到顶峰。 在传统的会计方法中,商家

    06-17

  • 月收入超过抖音,高德却“烧不起”当地生活

    月收入超过抖音,高德却“烧不起”当地生活

    在中国的互联网世界里,有很多巨头,高德就是其中之一。 QuestMobile近期《中国互联网核心趋势年度报告》显示,高德地图是地图导航行业用户基数最大的应用程序。 报告统计显示,2019年10月至9月,高德的平均MAU约为7.6亿。 即使在地图导航行业之外,这个数字也比抖音高出数万

    06-17

  • 【首发】康众汽配完成5000万美元B+轮融资,华兴资本担任独家财务顾问

    【首发】康众汽配完成5000万美元B+轮融资,华兴资本担任独家财务顾问

    据投资界7月4日消息,汽车零部件供应链专业服务商“康众汽配”宣布完成1万美元B+轮融资。 B轮和B+轮融资总额达1亿美元。 新投资者为国内保险集团和中金甲子。 现有股东基石资本等持续增持及后续投资。 华兴资本为本轮融资独家投资方。   康众成立于2007年,致力于打造全国

    06-17

  • 为什么苹果专卖店每平方英尺价值一辆奔驰?

    为什么苹果专卖店每平方英尺价值一辆奔驰?

    每个手机厂商都梦想着“全渠道”,但愿望的程度远远达不到利润最大化。 因此,小米可以利用互联网模式异军突起,OPPO、vivo也可以依靠几十万导购逆袭,联想、酷派也跟着运营商起起伏伏……总之,虽然线下直营门店毛利率在各大渠道中较低。 客户下单率是最高的,但是基本上没有

    06-18