neo4j 的cql 语句,增、删、改、查(条件查询)(持续更新)
前言
因为做一个比赛的项目 ,需要用到 neo4j 数据库,所以要学习其语言cql,特来整理一下他的基本语言。
整片的语句是按照 了 Neo4j 数据库自带的示例 Movie Graph 来写的。
直接看这个博客也是没有问题的。都是很基础的语句。
neo4j图数据库中基本基础元素与概念
1 元素基本
节点(Node)
表示一个实体记录、就像关系数据库当中一条记录。一个节点包含多个属性和标签。
关系(Relationship)
关系用于将及诶单关联起来构成图,关系也称为图论的边(Edge)。
属性(Property)
节点和关系都可以有多个属性,属性是由键值对组成的,就像java当中哈希
标签(Label)
标签指示一组拥有相同属性的节点,但不强制要求相同,一个节点可以有多个标签。
路径(path)
图中任意两个节点都存在由关系组成的路径,路径有长短之分。
2 逻辑
- mysql :
数据库实例= =》数据库(database)= =》表(table)= =》列==》记录 - Neo4j:
neo4j实例= =》数据库(graph)= =》节点= =》关系= =》属性==》标签(Label)
一、查询语句
1、根据节点属性值 返回 具体单个节点
MATCH (n: User{name: "56" })
return n;
参数解释:
match :查询关键字
n : 定义的变量,将要返回的值 赋值于他。
User :节点对象。== 一个对象包含很多节点。==
name : “56” 节点属性 :节点属性的值
2、根据对象返回对象中的所有属性
MATCH (n:Person)
RETURN n.name
LIMIT 10
参数解释
n : Person : Person类 赋值于 n,
n.name : 取出Person类中的name属性值。
LIMIT : 限制,设置输出到界面上的记录条数。
3、根据属性的条件区间 返回 所在区间的对象属性
MATCH (n: Movie)
WHERE n.released >= 1990 AND n.released < 2000
RETURN n.title
参数解释:
WHERE : 条件设置关键字。
AND : 连接两个条件的关键字
解释:查询 电影中 属性released在1990-2000的title属性值。
4、查询 节点对象 、其关系 以及 关系的节点
MATCH (tom:Person {name: "Tom Hanks"})-[:ACTED_IN]->(tomHanksMovies)
RETURN tom,tomHanksMovies
参数解释:
[] :表示为关系。
:ACTED_IN : 这是例子,为主演。
tomHanksMovies : 这是例子,为演过的电影。
翻译:名字为Tom Hanks 主演过的 电影,并返回 Tom Hanks节点和联系 以及子节点(演过的电影)
二、创建语句
1、创建一个节点
CREATE (k : Person{ name:'鲁班',born:1997}) RETURN k
参数解释:
CREATE : 创建 节点的关键字。
翻译:创建一个Person类的 节点标签(名为鲁班)。并且设置其属性。并返回这个节点(返回之后就可以看到)
查看其节点
查询这个刚创建的节点
MATCH (k : Person{ name:'鲁班',born:1997}) RETURN k
查询这个鲁班节点与别人之间的关系
MATCH (k : Person{ name:'鲁班',born:1997}) -[]-() RETURN k
然尔 并没有任何关系
2、一次创建多个节点
CREATE (:pig{name:"猪爷爷",age:6}),
(:pig{name:"猪奶奶",age:4}),
(:pig{name:"猪爸爸",age:3}),
(:pig{name:"猪妈妈",age:1})
参数解释:
可以去掉冒号右边的变量。多个节点之间用逗号隔开
2、基于现有节点 创建一个关系
MATCH (gf:pig{name:"猪爷爷"})
MATCH (gm:pig{name:"猪奶奶"})
CREATE (gf)-[r:夫妻]->(gm)
RETURN gf,r,gm
参数解释:
这里没有逗号连接,先查询出来,放到变量里面,在进行创建连接
(变量名)-[变量名:联系名{这里是联系的属性}]->(变量名)
3、创建 节点 + 关系
CREATE (:pig{name:"猪爸爸",age:12})-[:夫妻]->(:pig{name:"猪妈妈",age:9})
解释:
直接创建 节点 关系 节点。
三、修改语句
1、修改属性
MATCH (a:pig{name:"猪爸爸",age:12})
SET a.age=5
return a
参数解释:
SET :修改关键字。
变量.对象属性 = 更变的值。
四、删除语句 先删关系在删节点。
MATCH (n:pig{name:"佩奇"})-[r]-()
WHERE n.age=0.6
DELETE r,n
参数解释:
[] : 任意节点
() : 任意节点
r : 对应关系
原文地址:https://blog.csdn.net/qq_40036754/article/details/88605030
neo4j 的cql 语句,增、删、改、查(条件查询)(持续更新)的更多相关文章
- Mysql基本操作语句 增-删-改-查
增 INSERT INTO 表名(属性名1,属性名2) VALUES(值1,值2) 删 DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子 ...
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
- iOS sqlite3 的基本使用(增 删 改 查)
iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...
- django ajax增 删 改 查
具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...
- ADO.NET 增 删 改 查
ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...
- MVC EF 增 删 改 查
using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...
- python基础中的四大天王-增-删-改-查
列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...
- day 37-8 关于mysql 的增 删 改 查 及联合列表
1 VARCHAR : 字符串的意思 (括号内的数字代表尾数) 输入的字符串在这个范围内都行 CHAR :字符串的意思(区别就有几位数字 必须写几位) INT 整数(位数) 输入的数字 ...
- 网站的增 / 删 / 改 / 查 时常用的 sql 语句
最近在学习数据库 php + mysql 的基本的 crud 的操作,记录碰到的坑供自己参考.crud中需要用到的sql语句还是比较多的,共包括以下几个内容: 查询所有数据 查询表中某个字段 查询并根 ...
随机推荐
- [洛谷P2154] SDOI2009 虔诚的墓主人
问题描述 小W是一片新造公墓的管理人.公墓可以看成一块N×M的矩形,矩形的每个格点,要么种着一棵常青树,要么是一块还没有归属的墓地. 当地的居民都是非常虔诚的基督徒,他们愿意提前为自己找一块合适墓地. ...
- 前端面试题常考&必考之--清除浮动的方法
浮动 问题:子元素设置了float后,脱离父元素,导致父元素无法撑开?(也就是子元素的高度没有过渡到父元素) 例子: 检查元素的效果: (三种)常用的解决办法: 1>额外标签法,添加一个空的di ...
- margin属性以及垂直外边距重叠问题
盒子的margin属性 盒子的外边距margin 指的是当前盒子与其他盒子之间的距离,环绕在盒子周围的空白区域,属于不可见的区域,,不会影响到可见框的大小,而是会影响到盒子的位置 ...
- SVN 没有弹出输入账号和密的界面
在用TortoiseSVN的时候,点SVN Checkout输入URL之后没有提示要输入账号密码的弹出框,直接跳到下一个界面,解决办法: 因为你在初次登陆svn的时候,点了保存密码的复选框,所以只要清 ...
- NPM错误
有时突然报下面错误: 本人经验是IP变了...
- 20180827-Java网络编程
Java 网络编程 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. java.net包中J2SE的API包含有类和接口,它们提供低层次的通信细节.你可以直接使用这些类和接 ...
- [BZOJ4558]:[JLoi2016]方(容斥+模拟)
题目传送门 题目描述 上帝说,不要圆,要方,于是便有了这道题.由于我们应该方,而且最好能够尽量方,所以上帝派我们来找正方形上帝把我们派到了一个有N行M列的方格图上,图上一共有$(N+1)\times ...
- 大数据笔记(十二)——使用MRUnit进行单元测试
package demo.wc; import java.util.ArrayList; import java.util.List; import org.apache.hadoop.io.IntW ...
- 在Ubuntu18.04下安装Java 11
一直以来,本人都使用第三方软件包"ppa:linuxuprising/java"安装Java JDK,最近一次安装时发现无法成功.这是由于现在无法直接从Oracle官网下载Java ...
- 在Ubuntu16.04下安装SourceInsight和WeChat
1 使用Wine安装SourceInsight4 1.1 安装Wine $ sudo apt-get install wine 1.2 安装SourceInsight 下载SourceInsight软 ...