2015-12-15 27 views
0

我有一個數據集它由用戶和儲存庫,其餘查詢針對的Neo4j創建從Neo4j的數據的曲線圖中的R

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和列表之間的用戶指向它。

我無法弄清楚如何重構數據以在圖形中繪製此圖。

+0

什麼樣的圖?帶有節點和邊緣的圖形或類似條形圖的圖形? –

回答

1

我想你想要使用返回邊界列表的Cypher查詢,而不是讓所有用戶指定給用戶的列表。事情是這樣的:

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

this blog post有關網絡可視化使用RNeo4j沿繼:

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

edges = cypher(neo4j, query) 

然後定義一個數據幀的節點:

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

然後使用visNetwork libary可視化:

visNetwork(nodes, edges)