Neo4j Java API启用等效于apoc.import.file.enabled = true

时间:2018-09-27 18:08:04

标签: neo4j

我正在使用Neo4j Java API通过APOC过程XML导入从外部文件创建数据库。 一切正常,除非我从 local 文件创建数据库。 我收到此错误:

Caused by: java.lang.RuntimeException: Import from files not enabled, please set apoc.import.file.enabled=true in your *neo4j.conf*

我只需要按照说明启用从文件的导入,但是由于我没有API,因此我没有neo4j.conf文件,因此我将db属性设置如下:

neo4jDB = new GraphDatabaseFactory()
            .newEmbeddedDatabaseBuilder( dbpath )
            .setConfig( GraphDatabaseSettings.pagecache_memory, "512M" )
            .setConfig( GraphDatabaseSettings.string_block_size, "60" )
            .setConfig( GraphDatabaseSettings.array_block_size, "300" )
            .setConfig( GraphDatabaseSettings.allow_file_urls, "true")
            .newGraphDatabase();

问题是我在这里找不到用于导入本地文件的副本,我现在只能使用Web URL。

是否有启用此功能的方法?

1 个答案:

答案 0 :(得分:1)

您可以简单地使用以下命令:.setConfig("apoc.import.file.enabled", "true")

更新

与您发现的一样,此功能已弃用。为了避免这种情况,您必须构建Setting并使用setConfig( Setting<?> setting, String value )

import static org.neo4j.kernel.configuration.Settings.setting;
import static org.neo4j.kernel.configuration.Settings.BOOLEAN;
import static org.neo4j.kernel.configuration.Settings.FALSE;
...
new GraphDatabaseFactory()
      .newEmbeddedDatabaseBuilder( dbpath )
      .setConfig(
        setting( "apoc.import.file.enabled", BOOLEAN, FALSE ),
        True
      )
...