1

我正在尝试加载具有两个节点(Autor,Paper)和与导入工具的关系的图形,现在我有这两个文件,据我所知,它们必须是:

authors.csv: :Author(Autor) :Adscription(Autor) :PMID(Paper) Author1 血液科。31207293

Papers.csv :PMID(Paper) :PaperName(Paper) :AuthorList(Autor)
31207293 巨大的论文名称 Author1,Author2,

这些文件存储在 /var/lib/neo4j/import

考虑到这一点,我运行以下代码

sudo neo4j-admin import --database=graph.db --id-type=STRING --mode=csv --delimiter="  " --nodes :Autor:Paper="authors.csv,Papers.csv"

但我得到了

WARNING: Max 1024 open files allowed, minimum of 40000 recommended. See the Neo4j manual.
Expected '--nodes' to have at least 1 valid item, but had 0 []
usage: neo4j-admin import [--mode=csv] [--database=<name>]
                      [--additional-config=<config-file-path>]
                      [--report-file=<filename>]
                      [--nodes[:Label1:Label2]=<"file1,file2,...">]
                      [--relationships[:RELATIONSHIP_TYPE]=<"file1,file2,...">]

现在,我只是在尝试加载节点 Paper 和 Author,我可以通过以下方式在浏览器中执行此操作

USING PERIODIC COMMIT 500
LOAD CSV WITH HEADERS FROM   "file:///authors.csv" AS row
MERGE ( c:Autor{ Name:row.Autor  , Adscription: row.Adscription, PMID=row.PMID } )

但是这样做所花费的时间很长。

4

1 回答 1

0

此警告可能不会影响您,但请参阅此处了解更多信息。

如果您要导入大量数据,那么您的 Cypher 需要这么长时间的原因是MERGE. 如果您知道authors.csv包含每个作者的唯一条目,那么您不需要执行 a ,MERGE因为它永远不会与现有节点匹配。

尝试切换MERGECREATE. 它应该快得多。

于 2019-07-21T15:44:38.280 回答