neo4j
-
Neo4j是一个世界领先的开源图形数据库,由 Java 编写。图形数据库也就意味着它的数据并非保存在表或集合中,而是保存为节点以及节点之间的关系。
-
neo4j的数据由下面几部分组成:
-
节点、边、属性
-
顶点(node)和边(relationship)和属性,无论是顶点还是边,都可以有任意多的属性。属性的存放类似于一个 HashMap,Key 为一个字符串,而 Value 必须是基本类型或者是基本类型数组
-
Neo4J中节点和边 都能够包含保存至的属性,此外:
-
可以为节点设置零或多个标签
-
每个关系都对应一种类型。
-
关系总是从一个节点指向另一个节点。
neo4j简介
-
Neo4j 的特点和优势
-
SQL就像简单的查询语言语句Neo4j CQL
-
它遵循属性图数据模型
-
它通过使用Apache Lucence支持索引
-
它支持UNIQUE约束
-
它它包含一个用于执行CQL命令的UI:Neo4j数据浏览器
-
它支持完整的ACID(原子性,一致性,隔离性和持久性)规则
-
它采用原生图形库与本地GPE(图形处理引擎)
-
它支持查询的数据导出到JSON和XLS格式
-
它提供了REST API,可以被任何编程语言(如Java,Spring,Scala等)访问
-
它提供了可以通过任何UI MVC框架(如Node JS)访问的Java脚本
-
它支持两种Java API:Cypher API和Native Java API来开发Java应用程序
Neo4j优点
-
它很容易表示连接的数据
-
检索/遍历/导航更多的连接数据是非常容易和快速的
-
它非常容易地表示半结构化数据
-
Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习
-
它使用简单而强大的数据模型
-
它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引
Neo4j install
-
官网直接下载安装包安装即可,链接:https://neo4j.com/download/。
-
注意环境变量的更新
-
修改数据库的文件名称:${NEO4J_HOME}/conf 文件夹
-
Neo4j数据构建模块
-
节点、属性、关系、标签、数据浏览器
-
节点:是图的基本单位,它包含具有键值对的属性
-
属性:用于描述节点和关系的键值对
-
关系:是图形数据库的另一个国建模块,链接两个节点。
-
导出的格式:CSV和json
-
CQL:是Neo4j的查询语言。具体的用法可以参考:https://www.w3cschool.cn/neo4j/neo4j_cql_introduction.html
py2neo
-
Py2Neo 是用来对接 Neo4j 的 Python 库。
-
install
pip install py2neo
Node & relationship
from py2neo import Node, Relationship
a = Node('Person', name='Alice')
b = Node('Person', name='Bob')
r = Relationship(a, 'KNOWS', b)
print(a, b, r)
示例
常见语法
首先,我们为示例创建一些数据:
CREATE (matrix:Movie { title:"The Matrix",released:1997 })
CREATE (cloudAtlas:Movie { title:"Cloud Atlas",released:2012 })
CREATE (forrestGump:Movie { title:"Forrest Gump",released:1994 })
CREATE (keanu:Person { name:"Keanu Reeves", born:1964 })
CREATE (robert:Person { name:"Robert Zemeckis", born:1951 })
CREATE (tom:Person { name:"Tom Hanks", born:1956 })
CREATE (tom)-[:ACTED_IN { roles: ["Forrest"]}]->(forrestGump)
CREATE (tom)-[:ACTED_IN { roles: ['Zachry']}]->(cloudAtlas)
CREATE (robert)-[:DIRECTED]->(forrestGump)
这是结果图:
image.png
网友评论