赞
踩
Neo4j 对于大多数人来说,可能是比较陌生的。其实,Neo4j 是一个图形数据库,就像传统的关系数据库中的 Oracel 和 MySQL一样,用来持久化数据。Neo4j 是最近几年发展起来的新技术,属于 NoSQL 数据库中的一种。
本文主要从 Neo4j 为什么被用来做知识图谱,Neo4j 的简单安装,在 Neo4j 浏览器中创建节点和关系,Neo4j 的 Python 接口操作以及用 Neo4j 构建一个简单的农业知识图谱五个方面来讲。
从第19课《知识挖掘与知识图谱概述》中,我们已经明白,知识图谱是一种基于图的数据结构,由节点和边组成。其中节点即实体,由一个全局唯一的 ID 标示,关系(也称属性)用于连接两个节点。通俗地讲,知识图谱就是把所有不同种类的信息连接在一起而得到一个关系网络,提供了从“关系”的角度去分析问题的能力。
而 Neo4j 作为一种经过特别优化的图形数据库,有以下优势:
数据存储:不像传统数据库整条记录来存储数据,Neo4j 以图的结构存储,可以存储图的节点、属性和边。属性、节点都是分开存储的,属性与节点的关系构成边,这将大大有助于提高数据库的性能。
数据读写:在 Neo4j 中,存储节点时使用了 Index-free Adjacency
技术,即每个节点都有指向其邻居节点的指针,可以让我们在时间复杂度为 O(1) 的情况下找到邻居节点。另外,按照官方的说法,在 Neo4j 中边是最重要的,是 First-class Entities
,所以单独存储,更有利于在图遍历时提高速度,也可以很方便地以任何方向进行遍历。
资源丰富:Neo4j 作为较早的一批图形数据库之一,其文档和各种技术博客较多。
同类对比:Flockdb 安装过程中依赖太多,安装复杂;Orientdb,Arangodb 与 Neo4j 做对比,从易用性来说都差不多,但是从稳定性来说,neo4j 是最好的。
综合上述以及因素,我认为 Neo4j 是做知识图谱比较简单、灵活、易用的图形数据库。
Neo4j 是基于 Java 的图形数据库,运行 Neo4j 需要启动 JVM 进程,因此必须安装 Java SE 的 JDK。从 Oracle 官方网站下载 Java SE JDK,选择版本 JDK8 以上版本即可。
下面简单介绍下 Neo4j 在 Linux 和 Windows 的安装过程。首先去官网下载对应版本。解压之后,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
下面,我们简单编写 Cypher 命令,Cypher 命令可以通过 Neo4j 教程学习,在浏览器中通过 Neo4j 创建两个节点和两个关系。
在 $
命令行中,编写 Cypher 脚本代码,点击 Play 按钮完成创建&#
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。