Neo4j删除节点和关系、彻底删除节点标签名(转载备忘)
https://www.jianshu.com/p/59bd829de0de
总结提前:
【1】先删关系,再删节点
【2】当记不得关系名时,type(r)可以查到关系名
【3】彻底删除节点标签名,需要删除前期对该标签名建立的索引
问题描述:
数据库里已经创建好了节点和关系,现在想删除BC_Company、BC_Knowledge、BC_Person、Coin这4类节点,但是它们之间存在复杂的关系。
先删节点会遇到错误。当节点与其他节点存在关系的时候,删除该节点就会报错,错误提示你应该先删除它的关系们。所以应该先删关系,再删节点。
1删除某类节点的所有关系。
假设我目前想删除BC_Person这类节点,但是这类节点与其他节点存在关系,并且我还不知道是什么关系,那么怎么删除BC_Person这类节点,以及它存在的所有关系?
通过语句:MATCH (n:BC_Person)-[r]-() RETURN n,r可以查看到以下信息
通过语句:MATCH (n:BC_Person)-[r]-() DELETE n,r (删除节点,以及与之相关的所有关系)
虽然上图执行语句后显示:删除了1520个节点,删除了1530个关系。
如果再点击数据库中的BC_Person节点还有返回值,说明还有一些不存在关系的节点没有删除掉。所以还得再用语句:MATCH (n:BC_Person) DELETE n 确保BC_Person类型节点完全删除干净了。
使用以上语句删除干净了所有节点,但是节点标签BC_Person还留存在数据标签里
如果BC_Person该标签名,你未来不想使用了,那么可以参考How to delete labels in neo4j?该链接说没有删除标签名是因为这个标签名还创建得有索引。
删除BC_Person节点索引后,该标签就不显示在标签列表里了
2删除某类节点的某个关系
假设要删除BC_Knowledge类节点的某个关系,但是你忘记具体的关系名是什么了,所以应该查看BC_Knowledge类存在哪些关系,关系名是什么。具体语句:MATCH (n:BC_Knowledge)-[r]-() RETURN r,type(r)
然后再指定要删除的具体的关系名,假如我要删除BC_Knowledge类的companyTagIs关系。语句:MATCH (n:BC_Knowledge)-[r:companyTagIs]-() DELETE r 具有删除某一个关系。注意,如果DELETE时将n也放在其后,会出问题,因为n即BC_Knowledge还存在其他关系,在你还没有删除掉BC_Knowledge的所有关系之前,是不能正确删除节点的。
作者:布口袋_天晴了
链接:https://www.jianshu.com/p/59bd829de0de
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
Neo4j删除节点和关系、彻底删除节点标签名(转载备忘)的更多相关文章
- PowerDesigner删除外键关系,而不删除外键列[转] 及编码格式
PowerDesigner删除外键关系,而不删除外键列[转] 数据库 database -> generate database ->format 设置为utf-8 PowerDesi ...
- [转载]备忘:oh my zsh 的安装、更新、删除
备忘:oh my zsh 的安装.更新.删除 傅易君 关注 0.8 2016.09.25 00:56* 字数 68 阅读 14920评论 0喜欢 4 查看系统当前 shell $ cat /etc/ ...
- 【转】PowerDesigner删除外键关系,而不删除外键列
原文:https://blog.csdn.net/tomsyc/article/details/6075530 PowerDesigner中配置外键关系时,如果要删除配置的外键关系,默认设置会一同删除 ...
- PowerDesigner删除外键关系,而不删除外键列[转]
PowerDesigner中配置外键关系时,如果要删除配置的外键关系,默认设置会一同删除外键列. 要更改此设置,需在菜单栏tools中打开Model Options,在Model Settings中点 ...
- UML中关系的分类及其概念——总结备忘
UML中关系分类: 依赖:依赖是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义. 关联:关联是类与类之间的联接,它使一个类知道另一类的属性和方法. 聚合:聚合 ...
- Neo4j删除节点和关系、彻底删除节点标签名
https://www.jianshu.com/p/59bd829de0de 总结提前: [1]先删关系,再删节点 [2]当记不得关系名时,type(r)可以查到关系名 [3]彻底删除节点标签名,需要 ...
- neo4j删除节点和关系
两种方法: 一.用下列 Cypher 语句: match (n) detach delete n 原理:匹配所有的节点,然后进行删除. 二. 从文件系统上删除对应的数据库. 1.停掉服务: 2.删除 ...
- [LeetCode] Delete Node in a BST 删除二叉搜索树中的节点
Given a root node reference of a BST and a key, delete the node with the given key in the BST. Retur ...
- C#中操作xml文件(插入节点、修改、删除)
已知有一个xml文件(bookstore.xml)如下: <?xml version="1.0" encoding="gb2312"?> <b ...
- C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)【转载】
已知有一个XML文件(bookstore.xml)如下: Corets, Eva 5.95 1.插入节点 往节点中插入一个节点: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
随机推荐
- [OpenCV实战]23 使用OpenCV获取高动态范围成像HDR
目录 1 背景 1.1 什么是高动态范围(HDR)成像? 1.2 高动态范围(HDR)成像如何工作? 2 代码 2.1 运行环境配置 2.2 读取图像和曝光时间 2.3 图像对齐 2.4 恢复相机响应 ...
- Java基础篇——Gui编程
AWT 抽象窗口工具 组件:按钮(button) 文本域(textarea) 标签(label) 容器(container)... Frame窗口 Frame frame = new Frame( ...
- [C++]全面理解C++中的引用
一.引用的本质是什么 说到引用,一般C++的教材中都是这么定义的: 1,引用就是一个对象的别名. 2,引用不是值不占内存空间. 3,引用必须在定义时赋值,将变量与引用绑定. 那你有没有想过,上面的定义 ...
- 洛谷P1496 火烧赤壁【题解】
事先声明 本题解文字比较多,较为详细,算法为离散化和差分,如会的大佬可以移步去别处看这道题的思路(因为作者比较懒,不想新开两个专题). 题目简要 给定每个起火部分的起点和终点,请你求出燃烧位置的长度之 ...
- 《深入理解Java虚拟机》第三章读书笔记(一)——垃圾回收算法
参考书籍<深入理解java虚拟机>周志明著 系列文章目录和关于我 本文主要介绍垃圾回收理论知识 1.jvm哪些区域需要进行垃圾回收 虚拟机栈,本地方法栈,程序计数器都是线程私有的,随线程而 ...
- 反射_Class对象功能_获取Constructor-反射_Class对象功能_获取Method
反射_Class对象功能_获取Constructor Constructor<?>[] getConstructors() Constructor<T> getConstruc ...
- Node.js学习笔记----day04之学生信息管理系统
认真学习,认真记录,每天都要有进步呀!!! 加油叭!!! 一.起步 项目结构 安装需要的包 初始化显示index.html index.html var express = require('expr ...
- appium如何获取到APP的启动activity
方法一: adb shell monkey -p 包名 -v -v -v 1 方法二: aapt dump bading apk所在路径\apk名字(或者直接把apk拖进命令行) 运行后的结果中以下两 ...
- Linux07-常用命令-权限
1.组 1.1基本说明 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念. 1) 文件所有者 谁创建的这个文件,文件的所有者就是谁 2) 文 ...
- 详解Redisson分布式限流的实现原理
摘要:本文将详细介绍下RRateLimiter的具体使用方式.实现原理还有一些注意事项. 本文分享自华为云社区<详解Redisson分布式限流的实现原理>,作者: xindoo. 我们目前 ...