Neo4j中创建关系的常用操作

这篇具有很好参考价值的文章主要介绍了Neo4j中创建关系的常用操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关系基础

Neo4j图数据库遵循属性图模型来存储和管理其数据。

根据属性图模型,关系应该是定向的。

因此,基于方向性,Neo4j关系被分为两种类型:

  • 单向关系
  • 双向关系

在使用Neo4j CQL CREATE命令来创建两个节点时主要分为一下几种场景(适用于Uni和双向关系):

  • 在两个现有节点之间创建无属性的关系
  • 在两个现有节点之间创建有属性的关系
  • 在两个新节点之间创建无属性的关系
  • 在两个新节点之间创建有属性的关系
  • 在具有WHERE子句的两个退出节点之间创建/不使用属性的关系

创建关系的CQL命令

  • 创建关系

    • 在两个现有节点之间创建无属性的关系

      MATCH (<node1-name>:<nodel-label-name>),(<node2-name>:<node2-label-name>)
      CREATE (<node1-name>)-[<relationship-name>:<relationship-label-name>{<define-properties-list>}]->(<node2-name>)
      RETURN <relationship-name>
      
      • <node1-name>:用于创建关系的“From Node”的名称。
      • <node1-label-name>:用于创建关系的“From Node”的标签名称。
      • <node2-name>:用于创建关系的“To Node”的名称。
      • <node2-label-name>:用于创建关系的“To Node”的标签名称。
      • <relationship-name>:关系的名称。
      • <relationship-label-name>:关系的标签名称。
      • 注:在该语法中,RETURN子句是可选的。如果要立即看到结果,就使用它,否则可以省略。
    • 在两个现有节点之间创建有属性的关系

      MATCH (<node1-name>:<nodel-label-name>),(<node2-name>:<node2-label-name>)
      CREATE (<node1-name>)-[<relationship-name>:<relationship-label-name>{<define-properties-list>}]->(<node2-name>)
      RETURN <relationship-name>
      
      • <define-properties-list>:分配给新创建关系的属性(名称 - 值对)的列表。

      • define-properties-list表示如下:

        { 
           <property1-name>:<property1-value>,
           <property2-name>:<property2-value>,
           ...
           <propertyn-name>:<propertyn-value>
        }
        
        • <propertyx-name>:分配给新创建关系的属性的名称。 其中x是1,2,… n个值
        • <propertyx-value>:分配给新创建关系的Property的值。 其中x是1,2,… n个值
        • 注:使用Colon(:)运算符来分隔属性名称和值,使用Comma(,)运算符将一对Property(名称值)与另一对Property分离。
    • 在两个新节点之间创建无属性的关系

      CREATE  
         (<node1-name>:<node1-label-name>)-
         [<relationship-name>:<relationship-label-name>]->
         (<node2-name>:<node2-label-name>)
      RETURN <relationship-name>
      
      • <node1-name>:用于创建关系的“From Node”的名称。
      • <node1-label-name>:用于创建关系的“From Node”的标签名称。
      • <node2-name>:用于创建关系的“To Node”的名称。
      • <node2-label-name>:用于创建关系的“To Node”的标签名称。
      • <relationship-name>:关系的名称。
      • <relationship-label-name>:关系的标签名称。
    • 在两个新节点之间创建有属性的关系

      CREATE  
         (<node1-name>:<node1-label-name>{<define-properties-list>})-
         [<relationship-name>:<relationship-label-name>{<define-properties-list>}]->
         (<node2-name>:<node2-label-name>{<define-properties-list>})
      RETURN <relationship-name>
      
      • define-properties-list表示如下:

        { 
        	<property1-name>:<property1-value>,
        	<property2-name>:<property2-value>,
        	...
        	<propertyn-name>:<propertyn-value>
        }
        
    • 检索关系节点的详细信息文章来源地址https://www.toymoban.com/news/detail-856013.html

      MATCH 
      (<node1-label-name>)-[<relationship-name>:<relationship-label-name>]->(<node2-label-name>)
      RETURN <relationship-name>
      

