R(프로그래밍 언어)
RNeo4j
#
Find similar titles
- 최초 작성자
- 최근 업데이트
Structured data
- Category
- Programming
RNeo4j는 R에서 제공하는 패키지 중 하나로, Neo4j 그래프 데이터베이스를 연결하여 손쉽게 그래프를 시각화하고 분석할 수 있다. 그래프 시각화를 위해서는 igraph, visNetwork 라이브러리도 함께 필요하다.
Table of Contents
RNeo4j 설치 #
R이나 R studio에서 install.package를 활용하여 설치하고 라이브러리를 불러온다.
$ install.package("RNeo4j")
$ install.package("visNetwork")
$ install.package("RNeo4j")
$ library(igraph)
$ library(visNetwork)
$ library(RNeo4j)
Neo4j database 연결 #
구축된 Neo4j DB가 있다면, 로컬 서버주소를 입력하고, DB에 설정한 사용자정보가 있다면 함께 입력한다. Neo4j 사용법은 여기에서는 자세히 다루지 않겠다.
$ graph = startGraph("http://localhost:7474/db/data/", username = "neo4j", password = "dltjr2080")
Cypher query를 통한 Neo4j DB 정보 가져오기 #
cypher query를 neo4j DB에 날려 정보를 가져오는 방법은 아래와 같다.
$ query = " Match (n:Food)-[r]-(n1:Metabolite)-[r1]-(n2:Disease) where n2.name = '갑상선암' and r1.effect = 'negative' and NOT n1.name = 'H2O' return distinct n.report_name as Food, n1.name as Metabolite, n2.name as disease"
Cypher query 결과 확인 #
$ edges = cypher(graph, query)
$ head(edges)
visNetwork 활용한 시각화 #
visNetwork으로 시각화하기 위해 edge 데이터 프레임을 가지고 유니크한 node 데이터 프레임 생성하여 시각화한다.
$ nodes = data.frame(id=unique(c(edges$from, edges$to)))
$ nodes$label = nodes$id
$ head(nodes)
$ visNetwork(nodes, edges)
R에서 시각화된 그래프는 아래와 같다.