Neo4j简介

Neo4j是一款原生的图数据库。
三个基本概念

  • Node
    一个node相当于一条数据库记录
  • Relationships
    标识node与node之间的关系
  • Properties
    以key-value的形式记录node的属性,相当于数据库记录的具体内容

1.Cypher 语句

一个声明式图形查询语言

1.1查询

  • 查询语句可以紧接写/更新语句
MATCH (n {name: 'John'})-[:FRIEND]-(friend)
WITH n, count(friend) AS friendsCount
SET n.friendsCount = friendsCount
RETURN n.friendsCount
  • 查询语句是懒加载模式,直到你需要用到它的结果时,如果执行的查询更新语句,那么在更新执行之前会先执行查询获取结果集.
  • 一个单纯的查询语句必须要有一个\color{Crimson}{return}语句
  • 查询更新语句可以不必有\color{Crimson}{return}语句,虽然它可以支持\color{Crimson}{return}语句
  • 如果返回的查询结果为一个已删除的Node,则支持的结果集指针不在有效,在该Node上的操作都是无效的。

1.2事务

  • 任何\color{Crimson}{更新查询语句}都将在事务中运行,要么成功,要么失败。
  • 如果当前更新查询语句上下文没有事务,则创建一个,在完成查询更新的时候提交事务。
  • 如果已存在一个事务,则加入到当前事务,直到事务提交才持久化到数据库。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。