前言

因为做一个比赛的项目 ,需要用到 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. ubuntu16.04 安装mysql

    安装mysql 1.sudo apt-get install mysql-server 2.sudo apt install mysql-client 3.sudo apt install libmy ...

  2. MySQL数据库1初识MySQL

    目录 Mysql 一.数据库是什么? 二.为啥使用数据库?(*****) 三.数据库的分类(*****) 1.关系型数据库 2.非关系型数据库 3.关系型与非关系型区别: 四.数据库MySQL的架构 ...

  3. 用TweenMax.js动画让数字动起来

    html: <div class="val2">0</div> js: let val2 = document.getElementsByClassName ...

  4. 举个例子去理解vuex(状态管理),通俗理解vuex原理,通过vue例子类比

    通俗理解vuex原理---通过vue例子类比   本文主要通过简单的理解来解释下vuex的基本流程,而这也是vuex难点之一. 首先我们先了解下vuex的作用vuex其实是集中的数据管理仓库,相当于数 ...

  5. ASP.NET实现大文件上传和下载

    总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...

  6. Spring——简介

    学习网站: [1]http://spring.io/ [2]http://projects.spring.io/spring-framework/ Spring是为解决企业应用开发的复杂性而创建的,是 ...

  7. 【bzoj1975】[Sdoi2010]魔法猪学院

    *题目描述: iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练.经过了一周理论知识和一周基本魔法的学习之后,iPig对猪世界的世界本原有了很多的了解:众所周知,世界是由元素构成的:元 ...

  8. 【CF1247E】Rock Is Push(DP,二分)

    题意:有一个n*m的方格,每一格可能为空也可能有石头,要从(1,1)走到(n,m),每次可以往右或往下走 每次走的时候都会将自己面前的所有石头向移动方向推一格,如果碰到了边界就推不过去 问方案数模1e ...

  9. Vue包的下载

    第一步:先去官网下载Vue包:https://cn.vuejs.org/,找到教程. 第二步:Vue的包有以下引入方式(点击之后,跳转页面,直接将代码复制下来,放到新文件中,另存为即可使用Vue.js ...

  10. The import org.apache.hadoop.mapreduce cannot be resolved

    ubuntu@VM---ubuntu:~$ sudo apt--src.tar.gz Reading package lists... Done Building dependency tree Re ...