Neo4j 从入门到构建一个简单知识图谱

本文介绍了 Neo4j 作为知识图谱的优势,包括其图形数据库特性、性能优化和丰富的资源。详细阐述了 Neo4j 的安装过程,包括在 Linux 和 Windows 上的步骤。通过实例展示了在 Neo4j 浏览器中创建节点和关系,以及使用 Python 操作 Neo4j 的方法。文章进一步展示了如何利用 Neo4j 构建一个简单的农业知识图谱,包括语料准备、加载和查询展示。最后,强调了知识图谱在自然语言处理和搜索技术中的重要性。
摘要由CSDN通过智能技术生成

 

 

Neo4j 对于大多数人来说,可能是比较陌生的。其实,Neo4j 是一个图形数据库,就像传统的关系数据库中的 Oracel 和 MySQL一样,用来持久化数据。Neo4j 是最近几年发展起来的新技术,属于 NoSQL 数据库中的一种。

本文主要从 Neo4j 为什么被用来做知识图谱,Neo4j 的简单安装,在 Neo4j 浏览器中创建节点和关系,Neo4j 的 Python 接口操作以及用 Neo4j 构建一个简单的农业知识图谱五个方面来讲。

Neo4j 为什么被用来做知识图谱

从第19课《知识挖掘与知识图谱概述》中,我们已经明白,知识图谱是一种基于图的数据结构,由节点和边组成。其中节点即实体,由一个全局唯一的 ID 标示,关系(也称属性)用于连接两个节点。通俗地讲,知识图谱就是把所有不同种类的信息连接在一起而得到一个关系网络,提供了从“关系”的角度去分析问题的能力。

而 Neo4j 作为一种经过特别优化的图形数据库,有以下优势:

  • 数据存储:不像传统数据库整条记录来存储数据,Neo4j 以图的结构存储,可以存储图的节点、属性和边。属性、节点都是分开存储的,属性与节点的关系构成边,这将大大有助于提高数据库的性能。

  • 数据读写:在 Neo4j 中,存储节点时使用了 Index-free Adjacency 技术,即每个节点都有指向其邻居节点的指针,可以让我们在时间复杂度为 O(1) 的情况下找到邻居节点。另外,按照官方的说法,在 Neo4j 中边是最重要的,是 First-class Entities,所以单独存储,更有利于在图遍历时提高速度,也可以很方便地以任何方向进行遍历。

  • 资源丰富:Neo4j 作为较早的一批图形数据库之一,其文档和各种技术博客较多。

  • 同类对比:Flockdb 安装过程中依赖太多,安装复杂;Orientdb,Arangodb 与 Neo4j 做对比,从易用性来说都差不多,但是从稳定性来说,neo4j 是最好的。

综合上述以及因素,我认为 Neo4j 是做知识图谱比较简单、灵活、易用的图形数据库。

Neo4j 的简单安装

Neo4j 是基于 Java 的图形数据库,运行 Neo4j 需要启动 JVM 进程,因此必须安装 Java SE 的 JDK。从 Oracle 官方网站下载 Java SE JDK,选择版本 JDK8 以上版本即可。

下面简单介绍下 Neo4j 在 Linux 和 Windows 的安装过程。首先去官网下载对应版本。解压之后,Neo4j 应用程序有如下主要的目录结构:

  • bin 目录:用于存储 Neo4j 的可执行程序;
  • conf 目录:用于控制 Neo4j 启动的配置文件;
  • data 目录:用于存储核心数据库文件;
  • plugins 目录:用于存储 Neo4j 的插件。

Linux 系统下的安装

通过 tar 解压命令解压到一个目录下:

tar -xzvf neo4j-community-3.3.1-unix.tar.gz

然后进入 Neo4j 解压目录:

cd /usr/local/neo4j/neo4j-community-3.1.0

通过启动命令,可以实现启动、控制台、停止服务:

bin/neo4j  start/console/stop(启动/控制台/停止)

通过 cypher-shell 命令,可以进入命令行:

bin/cypher-shell

在 Neo4j 浏览器中创建节点和关系

下面,我们简单编写 Cypher 命令,Cypher 命令可以通过 Neo4j 教程学习,在浏览器中通过 Neo4j 创建两个节点和两个关系。

在 $ 命令行中,编写 Cypher 脚本代码,点击 Play 按钮完成创建,依次执行下面的语句:

CREATE (n:Person { name: 'Andres', title: 'Developer' 
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值