图数据库neo4j入门

neo4j

  • 一、安装
  • 二、简单操作
    • <一>、创建
    • <二>、查询
    • <三>、关系
    • <四>、修改
    • <五>、删除
  • 三、常见报错
    • <一>、默认的数据库密码是neo4j,打开浏览器http://localhost:7474登录不上,报错: Neo.ClientError.Security.Unauthorized: The client is unauthorized due to authentication failure.

一、安装

首先要有对应的java环境,我的是在这里插入图片描述

neo4j官网地址

  • 点击Deployment Center

在这里插入图片描述

  • 往下拉,选择对应的版本,点击下载

在这里插入图片描述

  • 填好个人信息,进入下载页面,保存下面的key,打开软件登录时会用到

在这里插入图片描述

二、简单操作

  • 进入数据库后,点击open,在下图所示的$符号处输入语句

<一>、创建

1、创建节点

create (<node-name>:<label-name>)
  • node-name:要创建的节点名称
  • label-name:要创建的标签名称

eg:

create (s:Student)
  • 上述的Student就类似于关系型数据库的表

2、创建带属性的节点

create (<node-name>:<label-name> {<property1-name>:<property1-Value>,<property2-name>:<property2-Value>,...,<property3-name>:<property3-Value>
})

eg:

create (s:Student{id = 1,name = "李世民",age=2000})
  • 上述的id,name,age就类似于关系型数据库表中的字段

3、merge

  • 类似于oracle中的merge操作,若节点不存在则创建,若节点已存在则进行更新
merge (a:Person {name:"李世民"})
merge (b:Person {name:"李治"})
merge (b)-[:SON]->(a)
  • 条件性创建或匹配
merge (p:Person {name: "嬴政"})
on create set p.age = 30
on match set p.height = 190
  • 上述代码表示检查是否存在一个具有"Person"标签且属性"name"为"嬴政"的节点,如果不存在,则创建一个且设置属性age为30;如果已存在,则设置height属性为190

<二>、查询

1、查询全部

match (s:Student) return s;

2、查询部分

match (s:Student) return s.id,s.name;

3、按条件查询

match (s:Student) where s.age > 20 return s.id,s.name;

4、排序

match (s:Student) where s.age < 20 return s.id,s.name order by s.age desc;

5、分组

  • neo4j的分组不用显式的指定group by,未加聚合函数的字段默认为分组字段
  • 这里一共有三个字段,id,name,age,return id,其中name,age相当于未加聚合字段,即按其分组
  • 相当于sql:select s.id,count(*) from Student s where s.age < 20 group by s.age,s.name
match (s:Student) where s.age < 20 return s.id,count(*);

6、limit语句

match (s:Student) where s.age < 20 return s.id,s.name limit 3;
  • 跳过多少行再limit
match (s:Student) where s.age < 20 return s.id,s.name skip 2 limit 3;

<三>、关系

  • 图数据库与关系型数据库最大的区别就是图可以存储多边关系

1、创建关系

  • 创建一个老师节点
create (t:Teacher{id:20001,name:"王老师",age:35,teach:"语文"}) return t
  • 创建关系,年龄小于20的都是该老师学生
match (t:Teacher),(s:Student) where s.age < 20 
create (t)-[teach:Teach]->(s) 
return t,teach,s;

2、查询全部关系

match (a)-[b]-(c) return a,b,c;

<四>、修改

match (s:Student) where s.name = '李世民' set s.age = 2000 return s;

<五>、删除

1、删除部分节点

match (s:Student) where s.age < 20 delete s;

注:若节点有关系需先删除关系

match (t:Teacher)-[teach]->(s:Student) where s.age < 20 delete teach,s;

2、删除整个节点

match (s:Student) delete s;

3、删除全部节点以及关系(慎用!)

match (n) detach delete n

4、删除节点的属性

  • 可以用remove
match (s:Student{name:"李世民"}) remove s.age;

三、常见报错

<一>、默认的数据库密码是neo4j,打开浏览器http://localhost:7474登录不上,报错: Neo.ClientError.Security.Unauthorized: The client is unauthorized due to authentication failure.

  • 找到neo4j.conf文件

在这里插入图片描述

  • 最直接方法是修改dbms.security.auth_enabled=false,表示禁用身份验证,任何人可以无需凭证访问数据库

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QMUI_Android:提升Android开发效率与质量的利器

