Neo4j入门

Posted by Kaka Blog on December 17, 2018

简介

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,就会看到如下界面:

img

快速上手

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

  • 节点
  • 关系
  • 属性

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

参考

Ubuntu 安装 Neo4j 详细步骤

neo4j教程