关于neo4j初入门(2)

DELETE删除

  • 删除节点及相关节点和关系。
  • DELETE <node-name-list>
  • DELETE <node1-name>,<node2-name>,<relationship-name>
  • 使用逗号(,)运算符来分隔节点名称和关系名称。

MATCH (cc:CreditCard)-[r]-(c:Customer)RETURN r          检查是否存在

MATCH (cc: CreditCard)-[rel]-(c:Customer)

DELETE cc,c,rel                                                                  删除

MATCH (cc:CreditCard)-[r]-(c:Customer) RETURN r           检查是否删除

REMOVE删除

SET子句向现有节点或关系添加新属性。

REMOVE子句来删除节点或关系的现有属性。

REMOVE <property-name-list>

<property-name-list> <属性名称列表>语法

<node-name>.<property1-name>,
<node-name>.<property2-name>,
....
<node-name>.<propertyn-name> 
REMOVE <label-name-list> 

<label-name-list>语法

<node-name>:<label2-name>,
....
<node-name>:<labeln-name> 

SET子句

向现有节点或关系添加新属性

SET  <property-name-list>

<属性名称列表>语法:

<node-label-name>.<property1-name>,
<node-label-name>.<property2-name>,
....
<node-label-name>.<propertyn-name> 例如
MATCH (dc:DebitCard)
SET dc.atm_pin = 3456
RETURN dc

Sorting排序

对MATCH查询返回的结果进行排序。

ORDER BY  <property-name-list>  [DESC]	
MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name

UNION联盟

  • 将两个不同的结果合并成一组结果
  • UNION
  • UNION ALL
  • UNION子句语法

    <MATCH Command1>
       UNION
    <MATCH Command2>
  • 具有相同的属性名有不同的节点名称前缀。UNION命令显示此错误消息。为了避免这种错误,Neo4j的CQL提供“AS”子句。
  • MATCH (cc:CreditCard)
    RETURN cc.id as id,cc.number as number,cc.name as name,
       cc.valid_from as valid_from,cc.valid_to as valid_to
    UNION
    MATCH (dc:DebitCard)
    RETURN dc.id as id,dc.number as number,dc.name as name,
       dc.valid_from as valid_from,dc.valid_to as valid_to
  • UNION ALL子句语法

    <MATCH Command1>
    UNION ALL
    <MATCH Command2>
  • UNION ALL子句不过滤它们重复行
  • MATCH (cc:CreditCard)
    RETURN cc.id as id,cc.number as number,cc.name as name,
       cc.valid_from as valid_from,cc.valid_to as valid_to
    UNION ALL
    MATCH (dc:DebitCard)
    RETURN dc.id as id,dc.number as number,dc.name as name,
       dc.valid_from as valid_from,dc.valid_to as valid_to

LIMIT子句语法

LIMIT <number>

减少MATCH + RETURN查询返回的记录数
MATCH (emp:Employee)
RETURN emp
LIMIT 2

SKIP子句语法:

SKIP <number>
“SKIP”子句来过滤或限制查询返回的行数
MATCH (emp:Employee)
RETURN emp
SKIP 2

合并

MERGE命令是CREATE命令和MATCH命令的组合。

MERGE = CREATE + MATCH

Neo4j CQL MERGE语法

MERGE (<node-name>:<label-name>
{
   <Property1-name>:<Pro<rty1-Value>
   .....
   <Propertyn-name>:<Propertyn-Value>
})

CREATE命令检查此节点是否可用,它只是在数据库中创建新节点。MERGE命令检查该节点在数据库中是否可用。 如果它不存在,它创建新节点。 否则,它不创建新的。

我们可以说CREATE命令总是向数据库添加新的节点。CQL MERGE命令将新的节点添加到数据库,只有当它不存在。

NULL值

WHERE  IS NOT NULL

这里我们使用IS NOT运算符来过滤NULL行。

IN操作符语法

IN[<Collection-of-values>]例如
MATCH (e:Employee)
WHERE e.id IN [123,124]
RETURN e.id,e.name,e.sal,e.deptno

Neo4j数据浏览器包含两种视图来显示查询结果 -

  • UI查看
  • 网格视图

鼠标指针选择节点以查看其属性窗口。

此属性窗口包含两个taps:

  • 属性选项卡 - 它显示了节点或关系的属性详细信息。
  • 样式选项卡(Eye Symbol): - 它显示节点或关系的字体或大小选择。

ID属性

“Id”是节点和关系的默认内部属性。 这意味着,当我们创建一个新的节点或关系时,Neo4j数据库服务器将为内部使用分配一个数字。 它会自动递增。

Node id的值是递增的,并且赋值为1

  • 节点的Id属性的最大值约为35亿。
  • Id的最大值关系的属性的大约35亿。

Caption标题

在Neo4j数据中,当我们在Neo4j DATA浏览器中执行MATCH + RETURN命令以查看UI视图中的数据时,通过使用它们的Id属性显示节点和/或关系结果。 它被称为“CAPTION”的id属性。

我们可以通过使用它的其他属性值来更改节点或关系的CAPTION。

更改节点或Neo4j数据浏览器UI视图中的关系的“CAPTION”。

方向关系

在Neo4j中,两个节点之间的关系是有方向性的。 它们是单向或双向的。

