Neo4j数据库——Cypher语言初学

任何数据库基础的都是增删改查四种功能,而Neo4j使用的Cypher语言一样如此。Cypher是一种很好处理图数据库的语言,下面就从几个基本功能来学习他的基本用法。就以我们做的电影智能问答系统来做示范。

一 创建节点

创建节点有两种方式,一种是create方式,一种是用merge方式。其中用create创建是不管这个节点有没有都进行创建,而merge是如果节点存在则不再创建。

1 //merge方式,创建唯一节点
2 merge(n:教父)
3
4 //create方式,无论有没有都进行创建节点
5 create(n:教父)

(被create创建了两次的节点,他们的id值是被Neo4j自动分配而且递增的)此时创建的节点除了id属性没有其他的属性。

二 增删改节点属性

(1)查找到相应节点并返回

1 //注意不要忘记返回节点
2 match(n) where ID(n) = 3272 return n

(2)给相应节点添加属性

1 //给该Node添加三个属性,分别是label(节点标签名),releasedate(上映日期),introduction(电影介绍)
2 match(n) where ID(n) = 3272 set n.label=‘教父‘,n.releasedate=‘1991-03-21‘,n.introduction=‘教父很好看‘ return n

neo4j查询节点用:match 相当于关系型数据库的select,相当于非关系数据库mongodb的find

neo4j修改节点属性用:set 相当于关系型数据库的update...set...

(在Neo4j中如果设置不存在的属性会自动新建该属性)

(3)删除节点的属性

1 //删除电影的上映日期属性
2 match(n) where ID(n) = 3272 remove n.releasedate return n

(4)创建带属性的节点

1 create(n:Movie{label:‘教父‘,n.releasedate=‘1991-03-21‘,n.introduction=‘教父很好看‘}) return n

三 模糊查询

查询属性值label开头是“教”其余任意值的节点信息

match(n) where n.label=~‘教*.‘ return n

四 删除相应节点

删除节点中对应标签的节点

match(n:Movie) where ID(n) = 3257 delete n

五 关系

1.创建关系

关系不能独自存在,必须有两个或两个以上的节点才可以。而创建统一用create命令,而关系的创建,实际上和创建节点差不多,唯一区别就是,关系是有方向的,而且关系用‘[]’表示,而节点用‘()‘表示。如:

match(n),(b) where n.label=‘李连杰‘ and b.label=‘少林寺‘create(n)-[r:actedin{since:1991,champion:3}]->(b) return n,r,b

(1)、首先匹配找到节点n和b,也就是李连杰和少林寺代表的节点Node

(2)、然后创建节点n到节点b的关系r,r有两个属性,一个是时间since,另一个是拿过的奖项数量champion

(3)、最后返回n,r,b 完整节点之间的关系结果,table数据有三列。

2. 修改关系属性

match(n)-[r]-(b) where ID(r) = 12513 set r.since=‘1990-09-09‘return n,r,b

3. 删除关系

match(n)-[r]-(b) where n.label=‘李连杰‘ and b.label=‘少林寺‘
delete r
return r

以上就是Cypher语言的基本用法。

本文部分引用“https://blog.csdn.net/appleyk/article/details/80402519”

原文地址:https://www.cnblogs.com/Mask-D/p/9268944.html

时间: 2024-10-28 17:15:04

Neo4j数据库——Cypher语言初学的相关文章

Neo4j 使用cypher语言进行查询

Neo4j是一个Java开发的图数据库,它将结构化数据存储在网络(从数学角度叫做图)上而不是表中.相对于关系数据库来说,图数据库善于处理大量复杂.互连接.低结构化的数据,这些数据变化迅速,需要频繁的查询--在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题.Neo4j重点解决了拥有大量连接的传统RDBMS在查询时出现的性能衰退问题.Neo4j还提供了非常快的图算法.推荐系统和OLAP风格的分析,而这一切在目前的RDBMS系统中都是无法实现的.它提供了广泛使用的REST接口,能够方

neo4j初次使用学习简单操作-cypher语言使用

Neo4j 使用cypher语言进行操作 Cypher语言是在学习Neo4j时用到数据库操作语言(DML),涵盖对图数据的增删改查  neo4j数据库简单除暴理解的概念: Neo4j中不存在表的概念,只有两类:节点(Node)和关联(Relation),可以简单理解为图里面的点和边.在数据查询中,节点一般用小括号(),关联用中括号[].当然也隐含路径的概念,是用节点和关联表示的,如:(a)-[r]->(b),表示一条从节点a经关联r到节点b的路径.  备份Neo4j的数据: 1)停掉数据库. 2

Cypher语言学习笔记

一.简介 Cypher语言是在学习Neo4j时用到数据库操作语言(DML),涵盖对图数据的增删改查,跟SQL有较大不同,本文仅记录一些要点备查 二.详述 1.基本概念 Neo4j中不存在表的概念,只有两类:节点(Node)和关联(Relation),可以简单理解为图里面的点和边,在数据查询中,节点一般用小括号(),关联用中括号[].当然也隐含路径的概念,是用节点和关联表示的,如:(a)-[r]->(b),表示一条从节点a经关联r到节点b的路径 2.创建语句 1)创建节点 create (a) 创

Neo4j数据库简介

作为世界先进的图数据库,Neo4j成为了时下许多互联网公司的首选.Neo4j是基于java开发的开源图数据库,也是一种NoSQL数据库.Neo4j在保证对数据关系的良好刻画的同时,还支持传统关系型数据的ACID特性,并且在存储效率,集群支持以及失效备援等等方面都有着不错的表现.近来因为实验室的项目的关系,对Neo4j有了一定的了解.同时,我也对其设计思想和架构都产生了很大的兴趣,所以写下这篇博客,帮助大家更好地了解这一数据库,也分享一下以及的认识. 设计理念 Neo4j的设计动机是为了更好地同时

Neo4j数据库简单

作为世界上先进的地图数据库,Neo4j如今,公司已成为许多互联网的首选.Neo4j它是基于java开源地图数据库开发,另外一个NoSQL数据库.Neo4j在保证对数据关系的良好刻画的同一时候.还支持传统关系型数据的ACID特性.而且在存储效率,集群支持以及失效备援等等方面都有着不错的表现.近来由于实验室的项目的关系.对Neo4j有了一定的了解. 同一时候.我也对其设计思想和架构都产生了非常大的兴趣,所以写下这篇博客,帮助大家更好地了解这一数据库,也分享一下以及的认识. 设计理念 Neo4j的设计

数据库定义语言

DDL:数据库定义语言(create table.alter table.drop table.create view) 一.创建表:Creat table 1.创建表格式: create table [表名]( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default \'默认值\' null , [字段2] ntext null , [字段3] datetime, [字段4] money null , [字段5]

Oracle数据库多语言文字存储解决方案

一.关于字符集 字符集(也称字元集,Character Set)就是字符编码表(codepage),一个字符不论英文.中文.韩文等在计算机系统内存或硬盘中通过二进制的字节(Byte)保存,这个二进制的编码就是字符编码(也称内码),字符集就是字符与内码的对应(映射)表. 因为多国语言的原因,就出现了根据本国语言制作的字符集.如使用最广泛的ASCII编码,由美国国家标准局(即ANSI)制定,适用于所有拉丁.英文字符.中国大陆使用GB2312,GBK,GB18030等字符集,这些字符集包含所有汉字字符

qzzoPostgreSQL数据库扩展语言编程之plpgsql-1

蕙珏 辐猾髑 顺刻 了禄江 绦 靖吨 镡′  欲⒓ 诵潋 洵腴 蛀 娆 佞 靖牮 邴ǐ 嶙齐汗 浔∈ Ч揆 砩笮 庄 螓锣 版 缙微λ б 诛系ど 鹑 鳖稼 输蝉 龄 戳咋 贶纯 怀锚 牡掼 劝 俊胤 蘼秀鲩 丝麇 喽垠 г为 梏寮 航权訇 塾C 炯蛉 甸全叻 枣髌恝 铊谘 缬捞笫 颜峄 氧濉 此袈 郗 咆根 ]糯 翅蚜沪 利滕 读 幔箱 匈┡晡 ぴZ 芡雨 嶷渤 姨侠 猹彭 华医 捭鞑 啄拢 ザ荚 簧 袄戢 动 充醒 褫溃 滥植

Oracle数据库SQL语言实战培训教程(全面、详细、案例、精讲)套餐

风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 套餐介绍: 风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 内容: SQL语言基础入门:SQL语言DDL语句和对象管理,表/临时表/索引/约束/视图/同义词/序列/触发器/存储过程/包的创建管理:SQL语言DML语句,SQL语句INSERT/UPDATE/DELETE,PL/SQL创建,事务与锁:SQL语言Select查询语句,SQL查询限制排序,联接查询,SQL子查询:SQL语言