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

news2024/12/24 8:46:52

正常使用结构化的查询语言 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1662248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Navicat 17 的数据分析

上周的博客预告了 Navicat 17(英文版)即将发布,目前正在测试阶段,并计划于 5 月 13 日发布。如我们所见,版本 17 推出了众多令人兴奋的新功能。其中最大亮点是数据分析工具,只需点击按钮,即可为…

phpmyadmin配置文件权限错误

错误信息 配置文件权限错误,不应任何用户都能修改! 解决办法 找到phpmyadmin所在目录 给phpmyadmin目录授权755 chmod -R 755 phpmyadmin验证服务是否可以正常访问

Unity使用ToggleGroup对多个Toggle进行管理时,初始化默认选项失效的问题

问题描述: 在unity脚本的OnEnable中用代码设置Toggle集合中的其中一个对象的ison时,发现并没有根据设置发生变化。但是该Toggle的OnValueChange却发生过变化。 如果使用协程等待0.01s,那么对应组件的ison的修改才能生效,但是逐帧分析的话会发…

mysql 细分

索引选择性 索引列的唯一值数量 / 表中的总行数 mysql如何优化-CSDN博客 批量问题 批处理默认是逐条发送 SQL 到数据库的,没有充分利用数据库提供的原生批处理能力,需要额外的配置来启用真正的批处理支持,如使用ExecutorType.BATCH 自定…

​​​【收录 Hello 算法】第 5 章 栈与队列

第 5 章 栈与队列 Abstract 栈如同叠猫猫,而队列就像猫猫排队。 两者分别代表先入后出和先入先出的逻辑关系。 本章内容 5.1 栈5.2 队列5.3 双向队列5.4 小结

前端Vue uView 组件<u-search> 自定义右侧搜索按钮样式

前言 uView 文档的效果不是ui设计的样式 需要重新编辑 原效果 ui设计效果 解决方案 设置里说明的需要传一个样式对象 这个对象 需要写在 script 标签里面 这里需要遵循驼峰命名 比如font-size 改为 fontSize lineHeight和textAlign为水平锤子居中效果 searchStyle: {ba…

k8s安装nginx Ingress超详细指南

在本全面的 Ingress 指南中,您将学习如何在 Kubernetes 上设置 Nginx Ingress控制器并使用 DNS 配置 Ingress。 目前有两种 Nginx Ingress 控制器。 kubernetes 社区的 Nginx Ingress 控制器Nginx Inc 开发的 Nginx Ingress 控制器 我们将使用 Kubernetes 社区 N…

【Qt 学习笔记】Qt常用控件 | 多元素控件 | Table Widget的说明及介绍

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 多元素控件 | Table Widget的说明及介绍 文章编号&#…

内存拆解分析表:学习版[图片]

对拆解system中主要是对比测试机和对比机之间的差距,测试机那些地方高于对比机 拆解表,作为理解 在拆解表中system测试机比对比机多出113M 这说明是有问题的 对system拆解: system12345对比机9102294380941069391081628测试机10252010331…

腾讯云服务器部署前后端服务

服务器:OpenCloudOS (兼容centos8) 后端:javaSpringboot 前端:Vue 下载jdk 1)下载jdk11 wget https://download.java.net/openjdk/jdk11/ri/openjdk-1128_linux-x64_bin.tar.gz 2)解压jdk …

uni-appH5Android混合开发二 || 使用Android Studio打包应用APK

前言: 在上一章节我们已经讲了如何uni-app离线打包Android平台教程,这一章就该来讲讲如何使用Android Studio打包应用APK提供给Android手机安装使用了。 uni-app跨平台框架介绍和快速入门 uni-app跨平台框架介绍和快速入门 第一步、首先打开已经编译好的…

Element快速上手!

Element是饿了么公司前端团队开发的一套基于Vue的组件库,用于快速构建网页~ 官网链接: Element - The worlds most popular Vue UI frameworkElement,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库https://element.elem…

uni-app(三):离线打包与插件引用(Android)

离线打包与插件引用 1.下载Android离线SDK2.使用Android Studio打开离线打包项目并更新Gradle3.解决报错4.构建5.配置AppKeya.查看证书b.申请AppKeyc.配置AppKey 6.生成本地打包App资源7.拷贝App资源到Android项目中8.修改 appid9.修改Android项目配置文件10.下载证书并配置11.…

基于Springboot+Vue的Java项目-电影院购票系统开发实战(附演示视频+源码+LW)

大家好!我是程序员衣一帆,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

开源高性能的分布式时序数据库:Lindb

Lindb:为大数据时代量身打造的高性能时序数据库,让海量数据存储与实时分析触手可及。- 精选真开源,释放新价值。 概览 Lindb 是一款开源的分布式时序数据库,它以其高性能和可伸缩性在海量数据存储及快速查询计算方面展现出独特的…

在数字化时代保持企业财务管理的持续技术创新

根据全球市场调查,在现阶段企业如果还不更新自身的商业运作模式,企业的业务可能会一点一点丧失市场竞争力。技术进步是所有行业发展的明显趋势。许多年轻的初创企业具有创新管理思维、精益求精的决策流程和现代化的商业基础设施,这些顺应时代…

uniapp百度地图聚合

// loadBMap.js ak 百度key export default function loadBMap(ak) {return new Promise((resolve, reject) > {//聚合API依赖基础库,因此先加载基础库再加载聚合APIasyncLoadBaiduJs(ak).then(() > {// 调用加载第三方组件js公共方法加载其他资源库// 加载聚合API// Ma…

基于STM32移植lvgl(V8.2)(SPI接口的LCD)

目录 概述 1 认识LVGL 1.1 LVGL官网 1.2 LVGL库文件下载 2 认识SPI接口型LCD 2.1 PIN引脚定义 2.2 MCU IO与LCD PIN对应关系 3 实现LCD驱动 3.1 使用STM32Cube配置Project 3.2 STM32Cube生成工程 4 移植LVGL 4.1 准备移植文件 4.2 添加lvgl库文件到项目 4.2.1 src下…

【半夜学习MySQL】表结构的操作(含表的创建、修改、删除操作,及如何查看表结构)

🏠关于专栏:半夜学习MySQL专栏用于记录MySQL数据相关内容。 🎯每天努力一点点,技术变化看得见 文章目录 创建表查看表结构修改表删除表 创建表 语法: create table table_name(field1 datatype,field2 datatype,fiel…

springboot3项目练习详细步骤(第三部分:文章管理模块)

目录 发布文章 接口文档 业务实现 自定义参数校验 项目参数要求 实现思路 实现步骤 文章列表(条件分页) 接口文档 业务实现 mapper映射 更新文章 接口文档 业务实现 获取文章详情 接口文档 业务实现 删除文章 接口文档 业务实现 文章管理业务表结构…