当前位置: 首页 > 知识库问答 >
问题:

利用cypher查询在neo4j中获取连通图

东方俊杰
2023-03-14

我正在使用REST与neo4j DB交互。

共有1个答案

凌嘉志
2023-03-14

不过不会很快。

Java中的专用算法将更快地收集这些数据。

  1. 获取所有节点
  2. 每个节点
  3. 如果它连接到一个连通图(shortestPath)的任何第一个节点,则跳过它,否则所有路径的所有结束节点的集合
MATCH (n) 
WITH COLLECT(n) as nodes
RETURN REDUCE(graphs = [], n in nodes | 
  case when 
    ANY (g in graphs WHERE shortestPath((n)-[*]-(head(g))) 
         then graphs 
         else graphs + [[p in (n)-[*0..]-() | nodes(p)[length(p)-1]]]
         end ))
 类似资料:
  • Cypher对我来说似乎比Gremlin要清楚得多,总的来说,Neo4j的家伙似乎都在和Cypher一起。但是--如果Cypher与Gremlin相比是有限的--我真的想提前知道这一点。

  • 假设我们有下面的Neo4j模式(简化了,但它显示了重要的一点)。有两种类型的节点和<代码>版本s通过关系的s可以通过关系连接。同样,这些关系有两个属性和,表示有效时间跨度-其中一个或两个可以(在Neo4j术语中不存在)表示无限。 编辑:节点和关系的有效性日期是独立的(尽管示例巧合地显示它们是对齐的)。 该示例显示了两个

  • 我是Neo4J的新手,我正在尝试为基于时空的高可用性查询建立一个概念证明。 我有一个设置,有2个独立的Neo4J企业服务器和一个运行嵌入式HA Neo4J服务器的Java应用程序。 一切都很容易设置,基本查询也很容易设置和高效。另外,按照预期执行从Neo4J SpatialRepository派生的查询。 我正在努力理解的是如何使用SDN与任何其他where子句组合进行空间查询。作为一个微不足道的

  • 假设我在Neo4j中有一个由5个节点组成的集合,这样集合中的每个节点都至少连接到集合中的另一个节点。我想从Neo4J中提取节点集合及其交互所形成的子图。目前,我使用的是一个非常原始的方法,它涉及到试图从系统中的每个节点找到与其他每个节点的匹配:

  • 我的neo4j服务器有一个非托管扩展。 代码如下。 当我部署代码时,我得到了500个内部错误。如果我删除代码 Result result = database.execute( “MATCH (n:KISI) where id(n)=1 return n” ); 然后一切都很好。 我检查了日志文件,错误如下 2015年8月13日3:34:36AM com . sun . jersey . SPI