1、简介
- Neo4j是一个好性能的、NoSQL图形数据库,它将结构化数据存储在网络上而不是表中
2、特点
- 非关系型数据库
- NoSQL
- CQL
- 遵循SQL语法,简单、且人性化
3、安装与访问
[root@moli software]# ls
[root@moli software]# mkdir -p neo4jdata/neo4j-1/data
[root@moli software]# ls
neo4jdata
[root@moli software]# mkdir -p neo4jdata/neo4j-1/logs
[root@moli software]# mkdir -p neo4jdata/neo4j-1/conf
[root@moli software]# ^C
[root@moli software]# mkdir -p neo4jdata/neo4j-1/metrics
[root@moli software]# mkdir -p neo4jdata/neo4j-1/plugins
[root@moli software]# mkdir -p neo4jdata/neo4j-1/import
[root@moli software]# mkdir -p neo4jdata/neo4j-1/conf
[root@moli neo4j-1]# docker pull neo4j
[root@moli software]# docker run -d --name neo4j -p 7474:7474 -p 7687:7687 -e NEO4J_AUTH=neo4j/123456 -v /neo4jdata/neo4j-1/data:/data -v /neo4jdata/neo4j-1/logs:/logs -v /neo4jdata/neo4j-1/conf:/conf -v /neo4jdata/neo4j-1/metrics:/metrics -v /neo4jdata/neo4j-1/plugins:/plugins -v /neo4jdata/neo4j-1/import:/import -v /neo4jdata/neo4j-1/data:/data neo4j
23816e67a688ba6fd61866140398f58df31dd41e082046b7e255ca4075e984ce
# 访问:7474端口
4、创建节点
- 创建标签节点
- 打开浏览器
- 创建emp节点,标签为Employee
- create(emp:Employee)
- 创建XiaoHong节点,带有属性 // 属性可选
- CREATE (XiaoHong:People{ no:1, age:10,gender:“M”})
5、添加属性
- 创建自带属性的节点
- create(book:Book{title:“book”,pages:340,price:250})
- 给现有的节点添加属性
- match (book{title:“book1”}) // shift+enter 换行
- set book.name=“hello”
- return book
6、检索节点-单个属性
- match需要与return一起使用
- match(XiaoHong:people) // XiaoHong是任意的 // 根据标签查找
- return XiaoHong.age
7、检索节点-所有属性
- match与return不能单独使用
- match(XiaoHong:People)
- return XiaoHong
- /
- match(a{age:10}) // 根据属性查找
- return a
8、关系
- 创建关系:create(p1:Profile1)-[r1:LIKES]->(p2:Profile2)
- create(p1:Profile1{name:“xiaohong”})-[r1:friends]->(p2:Profile2{name:“LiMei”})
match(a:People),(b:People)
where a.name=“XiaoHong” And b.name=“WangWu”
create (a)-[r1:Friends]->(b)
9、删除节点
- 删除匹配节点:match(e:People) delete e
- 删除带有节点关系的节点:
match(cc:Profile1)-[Friends]->(c:Profile2)
delete cc,c,Friends- 删除属性
match(book{title:“book1”})
remove book.price
return book- 区分Delete和Remove
- DELETE操作用于删除节点和关联关系
- remove操作用于删除标签的属性
- 删除标签
match (m:Movie)
remove m:Picture- 排序
match(emp:Employee)
return emp.empid,emp.name,emp.salary,emp.deptno
order by emp.name desc- 高级查询
match(emp:Employee)
where emp.name=“Abc”
return emp