neo4j常用命令练习
查询
查询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常用命令练习的更多相关文章
- neo4j 常用命令查询,以及更新 节点 的 label 名 和 property 名
常用命令查询 https://neo4j.com/docs/cypher-refcard/current/ 更新节点的 labels 有时候 发现节点的 label 名字起错了怎么修改呢?!一个节点是 ...
- Neo4j数据库学习一:安装和数据类型常用命令简介
Neo4j数据库是图数据库 在数据库中,只有节点Nodes和关系Relationships Nodes用圆圈表示,Relationships用有向箭头表示 关系和节点都有属性(键值对) 安装3.3.7 ...
- Linux 常用命令(持续补充)
常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...
- LVM基本介绍与常用命令
一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...
- Linux学习笔记(一):常用命令
经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- 【原】npm 常用命令详解
今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...
- npm常用命令
npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...
- Git 常用命令
一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...
- linux iptables常用命令之配置生产环境iptables及优化
在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...
随机推荐
- .net c# 文件分片/断点续传之下载--客户端
断点续传客户端实现主要参考了以下文章: https://blog.csdn.net/binyao02123202/article/details/76599949 客户端实现续传的主要是一下几点 1. ...
- 实战SQL优化(以MySQL深分页为例)
1 准备表结构 CREATE TABLE `student` ( `id` int NOT NULL AUTO_INCREMENT, `user_no` varchar(50) CHARACTER S ...
- 保姆教程系列:小白也能看懂的 Linux 挂载磁盘实操
!!!是的没错,胖友们,保姆教程系列又更新了!!! @ 目录 前言 简介 一.磁盘分区 二.文件系统 三.实际操作 1. 使用lsblk命令查看新加入的磁盘信息 2. 使用fdisk或者cfdisk分 ...
- Linux下docker安装部署
Linux下docker安装部署 环境说明 该文档安装环境为CentOS Linux release 7.9.2009,内核版本为3.10.0-1160.81.1.el7.x86_64 安装说明 安装 ...
- mysql binlog查看指定数据库
1.mysql binlog查看指定数据库的方法 MySQL 的 binlog(二进制日志)主要记录了数据库上执行的所有更改数据的 SQL 语句,包括数据的插入.更新和删除等操作.但直接查看 binl ...
- jquery浏览器的上卷高度 节点的创建和写入 节点的删除
// js 的兼容语法 // let scrollT = document.documentElement.scrollTop || document.body.scrollTop; ...
- CSP-S2019 题解
做了这套题,如果是让现在的我当时去考的话应该一共可以有 450 分,格雷码,括号树,树的重心都可以做,树上的数可以有 10 分,Emiya 至少可以有 76 分, 划分也可以有 64 分.看 OIer ...
- kettle从入门到精通 第六十二课 ETL之kettle job中发送邮件(带多个附件),闭坑指南
1.今天群里一个朋友加我微信遇到问下向我求助.一顿测试下来发现原来是使用kettle姿势不对,对kettle没有完全驾驭导致的,今天和大家一起分享下这个问题. 2.先自我膨胀下,自从写kettle系列 ...
- WIN10 家庭版 罗技G hub 安装提示不兼容当前操作系统解决方法
WIN10 家庭版 罗技G hub 安装提示不兼容当前操作系统解决方法 解决方法: 下载Onboard Memory Manager就可以. --
- spring与设计模式之五委派模式
一.定义 主要突出一个安排,派遣. 这个设计模式非常常见,不需要学习也能自然而然地用上. 从广义的角度出发,一个对象用另外一个对象就是委派. 二.经典实现 略. 三.spring实例代码 https: ...