Neo4j中的共现现象

Neo4j中的共现现象,neo4j,Neo4j,我有一个简单的网络,其中每个节点都有dui和name属性,每个关系都有year和freq(频率)属性 例如,如果我希望使用dui='d00003'为节点创建ego网络,我将使用以下查询(请注意,我使用WHERE子句限制结果的数量): 现在我想知道如何获得m.dui列下列出的节点之间的所有关系;换句话说,我希望为这些节点生成共现图。这应该可以: MATCH (n { dui:'D000003' })-[r]-(m) WHERE r.year = 2005 AND r.freq > 20 MA

我有一个简单的网络,其中每个节点都有
dui
name
属性,每个关系都有
year
freq
(频率)属性

例如,如果我希望使用
dui='d00003'
为节点创建ego网络,我将使用以下查询(请注意,我使用
WHERE
子句限制结果的数量):

现在我想知道如何获得
m.dui
列下列出的节点之间的所有关系;换句话说,我希望为这些节点生成共现图。

这应该可以:

MATCH (n { dui:'D000003' })-[r]-(m)
WHERE r.year = 2005 AND r.freq > 20
MATCH (n)-[rel]-(m)
RETURN n.dui, m.dui, COLLECT(rel) AS rels;

请注意,我将您的怪异(我相信是未记录的)
语法更改为
-[r]-
,这意味着方向性并不重要。

实际上这是可行的,但我需要
m.dui
列下列出的节点之间的所有可能关系。
+-----------------------+
| n.dui     | m.dui     |
+-----------------------+
| "D000003" | "D015995" |
| "D000003" | "D015169" |
| "D000003" | "D013552" |
| "D000003" | "D008460" |
| "D000003" | "D006801" |
| "D000003" | "D005516" |
| "D000003" | "D005506" |
| "D000003" | "D002418" |
| "D000003" | "D002417" |
| "D000003" | "D000818" |
+-----------------------+
MATCH (n { dui:'D000003' })-[r]-(m)
WHERE r.year = 2005 AND r.freq > 20
MATCH (n)-[rel]-(m)
RETURN n.dui, m.dui, COLLECT(rel) AS rels;