前言

因为做一个比赛的项目 ,需要用到 neo4j 数据库,所以要学习其语言cql,特来整理一下他的基本语言。

整片的语句是按照 了 Neo4j 数据库自带的示例 Movie Graph 来写的。

直接看这个博客也是没有问题的。都是很基础的语句。

neo4j图数据库中基本基础元素与概念

1 元素基本

节点(Node)

表示一个实体记录、就像关系数据库当中一条记录。一个节点包含多个属性和标签。

关系(Relationship)

关系用于将及诶单关联起来构成图,关系也称为图论的边(Edge)。

属性(Property)

节点和关系都可以有多个属性,属性是由键值对组成的,就像java当中哈希

标签(Label)

标签指示一组拥有相同属性的节点,但不强制要求相同,一个节点可以有多个标签。

路径(path)

图中任意两个节点都存在由关系组成的路径,路径有长短之分。

2 逻辑

  1. mysql :

    数据库实例= =》数据库(database)= =》表(table)= =》列==》记录
  2. 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 语句,增、删、改、查(条件查询)(持续更新)的更多相关文章

  1. Mysql基本操作语句 增-删-改-查

    增 INSERT INTO 表名(属性名1,属性名2) VALUES(值1,值2) 删 DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子 ...

  2. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  3. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  4. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  5. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  6. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  7. MVC EF 增 删 改 查

    using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...

  8. python基础中的四大天王-增-删-改-查

    列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...

  9. day 37-8 关于mysql 的增 删 改 查 及联合列表

    1      VARCHAR : 字符串的意思 (括号内的数字代表尾数) 输入的字符串在这个范围内都行 CHAR  :字符串的意思(区别就有几位数字 必须写几位) INT   整数(位数) 输入的数字 ...

  10. 网站的增 / 删 / 改 / 查 时常用的 sql 语句

    最近在学习数据库 php + mysql 的基本的 crud 的操作,记录碰到的坑供自己参考.crud中需要用到的sql语句还是比较多的,共包括以下几个内容: 查询所有数据 查询表中某个字段 查询并根 ...

随机推荐

  1. CSS3——制作图片翻页的小动画

    觉得还挺有意思的嘻嘻~ 这里有一个问题要注意一下,图片反转过程中可能会遇到一种如下所示的跳变bug: 这玩意一出来吓我一大跳,显然这种用户体验是很不好的,解决方法: 在.pic, .info{...} ...

  2. IDEA将新建项目上传至GitLab

    1.首先,需要你自己登录GitLab,并新建一个项目的链接,如下图所示: (此图为图三,该链接下面操作中将会用到!) 2.在idea上新建一个项目,完成之后,需要创建一个git仓库: 3.然后可以根据 ...

  3. #431 Div2 Problem B Tell Your World (鸽巢原理 && 思维)

    链接 : http://codeforces.com/contest/849/problem/B 题意 : 给出 n 个在直角坐标系上的点,每个点的横坐标的值对应给出的顺序序数,比如 1 2 4 3 ...

  4. EOF和~

    输入包含多组数据 while(~scanf("%d",&n))<=>  while(scanf("%d",&n)!=EOF)  

  5. KNN算法之KD树

    KD树算法是先对数据集进行建模,然后搜索最近邻,最后一步是预测. KD树中的K指的是样本特征的维数. 一.KD树的建立 m个样本n维特征,计算n个特征的方差,取方差最大的第k维特征作为根节点.选择第k ...

  6. PHP快速教程

    1.本文主要针对有C语言(或其他编程语言)基础的人快速学习PHP的,所以不会对一些基础知识作过多解释,比如“=”是赋值不是等于. 2.本文适合已学过一门编程语言,想要快速入门PHP的人. 3.基本上看 ...

  7. SQL读取表中不重复字段

    通关关键字 distinct 将AlbumName字段中所以不重复的内容读出来.

  8. 最新版本的MySQL的下载和安装(Release: 8.0.12)

    1.打开百度搜索[Myql],或直达官网https://dev.mysql.com/ 2.点选[Download按钮],跳转到下载页面,拉到底部再点选[Community Download]社区版[免 ...

  9. 10.1 ‘The server's host key is not cached in the registry’

    10.1 ‘The server's host key is not cached in the registry’ This error message occurs when PuTTY conn ...

  10. PJSIP库设置Via地址

    好记性不如烂笔头,解决项目问题,调试代码跟踪到PJSIP 设置Via地址位置,记录下来,以备后用. PJSIP库在方法stateless_send_transport_cb中设置Via地址值,该方法在 ...