gpt4 book ai didi

neo4j - 仅获取 Neo4j 中的特定关系类型

转载 作者:行者123 更新时间:2023-12-01 10:30:48 25 4
gpt4 key购买 nike

我有一个具有 PersonId 属性的 Person 节点和一个具有 DocumentId 属性的文档节点。

关系就像我们在电子邮件中一样,

(person)-[:SENT]->(doc)
(doc)-[:TO]->(person)
(doc)-[:CC]->(person)
(doc)-[:BCC]->(person)

现在,当我触发查询时,如附图所示,在第二个查询中,带有 SIZE 函数的第 4 列在第 2 行中给出“1”。

enter image description here

你能说说为什么我在那边得到 1 的计数吗?甚至我指定关系类型:TO。如果您还需要什么,请告诉我。

提前致谢。

最佳答案

关系类型 ( :TO ) 不是 MATCH 的一部分, 它是 RETURN 的一部分.从第二个查询返回的行(路径)与从第一个查询返回的行(路径)完全相同,但您只是返回一个额外的“列”,即路径数 (d)-[:TO]->(rc) , 在对应于该行的节点对之间。这对节点是相同的,所以它会给出相同的结果 (1)。

我想你图表的相关部分看起来像这样:

graph

查询图表中的模式 (p:Person { PersonId: 4})-[s:SENT]->(d:Document)-[r]->(rc:Person)将返回两个匹配路径:

  • (person 4)-[:SENT]->(document 10)-[:BCC]->(person 3)
  • (person 4)-[:SENT]->(document 10)-[:TO]->(person 3)

注意两行所涉及的节点是如何相同的。

现在,对于每个匹配项/行,您将返回 :TO 的数量文档和该行的收件人之间的关系,这是 1 因为显然有一个 :TO在文件 10 和人 3 之间。

:TORETURN您的部分查询本质上与 r 无关你的关系MATCH .首先,您使用 MATCH检索图中您感兴趣的节点/关系,然后对这些节点/关系采取行动(RETURN)。

关于neo4j - 仅获取 Neo4j 中的特定关系类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42810346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com