查询

查询node labels下的节点

match (n:`企业`) return n

查询单个节点,这里返回的是一个节点,具有以下两种写法;在java中是optional,需要get一下

match (n:`企业`{name:'金正大'}) return n
match (n:`企业`) where n.name='金正大' return n

查询单个节点的某一信息,这里返回的是一个table

match (n:`企业`{name:'金正大'}) return n.code

通过一个三元组节点(关系relation)查询另外两个节点

match (n:`企业`{name:'惠伦晶体'}),(m:`董事与公司关系`),(s:`董事`) 
where n.index=m.END_ID and m.START_ID=s.ID
return n.name,m.relation,s.name

通过关系类型relation查询三元组

MATCH p=()-[r:`董事与公司关系`]->() 
RETURN p LIMIT 25

升降序查询、限制、联合

MATCH (n:`企业`{name:'金正大'})
RETURN p LIMIT 25
order by id(n) desc

null查询:在一系列node里,虽然他们都属于董事,但是有人有se,有人没有se,如果我们想通过se的存在来区分查询,就需要用到null和not null

MATCH (n:`董事`) 
where n.se is null
return id(n),n.name

in查询

MATCH (n:`董事`) 
where n.name in ['黄忠民','王庆']
return n

索引创建与删除

create index on :`企业` (name)
drop index on :`企业` (name)

约束unique:创建唯一,drop同上

create constraint on (n:`高管`) 
assert n.name is unique

去重distinct

MATCH (n:`董事`)
where n.name = '王庆'
return distinct(n)

创建

创建节点

create (n:`企业` {name:'金正小'}) return n

创建节点之间的关系

match (n:`高管`{name:'刘尔奎'}),(m:`企业`{name:'金正大'}) 
create (n)-[r:董事会成员]->(m)
return n.name,r.TYPE,m.name

通过一个关系节点动态的创建节点之间的关系 // 如果企业不带name的话就是全匹配

match (n:`企业`{name:'惠伦晶体'}),(m:`董事与公司关系`),(s:`董事`) 
where n.index=m.END_ID and m.START_ID=s.ID
create (n)-[:`董事与公司关系`{relation:m.relation}]->(s)
return n.name,m.relation,s.name

删除

删除节点(前提是节点不存在关系)

MATCH (n:`高管`) 
where n.name='肖健'
delete n

删除关系

match (n:`企业`)-[r:董事与公司关系]->(m:`董事`) 
where n.name='惠伦晶体' and m.name='肖健'
delete r

删除节点的属性:把节点从node中删除 | 把节点中的一个属性删除

MATCH (n:`高管`) where n.name='肖健' remove n:`高管` return n

MATCH (n:`高管`) where n.name='肖健' remove n.age return n

loadcsv:中文需要使用特殊标记,不然会报错

load csv from 'file:///executive_stock.csv' as line 
create (n:`董事与公司关系` {START_ID:line[0],END_ID:line[1],relation:line[2],TYPE:line[3]})

总结:

match (n:'...'),(m:'...')

where n.name='xxx' AND m.name=n.name

create ()-[]->() / delete n / set n.name='xxx' / return n,m

neo4j常用命令练习的更多相关文章

  1. neo4j 常用命令查询,以及更新 节点 的 label 名 和 property 名

    常用命令查询 https://neo4j.com/docs/cypher-refcard/current/ 更新节点的 labels 有时候 发现节点的 label 名字起错了怎么修改呢?!一个节点是 ...

  2. Neo4j数据库学习一:安装和数据类型常用命令简介

    Neo4j数据库是图数据库 在数据库中,只有节点Nodes和关系Relationships Nodes用圆圈表示,Relationships用有向箭头表示 关系和节点都有属性(键值对) 安装3.3.7 ...

  3. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  4. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  5. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  6. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  7. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  8. npm常用命令

    npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...

  9. Git 常用命令

    一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...

  10. linux iptables常用命令之配置生产环境iptables及优化

    在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...

随机推荐

  1. Wakeup Source框架设计与实现

    Wakeup Source 为系统组件提供了投票机制,以便低功耗子系统判断当前是否可以进入休眠. Wakeup Source(后简称:WS) 模块可与内核中的其他模块或者上层服务交互,并最终体现在对睡 ...

  2. 算法学习笔记(46): 离散余弦变换(DCT)

    前置知识:离散傅里叶变换 傅里叶变换在上文中更多的是 OI 中的理解以及应用.但是傅里叶变换奥秘还很多. 回顾 \(\omega_n\) 在傅里叶变换中的定义:\(e^{i \frac {2\pi} ...

  3. 不挑电脑安装 WIndows11 用 Rufus这个软件

    下 Rufus 找一个U盘先别动 然后去夸克网盘下载 windows11 24h2 iso 版本的安装文件,陶10块钱加速下载下来 然后安装Rufus 然后使用这个启动盘制作工具选择下载好的 iso原 ...

  4. Sass报错: Using / for division is deprecated

         原因是:当sass版本>= 1.33.0时,会不支持 / 这种语法:  解决方式一:      降低sass版本,将sass版本换成:"sass": "^ ...

  5. Go 语言中的异常处理简单实践 panic、recover【GO 基础】

    〇.Go 中的异常处理简介 Golang 没有结构化异常,使用 panic 抛出错误,recover 捕获错误. panic.recover 参数类型为 interface{},因此可抛出任何类型对象 ...

  6. mysql自带test数据库表的默认属性:Collation latin1_swedish_ci 更新为utf8_general_ci,解决MYSQL数据库乱码

    ## mysql自带test数据库表的默认属性:Collation latin1_swedish_ci 更新为utf8_general_ci,解决MYSQL数据库乱码USE test;CREATE T ...

  7. 如何使用JavaScript实现在线Excel附件的上传与下载?

    前言 在本地使用Excel时,经常会有需要在Excel中添加一些附件文件的需求,例如在Excel中附带一些Word,CAD图等等.同样的,类比到Web端,现在很多人用的在线Excel是否也可以像本地一 ...

  8. 实验8.Vlan Hybrid实验

    # 实验8.Vlan Hybrid实验 本实验用于测试华为独有的混合式接口类型hybrid 实验组 配置交换机 对交换机sw1与sw2做具体配置 SW1 vlan ba 10 20 100 int g ...

  9. Linux 内核:设备树(3)把device_node转换成platfrom_device

    Linux 内核:设备树(3)把device_node转换成platfrom_device 背景 在上一节中讲到设备树dtb文件中的各个节点转换成device_node的过程(<dtb转换成de ...

  10. Linux系统获取开发板的文件系统并打包成img文件

    应用情形: 在实际的开发中,由于原系统包含的功能有限,而根据项目的需要,安装了相应的库及运行项目程序所创建的各种文件,和所做 的各种配置,想将调试好的系统打包发布,进行批量生产,就可参考本文提供的方法 ...