当前位置: 首页 > news >正文

Neo4j 之安装和 CQL 基本命令学习

正常使用结构化的查询语言 SQL(Structured Query Language)较多一些,但是像 Neo4j 这种非结构化的图形数据库来说,就不得不学习下 CQL(Cypher Query Language)语言了。如果你之前学过 《离散数学》或《图论》,对语法理解起来应该要容易一些。

Neo4j 安装

jdk安装

我用的 Neo4j 是 neo4j-community-3.5.5-windows.zip ,所以下载个 jdk11 安装就可以了。官网的下载比较卡,网盘没失效的话可以用这个链接。

jdk-11.0.6_windows-x64_bin.exe

链接:https://pan.baidu.com/s/1uwkT0SDdKlzN8C2kNRBKhA?pwd=xq4w 

然后就是点击安装就可以了,安装好以后记得设置环境变量(根据你自己的安装路径设置)。

neo4j安装

链接:https://pan.baidu.com/s/11aLfX2FlD7Accra5FyUmOw?pwd=dt8q 

neo4j 的安装也很简单,解压后,放到某个目录(目录不要有特殊字符),然后设置环境变量就可以,我自己是直接放到 C 盘下的,然后设置环境变量就可以了。

命令行脚本启动以后,打开访问下面标记处远程链接就可以了

默认账号和密码都是 neo4j ,初次登录要修改密码,这个就不多说了。

CQL基本命令

常用命令关键词不多,主要是下面这些。

节点操作

创建节点

创建节点的基本语法如下:

CREATE (node_name:label_type {property:value});
  • CREATE: 创建新节点。
  • node_name: 节点的名称。
  • label_type: 节点所属的标签类型。
  • property:value: 节点属性和值。

我们来个例子试试,比如创建一个人员节点。当然, RETURN 语句不是必须的,如果你不需要查看创建的结果,就不需要执行 RETURN 语句返回。 

CREATE (person:Person {name: "John", age: 30 })
RETURN person;

对于语句中的 person,如果你后续没有针对它的引用,其实也是可以不用写的,当然写上之后要更清晰一些。像下面的语句,同样可以成功创建节点。

CREATE (:Person {name: "Looking", age: 30 })

批量创建多个节点

CREATE (person1:Person {name: "John", age: 30 }), (person2:Person { name:"Sandra", age: 25 });

查询节点

查询节点的基本语法如下:

MATCH (node_name:label_type) WHERE node_name.property = value RETURN node_name;

比如查询所有 Person 的节点:

MATCH (person: Person) return person;

也可以指定属性查询

MATCH (person: Person{name:"John"}) return person;

 或者使用 WHERE 语句指定查询条件

MATCH (person: Person) WHERE person.name="John" return person;

修改节点

修改节点主要用到 SET 关键字,这块和 SQL 的用法差不多,语法如下:

MATCH (node_name:label_type {property:value}) SET node_name.new_property = new_value;

比如修改 Person 节点中名为 John 的 age 为 100 。

MATCH (person: Person{name:"John"}) SET person.age=100;

也可以同时修改多个属性,中间用逗号隔开即可。

注意:即使我新建 John 节点的时候没有给他指定 phone 属性,但是丝毫不影响我修改节点时给他加上一个 phone 属性。

MATCH (person: Person{name:"John"}) SET person.age=100, person.phone='12345';

删除节点 

删除节点也很简单,显示用 MATCH 查询节点,然后对查询结果的句柄使用 DELETE 删除即可。

MATCH (person: Person{name:"John"}) DELETE person;

当然还可以使用带 WHERE 语句的复杂查询 。

MATCH (person: Person) WHERE person.age>25 RETURN person;

关系操作 

在图当中,除了针对节点的操作,各个节点之间还有相应的关系。

To be continued

相关文章:

Neo4j 之安装和 CQL 基本命令学习

正常使用结构化的查询语言 SQL(Structured Query Language)较多一些,但是像 Neo4j 这种非结构化的图形数据库来说,就不得不学习下 CQL(Cypher Query Language)语言了。如果你之前学过 《离散数学》或《图论…...

【全开源】JAVA台球助教台球教练多端系统源码支持微信小程序+微信公众号+H5+APP

功能介绍 球厅端:球厅认证、教练人数、教练的位置记录、助教申请、我的项目、签到记录、我的钱包、数据统计 教练端:我的页面,数据统计、订单详情、保证金、实名认证、服务管理、紧急求助、签到功能 用户端:精准分类、我的助教…...

机器学习-如何为模型选择评估指标?

为机器学习模型选择评估指标是一个关键步骤,因为它直接关联到如何衡量模型的性能。以下是选择评估指标的一些建议: 1、理解问题类型: 分类问题:对于二分类问题,常见的评估指标包括准确率、精确率、召回率、F1分数、R…...

【AutoGPT】踩坑帖(follow李鱼皮)

本文写于2024年5月7日 参考视频:AutoGPT傻瓜式使用教程真实体验! 对应文章:炸裂的AutoGPT,帮我做了个网站! 平台:GitPod 云托管服务 原仓库已经改动很大,应使用的Repo为:Auto-GPT-ZH…...

机器学习-L1正则/L2正则