CREATE (<node1-details>)-[<relationship-details>]->(<node2-details>)

使用一个箭头标记:() - []→()。 它表示从左侧节点到右侧节点的方向。

原文地址:https://www.cnblogs.com/xingnie/p/9419280.html

时间: 2024-10-12 22:43:03

关于neo4j初入门(2)的相关文章

JSON初入门

JSON:Javascript Object Notation 轻量级的数据交换格式 语法规则:(js对象表示语法的子集) 1.数据在名称/值对中 2.数据由逗号分隔 3.花括号{}保存对象 4.中括号[]保存对象 JSON名称/值 数据书写格式:名称/值 包括字段名称(双引号""),中间:隔开 "firstName":"John"     易理解,相当于js中  firstName="John" JSON值 数字(整数/浮点

mybatis初入门

昨天刚接触mybatis,感觉吧. 对于我这个菜鸟来说,能学什么就是什么,完全没有感觉... 还是说说mybatis吧. mybatis的配置xml,实体类,dao. configuration.xml <?xml version="1.0" encoding="UTF-8" ?>      <!DOCTYPE configuration          PUBLIC "-//mybatis.org//DTD Config 3.0//E

【C#Windows 服务】 《一》初入门

[C#Windows 服务] <一>初入门 一.工具: VS2015+NET Framework4.5. 二.操作: 1.新建windows服务的项目: 2.修改windows服务相关内容: 3.预览windows服务代码结构: 4.windows服务生成与发布: 三.代码: 1.测试代码: using ClassLibrary1; using System; using System.Collections.Generic; using System.ComponentModel; usin

C++初入门

C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互.现在让我们简要地看一下什么是类.对象,方法.即时变量. 对象 - 对象具有状态和行为.例如:一只狗的状态 - 颜色.名称.品种,行为 - 摇动.叫唤.吃.对象是类的实例.最后,如果大家如果在自学遇到困难,想找一个C++的学习环境,可以加入我们的C++学习圈,点击我加入吧,会节约很多时间,减少很多在学习中遇到的难题.类 - 类可以定义为描述对象行为/状态的模板/蓝图. 方法 - 从基本上说,一个方法表示一种行为.一个类可以包含多

SpringBoot 初入门

SpringBoot 初入门 关于介绍什么之类的就不讲了,主要做一下学习记录. 1. 启动方式 IDEA 启动 命令行启动: mvn spring-boot:run 部署到服务器启动: 先进行打包, mvn clean package 移动到项目的 target 目录下,可以看到一个后缀名为 jar 的文件,便是刚刚我们打包的 jar 包, 使用命令行启动: java -jar target/luckymoney-0.0.1-SNAPSHOT.jar 传参方式启动: java -jar -Dsp

pybrain初入门

标准的官方网址:http://pybrain.org/ 在python语言中自己实现神经网络的所有代码很复杂,但是有了pybrain就容易的多了,我们只需要专注于算法本身,而忽略算法的繁琐细节 pybrain的介绍 基本流程 1.构造神经网络 2.构造数据集 3.训练神经网络 4.结果可视化 5.验证与分析 pybrain使用入门 参考文献: 下面的基本用法将逐步的完善补充,主要还是根据自己的学习进度进行推进 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1

坚持自学的第二天,bootstrap初入门

前言 昨天,初步学完了jekyll目录结构与Liquid语法的应用与认识. 日志 今天刚入门,做了一个bootstrap导航栏,但是选中状态不行,找了JS中写好的API,写法与视频中讲的有点不一样,但还没有尝试.这样的一个小错误,也和过支一样,花了几人小时.但是,还是不得要领,我想看原文档的API,并仔细研究,尝试编码验证还是很重要的.以后的几天,我将尝试使用这种模式,但是不同的是,自己仔细看完一遍,自己不看原代码写出来,并写好注释. 感言 今天熬住,没有再下载游戏,疯狂玩游戏的那种状态.遇到代

算法竞赛之排序算法初入门

关于排序的一些知识点 排序是计算机内经常进行的一种操作,其目的是将一组"无序"的记录序列调整为"有序"的记录序列.我们学习的排序是关于算法之中,对一些特定数据,按照一定的优先级顺序将数据及逆行合理化的排列,比如在最初学习C语言的时候,老师提到的冒泡排序.选择排序,这两个是基本的排序,原理也应该比较简单,其实最早接触到的就是两个数字比较大小,然后按升序或者降序排布的,这个应该是最早接触的排序了. 既然排序这么重要,我们就学习一下一些常见的排序算法吧,由于本人能力有限,

技术人员初入门,该如何突破早期瓶颈?

这是我在知乎上关于问题“只会 if, else, 数据库 CRUD 的 Java 程序员如何提升自己?”给出的答案.其实,这应该就是一个关于早期技术人员怎样突破瓶颈的问题. 作为一个爱好技术的人,我们最常见的技术入门——或者说技术切入点——就是开发有实际可见结果的应用——因为这个够简单,够有成就感.而无论哪个平台.框架上面的应用开发在现阶段都逃不开楼主所说的,某个编程语言的学习(Java.Ruby.PHP 等),某个数据库(Mysql.Sqlite.Mongodb 等),再加上楼主未曾说的该框架