0

我有一个由用户和存储库组成的数据集,我对 Neo4j 进行查询

query = "
MATCH (user:User{name:'mattt'})-->(repo)
MATCH (repo)<--(allUsers:User)
RETURN repo.name, COLLECT(DISTINCT allUsers.name) AS users;
"
q = cypher(neo4j, query)

在此处输入图像描述

关系是 repo.name 和指向它的用户列表之间的关系。

我无法弄清楚如何重组数据以将其绘制在图表中。

4

1 回答 1

1

我认为您想使用返回边缘列表的 Cypher 查询,而不是拥有给定用户指向的所有用户的列表。像这样的东西:

MATCH (u:User)-->(r:Repo)
RETURN u.name AS from, r.name AS to;

继这篇关于使用 RNeo4j 进行网络可视化的博客文章之后:

query = "
MATCH (u:User)-->(r:Repo)
RETURN u.name AS from, r.name AS to;
"

edges = cypher(neo4j, query)

然后为节点定义一个DataFrame:

nodes = data.frame(id=unique(c(edges$from, edges$to)))
nodes$label = nodes$id

然后使用visNetwork 库进行可视化:

visNetwork(nodes, edges)
于 2015-12-15T19:38:39.247 回答