从R

时间:2015-12-15 01:50:52

标签: r neo4j r-neo4j

我有一个由用户和存储库组成的数据集,我在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)

enter image description here

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

我无法弄清楚如何重新构建数据以在图表中绘制它。

1 个答案:

答案 0 :(得分:1)

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

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

关于使用RNeo4j进行网络可视化的this blog post

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 libary

进行可视化
visNetwork(nodes, edges)