在Neo4j中创建Bipartite查询

时间:2015-12-14 21:41:26

标签: neo4j

[EDITED]

我有一个代表GitHub数据的数据库,它由用户节点和Repo节点组成,具有从用户到Repo的有向关系,称为[:CONTRIBUTED]。

我正在尝试获取表格数据以在R中构建二分图,但无法弄清楚如何执行此操作。

MATCH (n:User{name:'mattt'})-[*]-(g)
RETURN g LIMIT 100

这给了我一个我想要的图表,但我不确定如何将输出格式化为表格。

我希望结果中包含mattt,以及1-2度之外的所有用户/回购。我还希望能够从结果中重新创建子图,因此它需要包含有关关系的信息。

1 个答案:

答案 0 :(得分:1)

[EDITED]

此查询使用aggregation在每个结果行中返回不同的repo感兴趣的内容以及对其有贡献的用户集合:

MATCH (user:User{name:'mattt'})-->(repo)
MATCH (repo)<--(allUsers:User)
RETURN repo, COLLECT(allUsers) AS users;

此查询假定CONTRIBUTED关系不包含需要返回的重要属性。