Neo4J加载CSV - > URI不是分层的

时间:2015-11-02 15:23:26

标签: neo4j

我尝试在Neo4j数据库中导入CSV,但我遇到了问题。

在我的桌面计算机(Windows 7,java 1.8.0_40-b25)上,LOAD CSV效果很好。 但是在服务器上(Windows 2012 R2,java 1.8.0_65-b17),我有这个错误消息" URI不是分层的"。

我尝试将数据放在C:,F:......没有变化。

以下是代码:

USING PERIODIC COMMIT 100
LOAD CSV WITH HEADERS FROM 
"file:F:/Neo4JData/Destination.csv"
AS line
MERGE (d:Destination {`Code`: line.`Code`});

感谢您的帮助。

10 个答案:

答案 0 :(得分:9)

您使用的是2.3.0社区版吗?

尝试:

  

使用PERICODIC COMMIT 10000 LOAD CSV FROM   “文件:/// F:\\ Neo4JData \\ Destination.csv

答案 1 :(得分:7)

在数据库的默认路径中创建一个导入文件夹,并将文件放在那里帮助我。

例如:C:\ Users \ XXXXY \ Documents \ Neo4j \ default.graphdb \ import并将csv放在那里。在查询中使用 使用周期性委托 从标题加载CSV" file:///customers.csv" AS行 CREATE(:Customer {companyName:row.CompanyName,customerID:row.CustomerID,fax:row.Fax,phone:row.Phone});

答案 2 :(得分:4)

我遇到了同样的问题。我通过将///代替F:/F:///来解决此问题。

所以,如果您的来源是

F:/FolderOne/FolderTwo/file.csv

变成

///FolderOne/FolderTwo/file.csv

请记住,为了添加文件,您必须将file:放在源前。 最后

file:///FolderOne/FolderTwo/file.csv

答案 3 :(得分:2)

如上所述,一旦尝试

USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///E:/AdventureWorks/adventureworks-neo4j/data/products.csv" as row
CREATE (:Product {productName: row.ProductName, productNumber: row.ProductNumber, productId: row.ProductID, modelName: row.ProductModelName, standardCost: row.StandardCost, listPrice: row.ListPrice});

“URI不分层”错误消失。然后很可能你会得到一个错误,说它无法加载资源,如

TransientError.Statement.ExternalResourceFailure

为了解决这个问题,你应该找到neo4j.conf文件。

由于我使用的是windows 10机器和neo4j的社区版,我可以在下面的路径中找到相同的内容。

C:\Users\{username}\AppData\Roaming\Neo4j Community Edition

编辑conf文件并注释掉

dbms.directories.import=import

执行上述步骤可以加载csv文件。

答案 4 :(得分:1)

文件路径似乎有误,您可以尝试使用:

"file:F:///Neo4JData/Destination.csv"

答案 5 :(得分:1)

尝试:

file:///F:/Neo4JData/Destination.csv

答案 6 :(得分:0)

将.csv放入$ NEO4JHOME / default.graphdb / import目录中。您可能必须创建该文件夹,或者可能在conf中取消注释dbms.directories.import = import行可能会这样做。我不知道,做得很难:)

但是,我发现我仍然必须包含驱动器说明符,即file:/// c:\ csv2import.csv,即使它不在根目录中但在导入导演中

答案 7 :(得分:0)

使用路径' file:/// F:/Neo4JData/Destination.csv'并将Destination.csv文件添加到neo4jDB \ import目录。如果没有导入目录,则创建一个名为import的新目录并添加该文件。

答案 8 :(得分:0)

default.graphdb下创建文件夹导入,并将csv文件放在那里。稍后,您可以在LOAD CSV查询中使用file:///fileName.csv

答案 9 :(得分:0)

我也遇到了这个问题所以我所做的就是将.csv文件所在的文件夹复制到以下位置:

C:\ Users \ Username \ AppData \ Roaming \ Neo4j Desktop \ Application \ neo4jDatabases \ database-27badd10-8989-482d-871b-cad746091f07 \ installation-3.3.3 \ import \

似乎安装neo4j时我们尝试通过提供" file:/// c://........"从文件导入数据;然后neo4j开始在位置C:\ Users \ Username \ AppData \ Roaming \ Neo4j Desktop \ Application \ neo4jDatabases \ database-27badd10-8989-482d-871b-cad746091f07 \ installation-3.3.3 \ import \

即导入文件夹。因此,我们必须复制该导入文件夹中此类型语句需要导入的所有文件。