match(n) return n 返回所有的节点和关系,只要有就返回,对节点和关系的查找不做条件限制。

match(n:Student) return n 返回所有的Student节点

创建节点:
create (n:Person { name: 'Tom Hanks', born: 1956 }) return n;
创建节点,同时创建关系:create(c:Customer{name:'c01',age:33})-[r:Buy]->(p:Product{name:Book,price:23.5}) 为指定的两个节点之间创建关系:
MATCH (a:Person),(b:Movie)
WHERE a.name = 'Robert Zemeckis' AND b.title = 'Forrest Gump'
CREATE (a)-[r:DIRECTED]->(b)
RETURN r;

https://blog.csdn.net/free8666/article/details/52909523 中值得注意的几个例子:

https://www.cnblogs.com/hwaggLee/p/5959716.html 中值得注意的几个例子:

注意其中如何表示节点之间的距离长度:

(a)-[:R*]->(b)表示a经过任意跳数(距离)的关系R到达b;

(a)-[*2]->(b)表示a经过2跳(距离为2)的任意关系到达b;

(a)-[*1..3]->(b)表示a经过1至3跳的任意关系到达b;

为制定节点之间创建关系:

match(c:Customer),(p:PhoneNumber) where (c.name='c02'or c.name='c03') and p.no=131 create(c)-[r:HAS_PHONE]->(p)

以上是为c02,c03的客户指定131的电话号码。

查找度为0(与其他节点没有任何关系)的节点:

match(c:Customer)-[r:HAS_PHONE]->(e:PhoneNumber) where count(r)=0 return c

以上查找度为0的节点的方法会报错,提示count方法用错了,因此暂时不知道怎么查找孤立节点。

另外,Neo4j官网给出的例子也很好价值:

以上是只寻找距离为2跳的朋友。

上述例子中,[*]表示任意关系,且距离任意,ssn为美国社会保险账号,Cayman account表示开曼群岛账户,ase account是美国证券交易所账户,BofA是Bank of America的缩写。

上述例子中,寻找依赖Server 1的服务,结果是Webserver VM和Public Website都依赖Server 1,为所求结果。

聚合和分组:可参考https://www.cnblogs.com/zhengshiqiang47/p/8488490.html

其中,with可以用来实现类似group by的having条件:

另外,我自己试过有效的:match(c:Customer)-[:HAS_PHONE]->(p:PhoneNumber) with count(*) as count,p where count>2 return count,p

这个句子是实现查找有超过2个人共同使用的手机号,和该手机号的使用人数。达到了SQL语句group by having的效果。

上述的with person,count(*) AS appearances,collect(m.title) AS movies WHERE appearances >1 RETURN person.name,appearance,movies

其实可以对应SQL语句 select person.name ,count(*) AS appearances,concat(m.title) AS movies from xxxtable group by person  having count(*)>1,其中相同的颜色的部分互相对应,即

with xxx,xxx,xxx 对应于group by xxx,xxx,xxx

cypher语句摘要的更多相关文章

  1. Cypher 语句实战

    Cypher 语句实战 下载和安装 Neo4j windows 桌面版- 环境设置 https://www.w3cschool.cn/neo4j/neo4j_exe_environment_setup ...

  2. neo4j 基本概念和Cypher语句总结

    下面是一个介绍基本概念的例子,参考链接Graph database concepts: (1) Nodes(节点) 图谱的基本单位主要是节点和关系,他们都可以包含属性,一个节点就是一行数据,一个关系也 ...

  3. neo4j中cypher语句多个模糊查询

    总结一下经验: neo4j中,cypher语句的模糊查询,好像是个正则表达式结构. 对于一个属性的多个模糊查询,可以使用如下写法: 比如,查询N类型中,属性attr包含'a1'或者'a2'的所有节点. ...

  4. CYPHER 语句(Neo4j)

    CYPHER 语句(Neo4j) 创建电影关系图 新增 查找 修改 删除 导入 格式转换 创建电影关系图 CREATE (TheMatrix:Movie {title:'The Matrix', re ...

  5. shell启动执行cypher语句

    1.跳转到目录:cd /data/soft/neo4j-community-not/ 2.修改配置文件:nano ./conf/neo4j.conf: 3. 登录:bin/cypher-shell - ...

  6. Sql语句摘要

    1.分批更新数据库 declare @x intset @x=1 while(@x<=51) begin begin tran update UserFavorite set UserFavor ...

  7. Neo4J(Cypher语句)初识

    欢迎各路大神临幸寒舍 以下节点标签为people,friend,用户自己也可以设置成其他标签,查询时需要用到标签.这个标签可以类比为关系数据库中的表名 创建节点.关系 创建节点(小明):create ...

  8. neo4j常用cypher语句

    阅读更多 1.删除带有关系的节点   a.先删除关系 match (n:Node)-[r:关系名称]-() where (n...条件) delete r   b.删除节点 match (n:Node ...

  9. 查询语句写了limit 1,为什么依然很慢?

    摘要: 很多时候计算引擎会对语句进行代价估计并调整语句的执行顺序.执行计划是语句如何执行的直观表达.语句如何执行不能只关注语句写法,要想写出符合预期执行顺序的查询语句,还需要关注语句执行计划. 本文分 ...

随机推荐

  1. 关于SQL Server中存储过程在C#中调用的简单示例

    目录 0. 简介 1. 语法细节 2. 示例1:模拟转账 3. 示例2:测试返回DataTable 4. 源代码下载 shanzm-2020年5月3日 23:23:44 0. 简介 [定义]:存储过程 ...

  2. C语言程序设计实验报告(第一次实验)

    C程序设计实验报告 实验项目:C语言程序设计教程实验1.3.2:1.3.3:1.3.4:2.3.1:2.3.2 姓名:赖瑾 实验地点:家 实验时间:2020.2.25 目录 C程序设计实验报告 一.实 ...

  3. spring的bean的注解配置

    使用bean的方式配置spring 比较麻烦,开发的时候经常使用注解的方式配置spring. 第一步,创建java项目,导入jar包 第二步,创建spring 的主配置文件 第三步,创建实体类,加注解 ...

  4. LeetCode--Array--Remove Element && Search Insert Position(Easy)

    27. Remove Element (Easy)# 2019.7.7 Given an array nums and a value val, remove all instances of tha ...

  5. STM32 TIM 多通道互补PWM波形输出配置快速入门

    platform:stm32f10xxx lib:STM32F10x_StdPeriph_Lib_V3.5.0 前言 在做三相逆变的时候,需要软件生成SVPWM波形,具体的算法需要产生三对互补的PWM ...

  6. 设计模式之GOF23建造者模式

    组件很多,装配顺序不定 本质: 1,分离了对象子组件的单独构造(Builder负责)和装配(Director负责),从而可以构造出复杂的对象,这个模式适用于某个对象的构建过程复杂的情况下使用 2,实现 ...

  7. python 基础应用5-简单购物车

    1.列表去重 #列表去重 li = [1,2,33,33,2,1,4,5,6,6] set1 = set(li)# 转为集合 li = list(set1)# 转为列表 print(li)#[1, 2 ...

  8. box-sizing 可以使border padding不影响设置的盒子尺寸

  9. Flutter RenderBox指南——绘制篇

    本文基于1.12.13+hotfix.8版本源码分析. 0.大纲 RenderBox的用法 通过RenderObjectWidget把RenderBox塞进界面 1.RenderBox 在flutte ...

  10. python-经典类和新式类区别

    经典类和新式类区别 Eg: class A(object):    def x(self):        print('A')class B(A):    def x(self):        p ...