快速上手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.mzph.cn/pingmian/64401.shtml

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

相关文章

window.getSelection() 获取划线内容并实现 dom 追随功能

功能:鼠标对一段文本中某些文字进行划线之后,需要在当前划线文本处出现一个功能按钮显示对划线内容进行操作,比如收藏、添加样本库等功能。 一、需要了解的鼠标事件对象属性 给 dom 元素注册鼠标事件之后,会有 event 属性&#…

2024安装hexo和next并部署到github和服务器最新教程

碎碎念 本来打算写点算法题上文所说的题目,结果被其他事情吸引了注意力。其实我之前也有过其他博客网站,但因为长期不维护,导致数据丢失其实是我懒得备份。这个博客现在部署在GitHub Pages上,github不倒,网站不灭&…

Chinese-Clip实现以文搜图和以图搜图

本文不生产技术,只做技术的搬运工! 前言 目前网上能够找到的资料有限,要么收费,要么配置复杂,作者主打一个一毛不拔,决定自己动手实现一个,功能清单受启发于Nidia AI lab实验室的nanodb项目&am…

Abaqus混凝土梁三点弯曲开裂模拟基于随机多边形骨料及界面过渡区模型

在细观混凝土开裂研究中,仿真可直观揭示混凝土中多相材料的破坏特征及微观裂缝的发展规律。本案例建立包含随机多边形粗骨料、界面过渡区(ITZ)及水泥砂浆在内的细观混凝土梁二维模型,对混凝土梁在三点弯曲工况下进行有限元模拟&am…

Qt之修改窗口标题、图标以及自定义标题栏(九)

Qt开发 系列文章 - titles-icons-titlebars(九) 目录 前言 一、修改标题 二、添加图标 三、更换标题栏 1.效果演示 2.创建标题栏类 3.定义相关函数 4.使用标题栏类 总结 前言 在我们利用Qt设计软件时,经常需要修改窗口标题、更改软…

渗透测试之js利用

引言 在渗透测试中,js利用是一个非常重要的部分,作为一个网络安全人员,我也是经常利用到这一模块,首先,js是什么呢 什么是js JavaScript(简称js),javascript和java虽然名字相似,但两个东西却…

请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配

vs版本升级时,编译时会出现上述问题,如原来在2017下编译的程序,后来改用2019,出现上述问题。需要在解决方案-通用属性-调试源文件下变更相应设置。

Airbus结构数字样机理念及实践(转)

关注作者 1、数字样机的背景 早期的设计文档通过二维工程图来描述,对工程师来说,绘制工程图足够表达设计思想,工程图成为了标准的“工程师语言”。但是外围的用户通常通过透视图来表达设计意图,不得不产生了大量针对不同教育背景…

ik分词器了解 和 通过zip安装包的方式 将ik分词器安装到elasticsearch中

目录 1. ik分词器的作用(效果) (1)标准分析器效果 (2)ik_smart分词 (3)ik_max_word分词 2. 首先根据自己的elasticsearch的版本下载对应的ik分词器版本 3. 将下载好的ik分词器…

【人工智能】网络安全技术及应用

文章目录 前言一、网络安全概念1、你是否了解以下网络安全事件?2、什么是网络安全?3、网络安全的核心要素4、网络安全、信息安全、数据安全三者的区别5、网络安全的重要性6、网络安全-法律法规7、网络安全-等级保护 二、常见的网络安全威胁和攻击1、网络…

计算机屏幕坐标系简介

计算机屏幕坐标系简介 计算机屏幕坐标系是用于描述计算机显示屏上点的位置的系统。它在图形编程、游戏开发、用户界面设计等多个领域中至关重要。因此,需要理解掌握。坐标系通常由两个维度(二维坐标系,平面坐标系)或三个维度&…

java 通过jdbc连接sql2000方法

1、java通过jdbc连接sql2000 需要到三个jar包:msbase.jar mssqlserver.jar msutil.jar 下载地址:https://download.csdn.net/download/sunfor/90145580 2、将三个jar包解压到程序中的LIB下: 导入方法: ①在当前目录下&#xff…

车牌识别之二:车牌OCR识别(包含全部免费的数据集、源码和模型下载)

重要的事说在前面 数据集: https://pan.baidu.com/s/1YayAeqgdqZ0u2vSovd0Z4w 提取码:8888 如果作者误删的话,参考这里下载的CCPD2019.tar.xz和CCPD2020.zip获取。 背景 上一节车牌识别之一:车牌检测(包含全部免费的数据集、源…

单北斗+鸿蒙系统+国产芯片,遨游防爆手机自主可控“三保险”

在当今全球科技竞争日益激烈的背景下,技术自主可控的重要性愈发凸显。它不仅关乎国家安全,更是推动产业升级和经济发展的关键。特别是在一些特殊领域,如防爆通信,自主可控的技术更是不可或缺。遨游通讯推出了一款融合了单北斗、鸿…

【zlm】 webrtc源码讲解三(总结)

目录 setsdp onwrite ​编辑 play 参考 setsdp onwrite play 参考 【zlm】 webrtc源码讲解_zlm webrtc-CSDN博客 【zlm】 webrtc源码讲解(二)_webrtc 源码-CSDN博客

打造专业的电子商务维护页面:如何确保用户信任与业务连续性

在电子商务网站的运营过程中,维护是不可避免的一部分。然而,网站的短暂下线如果处理不当,可能会导致用户流失和销售额的下降。为了在维护期间依然保持客户的信任与业务的连续性,创建一个专业的维护页面至关重要。本文将为您详细介…

【python因果库实战5】使用银行营销数据集研究营销决策的效果5

目录 接触次数的效应 重新定义治疗变量和潜在混杂因素 更深入地审视干预情景 逆概率加权 标准化 总结及与非因果分析的比较 接触次数的效应 我们现在转而研究当前营销活动中接触次数的数量(campaign)对积极结果发生率的影响。具体来说,…

单步调试Android Framework——App冷启动

纸上得来终觉浅,绝知此事要躬行。 —— [宋]陆游 基于aosp_cf_x86_64_phone-trunk_staging-eng , 下面是具体断点位置。 第一部分,桌面launcher进程 com.android.launcher3.touch.ItemClickHandler onClickonClickAppShortcutstartAppShor…

【5G】5G的主要架构选项

最初,在3GPP讨论中考虑了所有可能的聚合和核心网络组合,共有八个架构选项。以下重点介绍option2、3、4和7。 1. 独立组网 (Standalone, SA) 架构选项 2 :Standalone architecture with 5G-core 特点: 5G核心网(5GC, …

MySQL数据库备份,恢复

备份策略不同,恢复方式也不同。 在进行数据备份的时候,能使用冷备份就使用冷备份,安全可靠, 但是冷备份自己的缺点是【每一个数据库都对应着一个前端的业务】此时前端业务停止可能带来经济损失。 一.备份类型 根据服务是否在线…