2017-07-24 47 views
4

我將我的csv文件保存在保管箱中,我想將它們加載到Neo4j上。從Dropbox爲Neo4j加載CSV文件

的鏈接,共享用戶節點 CSV文件:https://www.dropbox.com/s/6kibjeea5e4cks1/users.csv?dl=0

這是暗號

USING PERIODIC COMMIT 100 

LOAD CSV WITH HEADERS FROM "https://www.dropbox.com/s/6kibjeea5e4cks1/users.csv?dl=0" AS line 

CREATE(u:User{userId: toInt(line.Id), username: line.UserName, fullname: line.FullName}) 

我使用的Neo4j的版本是Neo4j的企業版本3.0.9。

結果顯示,它成功創建了用戶節點,但創建了300多個沒有用戶名和全名的節點,儘管CSV文件中有9個節點,包含用戶名和全名。我錯過了什麼?

我試圖從URL共享鏈接更改爲下載鏈接但錯誤無法加載外部資源露面。

+0

我在Neo4j 3.1.5上,我可以用Dropbox鏈接重現你的錯誤。如果我將該文件放入導入文件夾並從本地文件運行LOAD CSV,則按預期工作。 –

+0

@Fabio我無法將文件放入導入文件夾,因爲Neo4j服務器在天藍色。或者,我可以在部署在azure上的Neo4j服務器上執行此操作。 – ash

回答

4

如果您從Dropbox切換到gDrive,問題似乎不成問題。我放棄了您的csv在我的驅動器帳戶,它似乎工作。

USING PERIODIC COMMIT 100 
LOAD CSV WITH HEADERS FROM "https://docs.google.com/spreadsheets/d/e/2PACX-1vRANVgt-GZf0Un8dyrf7YPITDgAIBzTwjTcqOu_G7mBhGKOEZskf6Mt2oTdInyQ-wLPE0aOzsW6lVD_/pub?gid=5399540&single=true&output=csv" AS line 
CREATE(u:User{userId: toInt(line.Id), username: line.UserName, fullname: line.FullName}) 

文件>發佈到網絡

enter image description here

  1. 挑選的標籤,你想
  2. 與已發佈的格式選擇CSV
  3. 單擊發布

而且ÿ OU將得到一個公共URL到CSV

enter image description here

+2

是的,它工作。你是否公開並獲得共享鏈接 – ash

+0

你能告訴我你是如何獲得鏈接的嗎?我試圖按照https://www.labnol.org/internet/direct-links-for-google-drive/28356/上的建議操作。但它不起作用 – ash

+1

對不起,我應該添加到答案,選擇...'文件>發佈到網絡...'然後選擇你想要的標籤,並選擇CSV,它會爲您提供一個公共鏈接 –

3

您所使用的鏈接是不是自己的文件,但Dropbox的頁面看到文件:

$ curl -i --raw https://www.dropbox.com/s/6kibjeea5e4cks1/users.csv?dl=0 
HTTP/2 302 
server: nginx 
date: Mon, 24 Jul 2017 14:46:44 GMT 
content-type: text/html; charset=utf-8 
content-length: 0 
location: https://dl.dropboxusercontent.com/content_link/Z2KG0dzjBlHuMnIXyApZvBZFICVBXnLErAeLwlrkH46xnjg5yfd59ZfboKUpCNdo/file 

你應該嘗試與文件直接鏈接:

$ curl -i --raw https://dl.dropboxusercontent.com/content_link/Z2KG0dzjBlHuMnIXyApZvBZFICVBXnLErAeLwlrkH46xnjg5yfd59ZfboKUpCNdo/file 
HTTP/2 200 
server: nginx 
date: Mon, 24 Jul 2017 14:47:46 GMT 
content-type: text/csv; charset=utf-8 
content-length: 231 
+0

我試過,但錯誤無法加載csv文件出現 – ash

3

這是因爲鏈接https://www.dropbox.com/s/6kibjeea5e4cks1/users.csv?dl=0返回一個HTML頁面,而不是一個CSV文件。

參加這個暗號查詢一下:

LOAD CSV WITH HEADERS FROM "https://www.dropbox.com/s/6kibjeea5e4cks1/users.csv?dl=0" AS line 
RETURN line LIMIT 3 

輸出:

╒══════════════════════════════════════════════════════════════════════╕ 
│"line"                │ 
╞══════════════════════════════════════════════════════════════════════╡ 
│{"<!DOCTYPE html><html lang=\"en\" xmlns:fb=\"http://ogp.me/ns/fb#\" x│ 
│ml:lang=\"en\" class=\"maestro\" xmlns=\"http://www.w3.org/1999/xhtml\│ 
│">":"<head><link href=\"https://cfl.dropboxstatic.com/static/css/accou│ 
│nt/emails-vflCV9b0W.css\" type=\"text/css\" crossorigin=\"anonymous\" │ 
│rel=\"stylesheet\" />"}            │ 
├──────────────────────────────────────────────────────────────────────┤ 
│{"<!DOCTYPE html><html lang=\"en\" xmlns:fb=\"http://ogp.me/ns/fb#\" x│ 
│ml:lang=\"en\" class=\"maestro\" xmlns=\"http://www.w3.org/1999/xhtml\│ 
│">":"<link href=\"https://cfl.dropboxstatic.com/static/css/deprecated/│ 
│components/multiaccount_login_modal-vflNhUM8J.css\" type=\"text/css\" │ 
│crossorigin=\"anonymous\" rel=\"stylesheet\" />"}      │ 
├──────────────────────────────────────────────────────────────────────┤ 
│{"<!DOCTYPE html><html lang=\"en\" xmlns:fb=\"http://ogp.me/ns/fb#\" x│ 
│ml:lang=\"en\" class=\"maestro\" xmlns=\"http://www.w3.org/1999/xhtml\│ 
│">":"<link href=\"https://cfl.dropboxstatic.com/static/css/font_paper_│ 
│atlas_grotesk-vflEbKJso.css\" type=\"text/css\" crossorigin=\"anonymou│ 
│s\" rel=\"stylesheet\" />"}           │ 
└──────────────────────────────────────────────────────────────────────┘ 

爲了解決它嘗試獲得直接下載鏈接來自收件箱(如果可能的話),或者切換到另一個存儲工具。

+0

我提到了我的問題 – ash