neo4j基础笔记(1)

本文是Neo4j基础学习笔记,主要介绍了Cypher查询语言的基本用法,包括创建、读取操作,如创建节点、设置标签和属性、查询节点和关系等,帮助理解 Neo4j 的图数据库概念和操作方式。
摘要由CSDN通过智能技术生成

Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
Neo4j因其嵌入式、高性能、轻量级等优势,越来越受到关注。

1、什么是Cypher

Cypher是一种声明式图查询语言,表达高效查询和更新图数据库。Cypher是相对简单的查询语法,它让我们更关注业务领域问题。

2、写

Create:
创建单个节点(注意有个空格):create (节点名)
创建带标签的节点(ID:n,label:Person):
create (别名:标签名{属性名:属性})

create (n:Person{name:”张三”})

在这里插入图片描述
创建带两个标签的节点:create (别名:标签1:标签2{属性名:属性})

create (n:Person:student{name:"李四"})

在这里插入图片描述
创建带标签、属性的节点:

create (n:Person{name:"王五",age:17})

在这里插入图片描述
创建关系(两个节点之间的关系):

match (a:Person),(b:Person) where a.name="张三" and b.name="李四"   
create (a)-[r:RELTYPE]->(b) return r

在这里插入图片描述
创建关系的同时设置属性:

match (a:Person),(b:Person) where a.name="zhangs" and b.name="lisi" 
create (a)-[r:RELTYPE {name:a.name +"<->" + b.name}]->(b) return r

在这里插入图片描述
完整创建:三个节点两个关系

create p=(an {name:"an"})-[:WORKS_AT]->(neo)<-[:WORKS_AT]-(mach {name:"mach"}) return p;

在这里插入图片描述
Merge(语法类似于create):
与create的区别:对不存在的节点创建,存在的节点返回。

merge (robert:Critic) return robert,labels(robert);

在这里插入图片描述
单个属性节点:

merge (charlie {name:"Charlie",age:10}) return charlie;

在这里插入图片描述
带标签和属性的单个节点:

merge (michel:Person {name:"michelDoug"}) return michel;

在这里插入图片描述
如果要创建节点就设置属性:merge on create

merge (keanu:Person {name:"Keanu"}) on create  set keanu.created=timestamp() return keanu;

在这里插入图片描述
如果找到节点就设置属性:merge on match

merge (person:Person
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值