快速上手Neo4j图关系数据库

  • 参考视频:

    【IT老齐589】快速上手Neo4j网状关系图库

1 Neo4j简介

  • Neo4j是一个图数据库,是知识图谱的基础

  • 在Neo4j中,数据的基本构建块包括:

    • 节点(Nodes)
    • 关系(Relationships)
    • 属性(Properties)
    • 标签(Labels)

1.1 节点(Nodes)

  • 节点代表现实世界中的实体

1.2 关系(Relationships)

  • 关系连接两个节点
  • 每个关系都有一个方向(从一个节点指向另一个节点),并且可以有属性。

1.3 属性(Properties)

  • 属性是键值对的形式附加到节点或关系上的额外信息。
  • 例如,一个“Person”节点可能有一个名为“name”的属性,其值为“John Doe”。

1.4 标签(Labels)

  • 标签用来分类节点,类似于类目或类型。
  • 例如,可以给所有表示人的节点添加“Person”的标签

2 Cypher查询语言

2.1 基本概念

  • MATCH语句用于查找特定的图模式(即节点和关系的模式)。
  • CREATE语句用于创建新的节点和关系。
  • RETURN语句用于返回查询结果。
  • WHERE子句用于过滤结果集。
  • SET语句用于修改节点或关系的属性。
  • DELETE语句用于删除节点或关系。
  • WITH子句用于在查询的不同部分之间传递结果集。

2.2 Docker快速部署

docker run \--publish=7474:7474 \--publish=7687:7687 \--env NEO4J_AUTH=neo4j/12345678 \-d \--name=test \neo4j:5.22.0-community

逐项说明:

  1. docker run
    一条 docker run 命令完成拉取镜像、创建和启动容器的全部工作,无需提前手动 docker pulldocker create

  2. --publish=7474:7474--publish=7687:7687
    将主机的 7474 端口映射到容器内部的 7474 端口,将主机的 7687 端口映射到容器内部的 7687 端口
    对于 Neo4j 来说,7474 通常是 HTTP 接口,7687 通常是 Bolt 协议接口
    Bolt 是 Neo4j 数据库专门设计的二进制协议,用于客户端与服务器之间的通信

  3. --env NEO4J_AUTH=neo4j/12345678
    设置环境变量 NEO4J_AUTHneo4j/12345678。这通常用于初始化 Neo4j 时指定默认用户名和密码(neo4j 用户名和 12345678 密码)。

  4. -d:以守护态方式(后台方式)运行容器。

  5. --name=neo4j: 为该容器指定名称 neo4j

  6. neo4j:5.22.0-community
    使用 neo4j:5.22.0-community 这个镜像来创建容器。若本地无此镜像,docker run 会自动拉取。

2.3 电影图数据库指南

2.3.1 创造 Create

1.CREATE 语句

# 1.CREATE 语句:
# 创建带有指定标签和属性的节点
CREATE (n:Label {属性键:属性值, ...})# CREATE子句允许创建一个或多个节点。
# 每个节点都可以分配标签和属性,多个标签用冒号分隔
CREATE (乔布斯:人类:创始人 {姓名: '乔布斯', 出生年份: 1955, 逝世年份: 2011}), (比尔盖茨:人类:创始人 {姓名: '比尔盖茨', 出生年份: 1955})# 2.关系(关系类型和属性)
# 使用 (节点1)-[:关系类型 {属性}]->(节点2) 来创建连接两个节点的有向关系。例如:
MATCH (a:人类 {姓名: "乔布斯"}), (b:人类 {姓名: "比尔盖茨"})
CREATE (a)-[:竞争对手 {行业: "计算机"}]->(b)
# 表示首先查找两个节点,然后创建一个从乔布斯到比尔盖茨的竞争对手关系,该关系有一个名为行业的属性# 清空neo4j里的所有数据
MATCH (n) DETACH DELETE n

为现有节点乔布斯和比尔盖茨添加关系

2.3.2 查询 Match
-- 查询Match
-- 语法是n是一个变量,:Label是一个标签,{属性键:属性值}是一个属性
MATCH (n:Label {属性键:属性值, ...})
RETURN n-- 查询条件 WHERE(可选):
-- 结果返回 RETURN
MATCH (节点)-[关系]->(其他节点)
WHERE 条件
RETURN 查询结果

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

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

相关文章

Transformer: Attention Is All You Need (2017) 翻译

论文:Attention Is All You Need 下载地址如下: download: Transformer Attention Is All you need Attention Is All You Need 中文 《Attention Is All You Need》是《Transformer》模型的开创性论文,提出了一种全新的基于注意力机制的架构&#xf…

可视化报表如何制作?一文详解如何用报表工具开发可视化报表

在如今这个数据驱动的商业时代,众多企业正如火如荼地推进数字化转型,力求在激烈的市场竞争中占据先机。然而,随着业务规模的扩大和运营复杂度的提升,企业的数据量爆炸式增长,传统报表格式单一、信息呈现密集且不易解读…

Angular由一个bug说起之十二:网页页面持续占用CPU过高

随着网络日益发达,网页的内容也更加丰富,形式也更加多样化。而随之而来的性能问题也不容小觑。这篇文章我会根据我在实践中遇到的一个问题来总结,我在面对性能问题的一些解决步骤,希望能对大家有所启发。 查找问题原因 我接触的…

MATLAB图卷积神经网络GCN处理分子数据集节点分类研究

