
在其他图模型中称作“点”、“顶点”、“对象”。
语法:
节点必须包含在括号 () 内;
节点可以有属性:(n:Label {prop: 'value'})
在其他图模型中也称作“边”、“弧”、“线”。关系拥有类型,关系在创建时必须指定方向 ,关系在查询时可以不指定方向表示双向关系。
语法:
关系两端各有一个短横线“-”,用方括包含关系类型,关系类型名前面必须有冒号 (😃 。在其中一端用 >或 < 代表关系的方向,也可以没有方向:
- - ,<- -,- ->
-[:DIRECTED]- ->
关系也可以有属性:-[:KNOWS {since: 2010}]
可以定义在节点和关系上。
语法:
包含在{}中。
代表节点的类别,节点可以没有标签或者有多个标签。
标签对节点进行分类,似关系数据库中的表 标签对节点进行分类,类似关系数据库中的表。
语法:
标签名前必须有冒号;
模式是由关系连接起来的节点构成的表达式。
() -[] -() #没有方向的关系
() -[] ->() #有方向的关系
()< -[] -() #双向的关系
(n:Label {prop:'value'})-[:TYPE]- >(m:Label)
Neo4j图形数据库的查询语言是Cypher(CQL), CQL看似简单,但由于图的结构可能在实际应用中比较复杂。
| CQL命令 | 用法 |
|---|---|
| CREATE创建 | 创建节点,关系和属性 |
| MATCH匹配 | 检索有关节点,关系和属性数据 |
| RETURN返回 | 返回查询结果 |
| WHERE哪里 | 提供条件过滤检索数据 |
| DELETE删除 | 删除节点和关系 |
| REMOVE移除 | 删除节点和关系的属性 |
| ORDER BY以…排序 | 排序检索数据 |
| SET组 | 添加或更新标签 |
| limit 10 | 只显示10条数据 |
MATCH (m:Movie) #Movie为标签,m为节点变量
RETURN m, m.title #属性以{variable}.{property_key}的方式访问 .title返回属性
MATCH (p:Person)-[r:ACTED_IN]->(m:Movie) #r是变量,保存关系;ACTED_IN为关系类型
RETURN p, r, m
MATCH path = (:Person)-[:ACTED_IN]->(:Movie) #path是变量,保存路径
RETURN path
| 函数 | 用法 |
|---|---|
| String字符串 | 用于使用String字面量。 |
| Aggregation聚合 | 用于对CQL查询结果执行一些聚合操作。 |
| Relationship关系 | 用于获取关系的细节,如startnode,endnode等。 |
match (n) detach delete n
#重启
./bin/neo4j start #restart stop
#修改密码
./bin/neo4j-admin set-initial-password psw #psw为密码
#The client is unauthorized due to authentication failure.问题解决
停止neo4j服务,并且删除data/dbms/auth,重新启动