neo4j return root node once, and all relationships and end-nodes in json
我正在尝试对节点已知的所有内容进行html查看。
因此,如果我选择该节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [ { n: { originating node details }, r: { relationship details }, n2: { connected node details } }, { n: { originating node details }, r: { relationship details }, n2: { connected node details } }, { n: { originating node details }, r: { relationship details }, n2: { connected node details } } ] |
相同的确切数据在
当前,为了限制该数据,我只是
是否有一种方法可以调用一次以获取
您可以将亲戚和亲戚聚集到一个集合中。
这样的事情对您有用吗?
1 2 3 | match n-[r]->n2 with n, [type(r), n2] as relative return { root: n, relatives: collect(relative) } |
我将使用一组地图来描述每个其他节点以及将它们连接起来的关系。
1 2 | MATCH (n)-[r]-(o) WHERE ... RETURN n AS node, labels(n) AS node_labels, COLLECT({rel: r, rel_type: type(r), other: o, other_labels: labels(o)}) AS relations |
使用此
输出将只是一个"行",其结构如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [ {"subject_prop1": 1,"subject_prop2": 2, ...}, ["SubjectLabel1","SubjectLabel2", ...], [ { "rel": {"rel_prop1": 1,"rel_prop2": 2, ...}, "rel_type":"RELTYPE", "other": {"other_prop1": 1,"other_prop2": 2, ...}, "other_labels": ["Label1","Label2", ...], }, { ... } ] ] |
(我从结构中排除了Neo4j样板。)