csv - साइफर नेओ 4 जे बाहरी संसाधन लोड नहीं किया जा सका




neo4j load (4)

यह संभवतः एक यूआरएल मुद्दा है, file:c:/path/to/data.csv प्रयास करें file:c:/path/to/data.csv

मेरी ब्लॉग पोस्ट देखें:

Windows परिवेश में, मैं एक .csv फाइल को कथन के साथ लोड करने का प्रयास कर रहा हूं:

LOAD CSV WITH HEADERS FROM "file:///E:/Neo4j/customers.csv" AS row

ऐसा लगता है कि ठीक से काम नहीं करता है और रिटर्न मिलता है: बाहरी संसाधन को यहां लोड नहीं किया जा सका:

फ़ाइल: / ई: / एनईओ 4 जे / कस्टमर्स सीएसवी नियो। ट्रांसंसेंट एरर। स्थान। एक्सपोर्ट

मैं क्या गलत कर रहा हूं? अग्रिम में धन्यवाद


/usr/lib/neo4j सिस्टम के लिए, मैंने फाइल को /usr/lib/neo4j रखा है जिससे मुझे इस समस्या का समाधान मिला। हर दूसरे स्थान पर, मैंने पूर्ण अनुमति देने की कोशिश की (777) लेकिन समस्या एक समान है एक और स्टैकवर्फ फ्लो पोस्ट के माध्यम से जाने के बाद, मुझे एहसास हुआ कि फाइल को neo4j निर्देशिका में रखा जाना चाहिए।


आप फ़ाइल में जवाब पा सकते हैं

"C:\Users\Jack\AppData\Roaming\Neo4j Community Edition\neo4j.conf"

(ऊपर "dbms.directories.import = import")

संस्करण neo4j-community_windows-x64_3_1_1 के लिए आपको इस लाइन को टिप्पणी करना होगा या आपको फ़ोल्डर \ आयात (जो कि स्थापना के माध्यम से नहीं बनाया गया है) बनाने के लिए है और फ़ोल्डर में अपनी फ़ाइल को जोड़ें

इसमें लिखा है कि सुरक्षा कारणों से वे केवल \ Documents \ Neo4j \ default.graphdb \ import फ़ोल्डर से फाइल लोड की अनुमति देते हैं

# Dbms.directories.import = import पर टिप्पणी करने के बाद, आप उदाहरण से कार्यान्वित कर सकते हैं

LOAD CSV FROM "file:///C:/Users/Jack/Documents/products.csv" AS row 

Neo4j.conf में मुझे जोड़ने / सेट करना नहीं था

dbms.security.allow_csv_import_from_file_urls=true

Neo4j संस्करण 3.1.1 है, ओएस win10 है।

मेरे लिए, लोड सीएसवी Neo4j_Database_Location / testDB / import / artists.csv से पढ़ा जाएगा।

सबसे पहले, मैंने सीएसवी फाइल को पथ F: \ code \ java \ helloworld \ artists.csv पर रख दिया है, और मेरा साइबर वाक्य है

LOAD CSV FROM 'file:///F:\\code\\java\\helloworld\\artists.csv' AS line  
CREATE(:Artist {name:line[1],year:toInt(line[2])})

तब मैं त्रुटि संदेश को निम्नानुसार प्राप्त करता हूं:

Couldn't load the external resource at: file:/D:/Neo4j/db/testDB/import/code/java/helloworld/artists.csv

इसका अर्थ यह है कि neo4j फ़ाइल पथ को ही कन्फेट करता है। "D: / Neo4j / db / testDB / import /" है Neo4j डेटाबेस स्थान, और "code / java / helloworld / artists.csv" सीएसवी फ़ाइल स्थान है।

उदाहरण के लिए, मैं पथ D: \ Neo4j \ Neo4j CE 3.1.1 पर Neo4j को स्थापित करता हूं, और डाटाबेस लोकेशन डी: \ Neo4j \ db है। मैंने पथ D: \ Neo4j \ db \ testDB \ import \ artist.csv पर सीएसवी फ़ाइल डाल दी है। यदि आपके पास पथ पर फ़ाइल फ़ोल्डर "आयात" नहीं है, तो आपको उसे स्वयं बनाना चाहिए और अपनी फ़ाइल को फ़ोल्डर "आयात" में डाल देना चाहिए

फिर, पथ में अपनी सीएसवी फ़ाइल डालें, और इनपुट साइपर वाक्य:

LOAD CSV from 'file:///artist.csv' as LINE
CREATE(:Artist {name:line[1],year:toInt(line[2])})

एक शब्द में, एक बार जब आप सही रास्ते में CSV फ़ाइल डालते हैं, तो समस्या हल हो सकती है।

लोड सीएसवी डेवलपर-मैनल में संबंधित व्याख्यान

अगर dbms.directories.import डिफ़ॉल्ट मान आयात पर सेट है, तो लोड सीएसवी में उपरोक्त यूआरएल का उपयोग क्रमशः /import/myfile.csv और import / myproject / myfile.csv से होगा। अगर यह / डेटा / सीएसवी पर सेट है, तो लोड सीएसवी में उपरोक्त यूआरएल का इस्तेमाल क्रमशः /data/csv/myfile.csv और /data/csv/myproject/myfile.csv से होगा।