Use neo4j with R

2019-02-01 00:32发布

Is there a R library that supports neo4j? I would like to construct a R graph (e.g. igraph) from neo4j or - vice versa - store a R graph in neo4j.

More precisely, I am looking for something similar to bulbflow for Python.


Update

There is a new neo4j driver for R that looks promising: http://nicolewhite.github.io/RNeo4j/. I changed the correct answer.

4条回答
在下西门庆
2楼-- · 2019-02-01 01:13

I tried to use the R script (thanks a lot for providing it) and it seems to me that you can directly use : /db/data/cypher instead of db/data/ext/CypherPlugin/graphdb/execute_query (with neo4j 2.0).

查看更多
时光不老,我们不散
3楼-- · 2019-02-01 01:26

Consider the RNeo4j driver. The function shown above is incomplete: it cannot return single column data and there is no NULL handling.

https://github.com/nicolewhite/RNeo4j

查看更多
趁早两清
4楼-- · 2019-02-01 01:26

Not sure if it fits your requirements but have a look at Gephi. http://gephi.org/.

查看更多
不美不萌又怎样
5楼-- · 2019-02-01 01:27

This link might be helpful. I'm going to connect ne04j with R in the following days and will try first with the provided link. Hope it helps.

I tried it out and it works well. Here is the function that works: First, install and load packages and then execute function:

install.packages('RCurl')
install.packages('RJSONIO')

library('bitops')
library('RCurl')
library('RJSONIO')

query <- function(querystring) {
  h = basicTextGatherer()
  curlPerform(url="localhost:7474/db/data/ext/CypherPlugin/graphdb/execute_query",
    postfields=paste('query',curlEscape(querystring), sep='='),
    writefunction = h$update,
    verbose = FALSE
  )           
  result <- fromJSON(h$value())
  #print(result)
  data <- data.frame(t(sapply(result$data, unlist)))
  print(data)
  names(data) <- result$columns

}

and this is an example of calling function:

q <-"start a = node(50) match a-->b RETURN b"
 data <- query(q)
查看更多
登录 后发表回答