2017-07-24 102 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