Skip to content

R(프로그래밍 언어) RNeo4j #

Find similar titles

5회 업데이트 됨.

Edit
  • 최초 작성자
    Kevin
  • 최근 업데이트
    KyujinLee

Structured data

Category
Programming

RNeo4j는 R에서 제공하는 패키지 중 하나로, Neo4j 그래프 데이터베이스를 연결하여 손쉽게 그래프를 시각화하고 분석할 수 있다. 그래프 시각화를 위해서는 igraph, visNetwork 라이브러리도 함께 필요하다.

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에서 시각화된 그래프는 아래와 같다.

Image

Reference #

0.0.1_20230725_7_v68