2012-06-25 11 views
16

वहाँ एक आर पुस्तकालय neo4j का समर्थन करता है कि है? मैं neo4j से एक आर ग्राफ (उदा। Igraph) बनाना चाहता हूं या इसके विपरीत - neo4j में एक आर ग्राफ स्टोर करें।उपयोग neo4j

अधिक सटीक, मैं पाइथन के लिए bulbflow के समान कुछ ढूंढ रहा हूं।


अद्यतन

वहाँ आर कि होनहार लग रहा है के लिए एक नया neo4j ड्राइवर है: http://nicolewhite.github.io/RNeo4j/। मैंने सही जवाब बदल दिया।

+0

के बाद से neo4j एक [REST API] है (http://docs.neo4j.org/chunked/1.6/rest-api.html), आप हाथ से यह करने के लिए कनेक्ट करने के लिए सक्षम होना चाहिए, 'RJSONIO' पैकेज JSON डेटा को संभालने के लिए और' RCurl' साथ क्वेरी भेजने के लिए। –

+0

आरईएसटी के माध्यम से सीधी पहुंच निश्चित रूप से संभव है, आरजेएसओएनआईओ के लिए धन्यवाद। जो मैं खोज रहा हूं वह neo4j के लिए एक अधिक सुविधाजनक आर बाध्यकारी है। कुछ ऐसा: "जी <- graph.neo4j(), g.addNode (x), g.addEdge (से, से)"। –

+0

इसके अलावा, आप शायद ग्राफएमएल आयात और निर्यात कर सकते हैं ?, http://docs.neo4j.org/chunked/snapshot/gremlin-plugin.html#rest-api-load-a- नमूना- लोड करने के लिए आलेख देखें, निर्यात समान है । –

उत्तर

11

RNeo4j ड्राइवर पर विचार करें। ऊपर दिखाया गया कार्य अधूरा है: यह एकल कॉलम डेटा नहीं लौटा सकता है और कोई न्यूल हैंडलिंग नहीं है।

https://github.com/nicolewhite/RNeo4j

+0

बहुत अच्छा, मैं एक नज़र रखूंगा! –

0

सुनिश्चित नहीं है कि यह आपकी आवश्यकताओं के अनुरूप है लेकिन Gephi पर एक नज़र डालें। http://gephi.org/

+1

यह वास्तव में मेरे प्रश्न से संबंधित नहीं है ... मैं एक आर पैकेज की तलाश में हूं जो neo4j तक आसान पहुंच की अनुमति देता है। गेफी हालांकि अच्छा है :) –

+0

मैं घी को इंटरमीडिएट के रूप में उपयोग करता हूं। यदि आप GEXF को igraph निर्यात करते हैं, तो gfhi पर आयात करें, तो एक अच्छी प्लगइन है। फिर आप neo4j पर निर्यात कर सकते हैं। यह थोड़ा सर्किट है, लेकिन एक बिंदु-और-क्लिक प्रकार में आसान है। – Mittenchops

13

यह link सहायक हो सकता है। मैं निम्नलिखित दिनों में आर के साथ ne04j कनेक्ट करने जा रहा हूं और प्रदान किए गए लिंक के साथ पहले कोशिश करूंगा। आशा करता हूँ की ये काम करेगा।

मैंने इसे आजमाया और यह अच्छी तरह से काम करता है। यहाँ समारोह है कि काम करता है: पहले, स्थापित और लोड संकुल और उसके बाद निष्पादित समारोह:

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) 
+1

यह जानना अच्छा है कि मैं अकेला इस में नहीं कर रहा हूँ;) जानना चाहता है कि आप इस पर काम कर रहे हैं और कैसे आप neo4j का उपयोग दिलचस्प होगा। –

1

मैं आर स्क्रिप्ट का उपयोग करने की कोशिश की (धन्यवाद यह प्रदान करने के लिए एक बहुत) और मुझे लगता है कि आप सीधे उपयोग कर सकते हैं: /db/डेटा/बीजलेख db/डेटा/ext के बजाय/CypherPlugin/graphdb/execute_query 012,(neo4j 2.0 के साथ)।