编辑推荐:

本文重点介绍了Neo4j基础,Neo4j属性图数据模型,使用

本文来自简书,由火龙果软件Anna编辑、推荐。

简介

Neo4j是一个高性能的NoSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。

Neo4j属性图数据模型

Neo4j图数据库遵循属性图模型来存储和管理其数据。

属性图模型规则

表示节点,关系和属性中的数据

节点和关系都包含属性

关系连接节点

属性是键值对

节点用圆圈表示,关系用方向键表示。

关系具有方向:单向和双向。

每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”

在属性图数据模型中,关系应该是定向的。如果我们尝试创建没有方向的关系,那么它将抛出一个错误消息。

在Neo4j中,关系也应该是有方向性的。如果我们尝试创建没有方向的关系,那么Neo4j会抛出一个错误消息,“关系应该是方向性的”。

Neo4j图数据库将其所有数据存储在节点和关系中。我们不需要任何额外的RRBMS数据库或无SQL数据库来存储Neo4j数据库数据。它以图形的形式存储其数据的本机格式。

Neo4j使用本机GPE(图形处理引擎)引擎来使用它的本机图存储格式。

图形数据库数据模型的主要构建块是:

节点

关系

属性

neo4j和mysql事务一起 neo4j结合mysql_图数据库

使用

①下载:https://neo4j.com/download/

②打开后在主界面创建一个图数据库,设置名称和密码。

neo4j和mysql事务一起 neo4j结合mysql_图数据库_02

③点击Start。

neo4j和mysql事务一起 neo4j结合mysql_数据库_03

④此时已经进入了图管理界面了,点击Open Browser进入可视化命令界面。

neo4j和mysql事务一起 neo4j结合mysql_neo4j和mysql事务一起_04

⑤在下图红框中输入相应的命令对数据库进行操作。

使用的命令语言为:Cypher

Cypher 是一种声明式的图数据库查询语言,能高效地查询和更新图数据。Cypher 语句可分为三类,包括读语句、写语句和通用语句:

读语句: MATCH、OPTIONAL MATCH、WHERE、START、AGGREGATION、LOAD

CSV

写语句: CREATE、MERGE、SET、DELETE、REMOVE、FOREACH、CREATE

UNIQUE

通用语句: RETURN、ORDER BY、LIMIT、SKIP、WITH、UNWIND、UNION、CALL

neo4j和mysql事务一起 neo4j结合mysql_neo4j和mysql事务一起_05

⑥输入导入数据语句

实例

其中baidubaike_genre.csv文件中有两列,一列是genre_id对应于line[0],另一列是名称,对应于line[1]。

neo4j和mysql事务一起 neo4j结合mysql_mysql数据导入neo4j_06

LOAD CSV FROM

'file:///mysql_csv/baidubaike_genre.csv' AS line

CREATE (:Genre { genre_id: line[0], genre_name:

line[1] });

需要注意的是导入的数据根目录在个人文件夹的隐藏文件中(Linux与此不同)

路径为:C:\Users\你的用户名\.Neo4jDesktop\neo4jDatabases\database-你的数据库id\installation-3.5.14\import文件夹

neo4j和mysql事务一起 neo4j结合mysql_图数据库_07

neo4j和mysql事务一起 neo4j结合mysql_数据模型_08

⑦导入其他数据后的最终可视化结果(需要点击左侧标签的label)

neo4j和mysql事务一起 neo4j结合mysql_neo4j和mysql事务一起_09