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

Cypher如何仅计算特定类型节点的最大跳数?

澹台建华
2023-03-14

我知道在Neo4J中,Cypher可以根据两个节点之间的最大跳数来过滤结果,如下所示:

MATCH (a:Word)-[relationships*..3]-(b:Word)
RETURN a, relationships, b
LIMIT 5

这将返回两种类型的节点(a和b),它们都是Word,并且彼此之间总共有4个跃点(通过所有节点类型和所有关系类型)。

我想知道,在上面的例子中,当Cypher最多计算3跳时,它是否可以只计算特定类型的节点。

例如,在这个节点链中:

(一个字)---

节点ah之间总共有7个跃点。然而,它们之间只有3个单词跳跃。

Cypher是否有可能以这种方式施加最大跳数?

共有1个答案

郭曾笑
2023-03-14

可以使用过滤器对节点的标签进行计数。例如:

MATCH path = (a:Word)-[relationships*..10]-(b:Word)
WHERE SIZE( FILTER(n IN NODES(path) WHERE 'Word' IN LABELS(n)) ) > 3
RETURN a, relationships, b
LIMIT 5
 类似资料:
  • 我试图想出一个密码查询,可以返回某些父母的孩子节点,其中孩子的父母都是期望的父母。 我在这个控制台上有一个示例数据集:http://console.neo4j.org/?id=nsq8c1 在该示例中,我们有包含父节点的组节点,以及正好有2个父节点的子节点,并且所有组中的所有父节点与每个其他父节点都有一个子节点。现在我想要回父母都在第一组的孩子。 我尝试的示例查询是

  • 问题内容: 是初学者的selenium程序员,请帮助我… 我有下面的HTML,并试图计算元素的子节点 为4(1 和3个元素) 目前正在按以下方式分别计算计数(变量在html上方) 有人可以使用seleniumWeb驱动程序在Ruby中用一种简单的方法来帮助我吗 问题答案: 有几种可能的方法取决于您希望XPath的具体程度,例如,如果您只想计算任何名称的子元素,则可以使用: 并且如果您想专门计算某些

  • 我正在寻找计算的最小和最大数量的节点和树叶在一个有根的树与高度h和度d。 我猜叶子的最小数量总是1(如果h 我是正确的还是我错过了什么?

  • xslt文件读取每个学生的循环并将其打印在一个表中,但我很难计算每个学生的课程数量,但当您这样做时,它会做的全部 它列出每个学生的课程共21门。我想让它尝试一下,只是让这个学生有2门课程,然后当我打印出下一个学生时,它列出了这个学生有多少门课程,例如。3等。有没有想法如何设置计数,所以它只对每个学生,只有它的课程,而不是所有他们?

  • 计算节点 需要额外启用 l3_agent(dvr 模式),以及 metadata agent。 其实,跟传统情况下的网络节点十分类似。每个东西向路由器有自己的命名空间,负责跨子网的转发。另外,多一个 floating 路由器,专门负责经由 floating 地址的南北向转发。 东西流量 如上图所示,租户两个子网,红色和绿色,分别有 vm1 和 vm2,位于节点 cn1 和 cn2 上。 vm1 访

  • 计算节点 主要包括两个网桥:集成网桥 br-int 和 隧道网桥 br-tun。 $ sudo ovs-vsctl show225f3eb5-6059-4063-99c3-8666915c9c55 Bridge br-int fail_mode: secure Port br-int Interface br-int