繁体   English   中英

Neo4j cypher查询已知路径

Neo4j cypher query a known path

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个查询,我不确定如何实现或在cypher执行是否有效。 无论如何,这就是我想要做的。

我基本上有这个图:

示例图

我想从13获取所有nodes / relationships注意 :空节点可以是任意数量的节点)。 我还希望从最后两个节点以及仅不在原始路径中的最后两个节点的所有传入边缘( 如果有) 在这种情况下,还应添加红色边缘以得到结果。

我已经知道我想要的路径。 因此,在此示例中,我将获得节点ID 1, ..., 2, 3并且我想我知道如何获取第一部分的路径。

MATCH (n)-->() WHERE n.nid IN ['1', '...', '2', '3'] RETURN n

我只是不知道如何获得路径中最后两个节点的红色边缘。 另外,我没有得到节点ID 4和5。我们可以假设连接1, ..., 2, 3的边都具有相同的label而所有其他边都具有不同的label

我想我需要使用merge但还不知道该怎么做。

或者,如果有人知道如何在gremlin中做到这一点,那么我无所不能。

1 个回复

这对您有用吗?

MATCH ({nid: '1'})-[:t*]->(n2 {nid: '2'})-[:t]->(n3 {nid: '3'})
OPTIONAL MATCH ()-[t42]->(n2)
  WHERE (TYPE(t42) <> 't')
OPTIONAL MATCH ()-[t53]->(n3)
  WHERE (TYPE(t53) <> 't')
RETURN COLLECT(t42) AS c42, COLLECT(t53) AS c53;

我在左侧路径中(在您的图中)将所有关系都指定为“ t” type (术语label用于节点,而不是关系。)。 您说过我们可以假设其他关系不具有该类型,因此此查询利用了这一事实从结果中过滤出类型“ t”的关系。

该查询还使4-2和5-3关系成为可选关系。

2 密码查询 Neo4J

我是 Neo4j 的新手,所以需要一些帮助我试图在 NeO4j 中执行以下查询这个想法是提取所有在 2020 年 1 月 1 日之前在 ['collapse' ,'science' ,'politics'] subreddits 上发帖的用户并且现在在 ['covid19','china_flu', ...

2020-05-16 16:59:44 1 38   neo4j
3 neo4j Cypher查询

我在neo4j图数据库中有一个以下图表,通过使用密码查询语言,我想检索连接到根节点及其子节点的整个数据。 例如 : 请找到下面的图形图像。 [根据图像,节点1有两个孩子,他们的孩子也有太多的孩子有相同的关系。 现在我想要的是,使用Cypher,我点击节点1,它应该响应子节点的 ...

4 Neo4J 和 Cypher 查询

我是 Neo4j 和 Cypher 查询的新手。我的创建查询就像每个商店都有 2 个冷却器,每个冷却器有 2 个 PLC,每个 PLC 又有 2 个传感器。 创建如下 然而,在 SHOP1 下获得传感器的匹配 不返回任何内容。表示没有更改和数据。 我正在 Neo4J 沙箱环境中尝试这个。 ...

5 Cypher Neo4j查询

我正在开发某种社交琐事游戏,我的主要数据库是Neo4j。 在特定的用例中,我很难过。 我有两个相关的对手节点的质询节点: 挑战与主题节点有关: 每个主题都涉及许多问题: 如果对手在出现波纹管关系之前回答了一个具体问题: 用例:我需要检索X个问题(两个对手都 ...

6 neo4j Cypher Query沿路径返回关系

我正在使用如下所示的Neo4j数据集: 我正在尝试编写一个查询,该查询返回从绿色节点84到节点88所有路径,该查询还返回/包括沿路径与灰色节点具有Files关系的蓝色节点 到目前为止,我的查询看起来像这样: 的问题是,现在,该查询返回的每个gray - [Files] ...

7 Neo4j:根据节点表示路径密码查询结果

我具有以下节点结构Emp[e_id, e_name, e_bossid] 。 而且我有一个递归查询 ,该查询以SELF关系e_bossid-[REPORTS_TO]-&gt;e_id递归遍历方式利用数据库 但是结果是PATH。 我想以NODES而不是路径的形式产生结果。 我试图使用 ...

8 如何在 Neo4J 中使用 Cypher 查询节点之间的扩展路径?

我正在使用 Neo4J/Cypher 基于图形模型存储/检索一些数据。 让我们假设以下模型:我有一组通过关系 (type=CONNECTED_TO) 连接的节点 (type=child)。 如果我想在不知道中间体的情况下查询从 C1 到 C4 的路径: 到现在为止还挺好。 现在假设每个孩 ...

9 neo4j cypher保持路径强加的排序,以便稍后在查询中使用

我正在使用像这样的查询 我希望结果按照-[:NEXT]-&gt;关系的方向由自然排序排序。 但第三行中的WITH扰乱了这种排序。 问题是,我需要使用with来过滤:RELEVANT节点和2.仅获取不同的此类节点。 有没有办法保留订购? 也许在路径上分配编号顺序,稍后再使用OR ...

10 Neo4j Cypher 查询:按输入路径查找节点

我有一个包含系统树层次结构的图。 在此图中,一个根的索引标签为“MainRoot”,所有其他关系的类型为“hasParent”。 我想构建一个查询,该查询将节点名称列表 (=inputPath) 作为输入并在查询结束时返回节点。 现在我有了这个工作示例,最后返回的项目是指定的名为“java”的节点 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM