所以,作为一个并发症合并成一个单一的列this question,我基本上想要做暗号的节点和关系
MATCH (n:TEST) OPTIONAL MATCH (n)-[r]->() RETURN DISTINCT n, r
而且我想返回n和r为无重复值的一列。但是,运行
MATCH (n:TEST) OPTIONAL MATCH (n)-[r]->() UNWIND n+r AS x RETURN DISTINCT x
提供了一个 “类型不匹配:预计名单,但被关系(1号线,列47)” 的错误。而这个查询
MATCH (n:TEST) RETURN DISTINCT n UNION MATCH()-[n]->() RETURN DISTINCT n
提出节点和关系在同一列,而是从第一场比赛的情况下在下半场丢失。
所以,我怎么能返回所有匹配的节点和关系为一个最小的名单?
UPDATE:
这就是答案查询的最终修改后的版本,我使用
MATCH (n:TEST) OPTIONAL MATCH (n)-[r]->() RETURN n {.*, rels:collect(r {properties:properties(r), id:id(r), type:type(r), startNode:id(startNode(r)), endNode:id(endNode(r))})} as n
最后2它们合并成1列,但它只是一种格式变化,而节点信息是返回关系时间。第一个查询做我想要的,但关系标签(和结束节点)丢失。有没有办法让整个关系节点成为价值的一部分? (我需要的ID,开始,结束,标签/类型,并从关系属性) – Tezra
增加了一个查询应该做的伎俩 – InverseFalcon
好了,我可以用开始和结束节点上的ID()函数(这些节点也会被返回,所以不止是重复的信息);只是最后一件事。类型字段可能会被重载,所以我需要将属性降低到“属性”字段以保持其清洁。看来我不能只是做“属性:”。*“那么我该如何解决这个问题? – Tezra