从neo4,apoc,Cypher访问映射值

时间:2019-01-02 22:38:36

标签: neo4j cypher neo4j-apoc

我对Neo4j,Cypher和一般编程还是很陌生。

是否可以访问下面发布的输出,即访问每个“ item”(必须是一对)的“ count”值,还可以访问“ item”值?我需要多少通常,一对,即特定的相邻节点不仅作为信息出现,而且还作为我可以进一步调整值以调整图的值出现。

我的最后几行代码(在前面的几行中,我只是按顺序对节点进行排序):

...

WITH apoc.coll.pairs(a) as pairsOfa

WITH apoc.coll.frequencies(pairsOfa) AS giveBackFrequencyOfPairsOfa

UNWIND giveBackFrequencyOfPairsOfa AS x 

WITH DISTINCT x

RETURN x

我需要使用的Neo4j浏览器的输出:

"x"            


│{"count":1,"item":[{"aName“:"Rob","time":1},{"aName":"Edwin“,"time“:2}]},{„count“:4,“item":[{"aName":"Edwin","time":2},{"aName“:"Celesta","time":3}]} 

...

1 个答案:

答案 0 :(得分:1)

根据您的代码,您的结果应包含多个x记录(而不是单个记录,问题中提供的“输出”暗示)。这是我期望的示例:

╒══════════════════════════════════════════════════════════════════════╕
│"x"                                                                   │
╞══════════════════════════════════════════════════════════════════════╡
│{"count":1,"item":[{"aName":"Rob","time":1},{"aName":"Edwin","time":2}│
│]}                                                                    │
├──────────────────────────────────────────────────────────────────────┤
│{"count":1,"item":[{"aName":"Edwin","time":2},{"aName":"Celesta","time│
│":3}]}                                                                │
└──────────────────────────────────────────────────────────────────────┘ 

如果是这样,则可以直接通过countitem访问每个x的{​​{1}}和x.count属性。要获取项目中的每个值,可以使用x.itemx.item[0]

此外:您可能希望使用x.item[1]而不是apoc.coll.pairsMin,以避免当数字为零时生成伪造的“对”(其第二个元素为apoc.coll.pairs)要配对的值的奇数。另外,您可能不需要执行null步骤。