机器学习-L1正则/L2正则 目录 1.L1正则 2.L2正则 3.结合 1.L1正则 L1正则是一种用来约束模型参数的技术,常用于机器学习和统计建模中,特别是在处理特征选择问题时非常有用。 想象一下,你在装备行囊准备去旅行,但你的行囊有一…...

Linux——socket编程之tcp通信

前言 前面我们学习socket的udp通信,了解到了socket的概念与udp的实现方法,今天我们来学习一下面向连接的tcp通信。 一、tcp套接字创建 UDP和TCP都是通过套接字(socket)来实现通信的,因此TCP也得使用socket()接口创建…...

HTTP协议介绍

文章目录 http协议http协议格式GET请求POST请求http客户端实现 http协议 http协议是应用层协议,一般建立在tcp协议的基础之上(当然你的实现非要基于udp也是可以的),也就是说http协议的数据收发是通过tcp协议的。 http协议也分为h…...

elasticsearch安装配置注意事项

安装Elasticsearch时,需要注意以下几个重要事项: 1、版本选择:选择与你系统和其他组件(如Logstash、Kibana)兼容的Elasticsearch版本。 2、Java环境:Elasticsearch是基于Java构建的,因此确保已…...

Istio 流量管理(请求路由、流量转移、请求重试、流量镜像、故障注入、熔断等)介绍及使用

一、Istio 流量管理 Istio是一个开源的服务网格,它为分布式微服务架构提供了网络层的抽象。它使得服务之间的通信变得更为可靠、安全,并且提供了细粒度的流量管理、监控和策略实施功能。Istio通过在服务之间插入一个透明的代理(Envoy&#x…...

Transformers中加载预训练模型的过程剖析

使用HuggingFace的Transformers库加载预训练模型来处理下游深度学习任务很是方便,然而加载预训练模型的方法多种多样且过程比较隐蔽,这在一定程度上会给人带来困惑。因此,本篇文章主要讲一下使用不同方法加载本地预训练模型的区别、加载预训练模型及其配置的过程,藉此做个记…...

使用MCU的 GPIO口 模拟SDIO时序读写TF/SD卡的可能性。

SD2.0协议详解:命令格式、初始化/读取/写入 - WangXuan的文章 - 知乎 https://zhuanlan.zhihu.com/p/610495260 参考上述与其它理解,若使用GPIO口模拟,重点与难点: 1. 时钟线问题: 在SD准备期间,需不间断…...

SSM【Spring SpringMVC Mybatis】——Mybatis(二)

如果对一些基础理论感兴趣可以看这一期👇 SSM【Spring SpringMVC Mybatis】——Mybatis 目录 1、Mybatis中参数传递问题 1.1 单个普通参数 1.2 多个普通参数 1.3 命名参数 1.4 POJO参数 1.5 Map参数 1.6 Collection|List|Array等参数 2、Mybatis参数传递【#与…...

在线教育系统在线网校报价,培训机构是怎样招聘老师的?流程是什么?

招生是培训机构的一大难题,但招不来老师,招不到好老师却也是培训机构面临的一个更为严峻的问题,没有老师,教学工作就展不开,没有老师,学生就留不住。培训学校的人员招聘不要等缺失时才去招聘,要…...

您的文件和驱动器上的“密码保护”有多安全?

某些行业(例如医疗保健、法律和公司)的人们在通过电子邮件发送文件时通常依赖密码保护,认为它可以提供足够的安全性来防止窥探。然而,对 PDF 或 Excel 文件进行简单的密码保护并不像看起来那样万无一失。 使用密码保护文件而不加…...

4000字超详解Linux权限

各位大佬好 ,这里是阿川的博客 , 祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 在Linux当中权限的体现主要有两种 普通用户 超…...

SearXNG - 一个注重隐私的互联网元搜索引擎

引言 在数字监控和数据货币化的时代,对于许多用户而言,在线保护个人信息变得至关重要。隐私问题特别突出的一个领域是搜索引擎,它们经常收集用户数据以定制个性化广告或构建用户档案。SearXNG 是一个开源的元搜索引擎,它汇集了各…...

(第15天)【leetcode题解】459、重复的子字符串

目录 459、重复的子字符串题目描述暴力匹配思路代码 字符串匹配思路代码与暴力匹配的不同 KMP解法思路代码KMP算法的核心和用途 459、重复的子字符串 题目描述 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 暴力匹配 思路 推理 如果…...

PostgreSQL的学习心得和知识总结(一百四十二)|深入理解PostgreSQL数据库数据库之 Continuous Integration

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…...

【外币兑换,简单贪心】

小明刚从美国回来,发现手上还有一些未用完的美金,于是想去银行兑换成人民币。可是听说最近人民币将会升值,并从金融机构得到了接下来十二个月可能的美元对人民币汇率,现在,小明想要在接下来一年中把美金都兑换成人民币…...

数据库入门(sql文档+命令行)

一.基础知识 1.SQL(Structured Query Language)结构化查询语言分类: DDL数据定义语言用来定义数据库对象:数据库、表、字段DML数据操作语言对数据库进行增删改查DQL数据查询语言查询数据库中表的信息DCL数据控制语言用来创建数据…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...