到了这里,关于Neo4j中创建关系的常用操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • neo4j批量追加属性、节点、关系

    前提:这个方法是用python连接neo4j再循环执行cql语句来实现的,适合1w条记录以内的数据,太大了就比较慢,平均1s执行30条语句左右。 主要的不同就在于cql语句的使用 连接数据库: 读取节点表和关系表,该文件是存储好的csv文件 中文是替代的文件名字,不是源文件名 替换

    2024年02月16日
    浏览(47)
  • Neo4j入门:手动构建节点关系

    目录 一、基本cypher语句建立节点和关系 建立节点 带属性的节点 一次建立多个节点 建立两个节点之间的关系 二、用CSV文件导入方法对Neo4j Desktop批量创建节点和关系 批量创建节点 创建一个编码为utf-8格式的CSV文件 将CSV文件放入到我们neo4j目录下面的import目录下 回到Neo4j执行

    2024年01月16日
    浏览(51)
  • 【Neo4j与知识图谱】Neo4j的常用语法与一个简单知识图谱构建示例

    Neo4j是一种基于图形结构的NoSQL数据库,它采用了Cypher查询语言来查询和操作图形数据。下面是Neo4j中语法知识的详细总结和示例: 1.创建节点和关系 在Neo4j中,可以使用CREATE语句来创建节点和关系。下面是创建一个节点的示例: 这将创建一个标签为Person、属性为name和age的节

    2024年02月04日
    浏览(54)
  • neo4j常用代码

    1】查版本: 2】清数据: 3】NEO4J 操作入门_neo4j查看历史执行命令-CSDN博客  4】查apoc版本 5】查apoc函数 

    2024年02月22日
    浏览(33)
  • Neo4j导入CSV文件(实体和关系)

    打开cmd切换到neo4j安装目录的bin下,输入以下命令 如果想读取不在import directory中的CSV,则: (1)先改变neo4j默认设置,即:删除dbms.directories.import=import或者在该语句前加“#”; (2)使用 “LOAD CSV FROM file:///C:/XXX/name.csv”(即:file:///+绝对路径), 导入本地CSV文件 。

    2024年02月15日
    浏览(54)
  • neo4j查询两节点之间所有路径/关系

    目录 数据源 查询两节点有效的路径 所有路径(不准确) 有效路径(准确) 查询两节点之间最短路径 查询两节点之间所有的最短路径 路径长度(5个节点之内),一般都会做限制,否则数据库一但内容过多就会卡死 最容易想到的就是这样写,但是结果是不准确的。 为什么不

    2023年04月11日
    浏览(39)
  • neo4j - 常用sql

    备注:可以用来分析节点被引用的频次等应用分析场景,辅助模型或架构升级重构

    2024年02月12日
    浏览(78)
  • 图数据库_Neo4j和SpringBoot整合使用_实战创建明星关系图谱---Neo4j图数据库工作笔记0010

    2023-09-10 10:37:48 补充 注意:下面是旧版本的语法,如果你发现@NodeEntity这样的注解没有的话可以这样: 这里就要用@Node 另外如果@StartNode和@EndNode都没有了,那么说明是用法变了. 关于最新的用法,在官网有明确的说明和案例,很有用: 下面给出官网的案例:

    2024年02月12日
    浏览(45)
  • Pycharm+Neo4j红楼梦人物关系图谱

    欢迎来到我的主页~【蜡笔小新..】 本篇收录于专栏【Python】 如果对你有帮助,希望点赞收藏加关注啦~ 前言 neo4j基础知识 Pycharm及代码实现  py2neo  数据集获取 代码介绍 Python实验课时,老师提到用知识图谱构建红楼梦的人物关系图,所以课后根据视频和博客的学习,初尝试

    2024年04月14日
    浏览(30)
  • Springboot集成neo4j实现知识图谱关系图

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 使用neo4j来完成人员关系 公司项目有一个功能需要将各个人员关系列出,在参加评选的时候,进行展示和筛选 neo4j是高性能的NOSQL图形数据库,在neo4j中,社区版本只能使用一个database。在neo4j中不存在表的

    2024年02月02日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包