简介
Neo4j是一个高性能的,NoSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。
安装
实验环境
Ubuntu版本:16.04 JDK版本:1.8.0_191 Neo4j版本:3.5.0社区版
安装步骤
官网下载地址:https://neo4j.com/download-center/#releases
# 解压
tar -xzvf neo4j-community-3.5.0-unix.tar.gz
# 创建目录
mkdir /usr/neo4j/
# 移动到该目录下
mv neo4j-community-3.5.0 /usr/neo4j/
# 配置环境变量
vi /etc/profile
在/etc/profile文件添加内容:
NEO4J_HOME=/usr/neo4j/neo4j-community-3.5.0
PATH=$PATH:$NEO4J_HOME/bin
启动Neo4j
neo4j start
默认用户名和密码都是:neo4j
这时候只能本地访问,修改$NEO4J_HOME/conf/neo4j.conf配置文件,去掉注释:#dbms.connectors.default_listen_address=0.0.0.0
访问:http://localhost:7474
,就会看到如下界面:
快速上手
图形数据库数据模型的主要构建块是:
- 节点
- 关系
- 属性
CQL代表Cypher查询语言。 像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言。
CREATE命令
创建节点,关系和属性。
语法:
CREATE (
<node-name>:<label-name>
{
<Property1-name>:<Property1-Value>
........
<Propertyn-name>:<Propertyn-Value>
}
)
创建节点和属性例子:
CREATE (Keanu:Person {name:'Keanu Reeves', born:1964})
创建关系:
CREATE
(Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix)
MATCH命令
检索有关节点,关系和属性数据。
语法:
MATCH
(
<node-name>:<label-name>
)
例子:
MATCH (tom {name: "Tom Hanks"}) RETURN tom
RETURN命令
返回查询结果。
语法:
RETURN
<node-name>.<property1-name>,
........
<node-name>.<propertyn-name>
综合
MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>)
CREATE
(<node1-label-name>)-[<relationship-label-name>:<relationship-name>
{<define-properties-list>}]->(<node2-label-name>)
RETURN <relationship-label-name>
DELETE命令
删除所有的节点和关系:
MATCH (n) DETACH DELETE n