我尝试在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`});
感谢您的帮助。
答案 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 \ 中寻找该文件p>
即导入文件夹。因此,我们必须复制该导入文件夹中此类型语句需要导入的所有文件。