QMUI_Android&#xff1a;提升Android开发效率与质量的利器 在Android应用开发过程中&#xff0c;开发者常常面临着重复编写基础组件和处理兼容性问题的挑战&#xff0c;这不仅耗费时间&#xff0c;也降低了开发效率。为了解决这一问题&#xff0c;Tencent推出了QMUI_Android框…

小白水平理解面试经典题目LeetCode 20. Valid Parentheses【栈】

20.有效括号 小白渣翻译 给定一个仅包含字符 ‘(’ 、 ‘)’ 、 ‘{’ 、 ‘}’ 、 ‘[’ 和 ‘]’ &#xff0c;判断输入字符串是否有效。 输入字符串在以下情况下有效&#xff1a; 左括号必须由相同类型的括号封闭。 左括号必须按正确的顺序关闭。 每个右括号都有一个对…

【华为 ICT HCIA eNSP 习题汇总】——题目集12

1、企业网络内部常常采用私有 IP 地址进行通信&#xff0c;以下哪个地址属于私有 IP 地址&#xff1f; A、0.1.1.1 B、127.5.4.3 C、128.0.0.5 D、172.24.35.36 考点&#xff1a;网络层 解析&#xff1a;&#xff08;D&#xff09; A类 IP 地址中&#xff0c;10.0.0.0 ~ 10.255…

SM2259XT量产工具修复金泰克固态硬盘29F01T2ALCQJ1颗粒开卡

在这里插入代码片前言 网心云用的固态硬盘突然坏了识别不了&#xff0c;磁盘管理、diskGenius、pe系统里均无法识别&#xff0c;查询发现可以用开卡工具修复&#xff0c;遂进行了一番折腾。 拆硬盘 如图硬盘是块金泰克240g容量的&#xff0c;拆开后找到主控芯片型号为SM2259…

踩坑了,MySQL数据库生成大量奇怪的大文件

作者&#xff1a;田逸&#xff08;formyz&#xff09; 一大早就收到某个数据库服务器磁盘满的报警信息&#xff0c;其中数据盘使用率超过90%&#xff0c;如下图所示。 这是一台刚上线不久的MySQL从库服务器&#xff0c;数据盘的总容量是300G。先登录系统&#xff0c;查看主从同…

PyTorch的10个基本张量操作

PyTorch是一个基于python的科学计算包。它的灵活性允许轻松集成新的数据类型和算法&#xff0c;并且框架也是高效和可扩展的&#xff0c;下面我们将介绍一些Pytorch的基本张量操作。 Tensors 张量Tensors是一个向量&#xff0c;矩阵或任何n维数组。这是深度学习的基本数据结构…

Android meminfo 查看方法及解析

目录 Android 上查看memory 信息的方法 内存限制的信息 手动释放缓存 例 adb shell dumpsys meminfo pid 解析 adb shell dumpsys meminfo 汇总信息说明 Total RAM Free RAM ION Used RAM Lost RAM ZRAM /proc/meminfo 参考文档 Android 上查看memory 信息的方法 …

新零售的升维体验,摸索华为云GaussDB如何实现数据赋能

新零售商业模式 商业模式通常是由客户价值、企业资源和能力、盈利方式三个方面构成。其最主要的用途是为实现客户价值最大化。 商业模式通过把能使企业运行的内外各要素整合起来&#xff0c;从而形成一个完整的、高效率的、具有独特核心竞争力的运行系统&#xff0c;并通过最…

大华智慧园区综合管理平台 /ipms/barpay/pay RCE漏洞复现

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

Kafka SASL_SSL双重认证

文章目录 1. 背景2. 环境3. 操作步骤3.1 生成SSL证书3.2 配置zookeeper认证3.3 配置kafka安全认证3.4 使用kafka客户端进行验证3.5 使用Java端代码进行认证 1. 背景 kafka提供了多种安全认证机制&#xff0c;主要分为SASL和SSL两大类。 SASL&#xff1a; 是一种身份验证机制&…

【激光SLAM】里程计运动模型及标定

目录 里程计模型两轮差分底盘的运动学模型优点差分模型 三轮全向底盘的运动学模型优点全向模型 航迹推算(Dead Reckoning) 里程计标定线性最小二乘的基本原理最小二乘的直线拟合最小二乘在里程计标定中的应用方法 里程计模型 里程计相关介绍 两轮差分底盘的运动学模型 优点 …

宝塔+php+ssh+vscode+虚拟机 远程调试

远程(虚拟机)宝塔 安装扩展 配置文件添加&#xff0c;zend_extension看你虚拟机的具体位置 [Xdebug] zend_extension/www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so xdebug.modedebug xdebug.start_with_requesttrigger xdebug.client_host&quo…