在 Neo4j 中基于数组值创建关系

2024-03-06

我有两个节点代表两个人:

(:Person {name:"John Smith"})
(:Person {name:"Jane Doe"})

然后我有第三个节点,代表这两个人共同撰写的文章:

(:Article {title:"Some_article"}, {Coauthor:["John Smith", "Jane Doe"]})

我的问题是:我可以根据名称匹配在这些节点之间创建关系吗?像这样的东西:

MATCH (n1:Person {name:"Jane Doe"})
MATCH (n2:Article{Coauthor:"Jane Doe"})
CREATE (n2)-[:AUTHORED_BY]->(n1)

这是可能的还是我需要将数组分解为单独的节点属性,例如合著者 _1、合著者 _2 等?

Thanks

Windows 10 上的 Neo4j CE 3.0.1


您可以使用循环来创建作者关系:

MATCH (a:Article {title:"some title"})
UNWIND a.Coauthor as author
MERGE (p:Person {name: author})
MERGE (a)-[:AUTHORED_BY]->(p)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Neo4j 中基于数组值创建关系 的相关文章

  • Neo4j 3.0 中的存储过程

    我在 Windows 上使用 neo4j 3 0 并尝试使用存储过程新功能 我已经构建了 apoc jargithub 来源 https github com neo4j contrib neo4j apoc procedures 该 ja
  • 对于以双向关系连接的节点,cypher 返回两次

    我有 2 个节点 A B 通过 FRIEND 连接 当我运行以下命令时 start n node match n r FRIEND b return n name b name 它返回 2 行 A B 和 B A 我想知道如何让它只返回一条
  • 编写 Cypher 查询来创建随机节点之间的链接

    为了建立数据库 我想创建一小组 Person 节点 WITH Amy Bob Cal Dan Eve AS names FOREACH r IN range 0 size names 1 CREATE Person name names r
  • Rails 3 和图形数据库

    在 Postgresql 上运行的 Rails 3 应用程序需要切换到图形数据库才能成长 它们有很多 并且都提供不同类型的 API 主要是 REST 我深受启发talks http nosql mypopescu com post 3429
  • neo4j:单向/双向关系?

    所以我研究了 neo4j 我可能会在即将到来的项目中使用它 因为它的数据模型可能非常适合我的项目 我查看了文档 但我仍然需要这个问题的答案 我可以将关系设置为单向吗 看来 Neo4j 的人很喜欢电影 所以我们继续吧 如果我有这样的图表 Ac
  • Neo4j:检索连接到 Neo4j Rest 中的节点或通过 Cypher 的所有节点和关系

    我想检索所有节点以及连接到节点的关系 我尝试通过两种方式做到这一点 1st通过Neo4j REST API http docs neo4j org chunked milestone server java rest client exam
  • 如何检索 Neo4j 图形数据库中的关系

    请耐心等待 我对此很陌生 我目前正在使用 Net neo4jClient 目前我有一个Share节点和一个Customer节点 我正在建立一种关系客户拥有分享他们之间并坚持下去 这是我的关系课程 public class CustomerO
  • Bulbflow:neo4jserver Graph 和 neo4jserver Neo4jclient 之间的区别

    我现在正在尝试学习如何连接到 Neo4j 服务器并使用 Python 中的 Bulbflow 在其上运行 Cypher 查询 我不明白的是连接到 neo4j 服务器的两种可能性之间的区别 1 Graph http bulbflow com
  • plesk 上的 docker 中的 Neo4j(3.4.17、3.5.13、4.0.0)不使用 /ssl 中提供的 SSL 证书,而是尝试删除它们并进行自己的自签名

    此配置在某些时候对我有用 但由于没有启用自动续订 在短暂的 VPS 暂停后就停止了 根据文档 我在一个文件夹中提供了 neo4j cert 和 neo4j key 然后将其安装在 ssl 的容器上 不幸的是 neo4j 将停留在 清理自生成
  • 如何删除neo4j中的所有索引?

    我想使用 cypher 批量删除所有存在的索引 可以吗 我正在使用 neo4j 3 4 7 DROP INDEX ON Label attributename 如果我在稍后阶段创建相同的索引 它会替换现有索引吗 删除所有索引和约束的快速方法
  • 如何以最佳方式将 SQL 查询转换为 cypher?

    我是 neo4j 的新手 使用 3 0 版本 我有一个巨大的事务数据集 我将其转换为图形模型 我需要将下面的 SQL 查询转换为 cypher create table calc base as select a ticket id tic
  • Neo4JClient:如何创建关系?

    我看到了一篇具有相同标题的帖子 但不幸的是无法通过查看给定的示例找到解决方案 我通过以下方式创建了节点 private static void createExampleNetwork GraphClient client try Cyph
  • Cypher - 匹配两个不同的可能路径并返回两者

    我有一个数据集 我在这里作为示例表示 http console neo4j org id 3dq78v http console neo4j org id 3dq78v 我想要做的是对于图表中的每个 Z 节点 该示例只有一个 但我有很多 我
  • 使用cypher删除neo4j中的所有节点和关系超出堆空间

    我一直在尝试按照 neo4j google 组和其他在线来源的建议运行此查询 开始 n 节点 匹配 n r 其中 ID n gt 0 删除n r 为了删除测试之间的所有节点和关系 当我从控制台执行此操作时 我用完了 java 堆空间 当我从
  • Neo4j:插入 7k 节点很慢(Spring Data Neo4j / SpringRestGraphDatabase)

    我正在构建一个应用程序 我的用户可以在其中管理字典 其中一项功能是上传文件以初始化或更新词典的内容 我首先关注的结构部分是Dictionary CONTAINS gt Word 从一个空数据库 Neo4j 1 9 4 但也尝试过 2 0 0
  • 如何在neo4j中显示屏幕上的所有节点

    我有近 5000 个节点Recipes和 5 个节点Meal Types在 Neo4j 数据库中 目前他们之间没有任何关系 我正在下面运行 CQL MATCH n RETURN n LIMIT 100000 这运行良好 但它返回与相关的节点
  • 使用 neo4j 建模有序树

    我刚刚开始使用 neo4j 并且了解图形和关系的原理 但是我在想要建模的某些结构方面遇到了一些麻烦 我想在编程语言项目中使用它 并存储已解析源文件的 AST 从那里 我计划向节点添加大量额外的数据和关系 以帮助分析和工具 但基本的 AST
  • 如何返回每个另一个节点属性的最大计数

    我需要计算一位作曲家的音乐作品每十年被演奏了多少次 然后只返回每十年演奏次数最多的一首作品 除了过滤除每十年最高计数之外的所有内容之外 该密码可以执行所有操作 match c Composer CREATED BY w Work lt 2
  • 启用远程访问neo4j 4.2社区版

    由于在家工作 我需要一种方法来监视远程 neo4j 实例 最好通过 Web 浏览器实例 在过去 例如在3 0中 它可以通过以下方式轻松实现修改单个配置行 https neo4j com developer kb how do i enabl
  • 如何从 Neo4j 服务器插件登录?

    我正在尝试调试我正在编写的 Neo4J 服务器插件中的问题 有可以输出的日志吗 在哪里或如何执行此操作并不明显 好问题 我想你可以使用 Java 日志记录吗 这应该被路由到正常的日志系统中

随机推荐