2017-03-23 3 views
0

Ich habe versucht, neo4j im Backend zu verwenden. Zuerst möchte ich CSV zu Neo4j importieren. (Zunächst versucht, um zu sehen, wie viele Zeilen CSV-Datei hat) Aber mit Problem, wird der Code folgendeneo4j, nodejs, Sitzung Ablauffehler, wie man es repariert?

var neo4j = require('neo4j-driver').v1; 
var driver = neo4j.driver("bolt://localhost", neo4j.auth.basic("neo4j", "neo4j")); 

function createGraphDataBase(csvfilepath) 
{ 
    var session = driver.session(); 
    return session 
    .run('LOAD CSV FROM {csvfilepath} AS line RETURN count(*)', 
     {csvfilepath} 
) 
    .then(result => { 
    session.close(); 
    console.log(' %d lines in csv.file', result); 
    return result; 
    }) 
    .catch(error => { 
    session.close(); 
    console.log(error); 
    return error; 
    }); 
} 

die „csvfilepath“ ist der Pfad der CSV-Datei, ist es wie folgt.

'/Users/.../Documents/Project/.../test/spots.csv'; is there something wrong with giving path like this?

ich diese Funktion auf andere Modul als

Aufruf
var api = require('./neo4j.js');  
const csvFile = path.join(__dirname,csvFileName); 
api.createGraphDataBase(csvFile); 

ich Fehler wie

habe

Error: Connection was closed by server ....

Ich bin neu in diese, bitte helfen!

Antwort

1

Die URL, die Sie in einer LOAD CSV-Klausel angeben, muss eine gültige URL sein.

Wie in this guide erklärte:

Make sure to use the right URLs esp. file URLs.+ On OSX and Unix use file:///path/to/data.csv, on Windows, please use file:c:/path/to/data.csv

In Ihrem Fall csvfilepath muss das file:/// Protokoll an (da Sie scheinen auf OSX zu laufen) für eine lokale Datei. Basierend auf Ihrem Beispiel sollte der Wert etwa so aussehen:

'file:///Users/.../Documents/Project/.../test/spots.csv' 
Verwandte Themen