全文链接:https://tecdat.cn/?p38570 本文主要探讨了如何利用图卷积网络(GCN)对图中的节点进行分类。介绍了相关的数据处理、模型构建、训练及测试等环节,通过对分子数据集的操作实践,展示了完整的节点分类流程&#…

uniapp中vuex(全局共享)的应用

一、Vuex概述 1.1 官方解释 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。 它采用集中式存储管理 应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化 - Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸…

华为云服务器搭建基于LNMP部署wordpress

Ubuntu系统搭建过程目录 一、检查环境1.1 检查是否安装Nginx1.2 检查是否安装Mysql1.3 检查是否安装PHP二、更新软件包以及安装所需要的依赖 三、安装Nginx3.1 下载并解压nginx3.2. 编译安装3.3 启动和停止和测试3.4 创建服务脚本3.5 Nginx目录 四、安装Mysql4.1 安全安装配置4…

ElasticSearch01-概述

零、文章目录 ElasticSearch01-概述 1、Elastic Stack (1)简介 官网地址:https://www.elastic.co/cn/ELK是一个免费开源的日志分析架构技术栈总称,包含三大基础组件,分别是Elasticsearch、Logstash、Kibana。但实际…

Python学习(二)—— 基础语法(上)

目录 一,表达式和常量和变量 1.1 表达式 1.2 变量 1.3 动态类型特性 1.4 输入 二,运算符 2.1 算术运算符 2.2 关系运算符 2.3 逻辑运算符 2.4 赋值运算符 2.5 练习 三,语句 3.1 条件语句 3.2 while循环 3.3 for循环 四&#…

Idea汉化插件Datagrip汉化插件

汉化插件 ‍ ‍ Chinese (Simplified) Language Pack / 中文语言包 ‍ 插件地址 ‍ 安装完了之后,如果还不是中文的怎么办 ‍ 需要手动设置 Seetings -> Appearance & Behavior -> System Settings -> Language and Region -> Language 修改为 [ Chi…

ansible 自动化运维工具(三)playbook剧本

目录 Playbook的定义 Playbook组成 Playbook命令 Playbook剧本编写格式 基本组件 Handlers处理器 tags标签 Facts组件 Register:注册变量 Debug模块 Playbook循环 With_items循环 With_dict循环(字典循环) With_nested循环&…

12.2【JAVA EXP4]next.js的各种问题,DEBUG,前端补强,前后端交互,springSecurity ,java 配置,h2数据库

在服务器组件中使用了 useState 这样的 React Hook。useState 只能在客户端组件中使用,而不能在服务器组件中使用。Next.js 的新架构(App Router)中,默认情况下,页面和布局组件是服务器组件,因此不能直接使…

Cursor重置机器码-解决Too many free trials.

参考文章:如何绕过Cursor的机器绑定限制 前言 在前面这篇文章无限使用Cursor指南中,我提到使用 无限邮箱 或者 删除账号并重新注册 的方法,来无限使用Cursor免费版。但是当在本机登录过3个账号后,就会报这个“Too many free tria…

【PlantUML系列】部署图(七)

一、部署图的组成部分 节点(Node):使用node关键字定义一个节点,节点可以是服务器、数据库或其他硬件设备。组件(Component):使用component关键字定义一个组件,组件可以是软件模块或服…

qt QCommandLineParser详解

1、概述 QCommandLineParser是Qt框架中提供的一个类,专门用于解析命令行参数。它简化了命令行参数的处理过程,使得开发者能够轻松定义、解析和验证命令行选项和参数。QCommandLineParser适用于需要从命令行获取输入的控制台应用程序,以及需要…

青少年夏令营管理系统的设计与开发(社团管理)(springboot+vue)+文档

💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

vue3-tp8-Element:对话框实现

效果 参考框架 Dialog 对话框 | Element Plus 具体实现 一、建立view页面 /src/views/TestView.vue 二、将路径写入路由 /src/router/index.js import { createRouter, createWebHistory } from vue-router import HomeView from ../views/HomeView.vueconst router create…

【鸿睿创智开发板试用】移植OpenCV 4到OpenHarmony 4.1

目录 目录 引言 编译系统镜像 (1) 下载代码后解压SDK (2) 下载docker镜像   (3) 编译OH 编译OpenCV 下载OpenCV源代码 构建编译配置文件 执行编译命令 安装库和头文件 测试 结语 引言 最近有个需求是在基于RK3568的OpenHarmony 4.1系统中使用OpenCV&#xff0c…

TimesFM(Time Series Foundation Model)时间序列预测的数据研究(3)

前一篇完成了 TimesFM 的运行 TimesFM(Time Series Foundation Model)安装(2)-CSDN博客文章浏览阅读520次,点赞13次,收藏24次。决定在 小红帽ubuntu UBUNTU安装 timesFM在 ide.cloud.tencent.com 的环境上…

【潜意识Java】深入理解 Java 面向对象编程(OOP)

目录 什么是面向对象编程(OOP)? 1. 封装(Encapsulation) Java 中的封装 2. 继承(Inheritance) Java 中的继承 3. 多态(Polymorphism) Java 中的多态 4. 抽象&…

三、汇总统计

1.SUM、COUNT、AVERAGE 注意:count函数是计算区域中包含数字的单元格的个数,以上案例中两个空白单元格和一个中文列标题都是没有计算在内的。 平均函数AVERAGE也是按照17进行求平均值的。所以在使用平均值的函数时候,可以根据实际情况看是…