Ответ 1
Рассмотрим драйвер RNeo4j. Функция, показанная выше, неполна: она не может возвращать данные одного столбца, и нет обработки NULL.
Есть ли библиотека R, которая поддерживает neo4j? Я хотел бы построить R-график (например, igraph) из neo4j или - наоборот - сохранить R-график в neo4j.
Точнее, я ищу что-то похожее на bulbflow для Python.
Обновление
Появился новый драйвер neo4j для R, который выглядит многообещающим: http://nicolewhite.github.io/RNeo4j/. Я изменил правильный ответ.
Рассмотрим драйвер RNeo4j. Функция, показанная выше, неполна: она не может возвращать данные одного столбца, и нет обработки NULL.
Я попробовал, и он работает хорошо. Вот функция, которая работает: Сначала установите и загрузите пакеты, а затем выполните функцию:
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
}
и это пример вызывающей функции:
q <-"start a = node(50) match a-->b RETURN b"
data <- query(q)
Я попытался использовать R script (спасибо большое за его предоставление), и мне кажется, что вы можете напрямую использовать: /дб/данные/зашифровывать вместо дб/данные/внутр/CypherPlugin/graphdb/execute_query (с neo4j 2.0).
Не уверен, что он соответствует вашим требованиям, но посмотрите на Gephi. http://gephi.org/.