是否可以像使用H2内存数据库模拟Oracle数据库一样连接到嵌入式Neo4j数据库?
我试图这样做:
TypeTable[] = {
{ "NULL", NILSXP }, /* real types */
{ "symbol", SYMSXP },
{ "pairlist", LISTSXP },
{ "closure", CLOSXP },
{ "environment", ENVSXP },
{ "promise", PROMSXP },
{ "language", LANGSXP },
{ "special", SPECIALSXP },
{ "builtin", BUILTINSXP },
{ "char", CHARSXP },
{ "logical", LGLSXP },
{ "integer", INTSXP },
{ "double", REALSXP }, /*- "real", for R <= 0.61.x */
{ "complex", CPLXSXP },
{ "character", STRSXP },
{ "...", DOTSXP },
{ "any", ANYSXP },
{ "expression", EXPRSXP },
{ "list", VECSXP },
{ "externalptr", EXTPTRSXP },
{ "bytecode", BCODESXP },
{ "weakref", WEAKREFSXP },
{ "raw", RAWSXP },
{ "S4", S4SXP },
/* aliases : */
{ "numeric", REALSXP },
{ "name", SYMSXP },
{ (char *)NULL, -1 }
};
然后使用具有以下spring.datasource配置的JDBC Bolt驱动程序发出请求:
final BoltConnector boltConnector = new BoltConnector("bolt");
graphDb = new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder(DB_PATH)
.setConfig(boltConnector.type, BOLT.name())
.setConfig(boltConnector.enabled, TRUE)
.setConfig(boltConnector.listen_address, listenAddress("127.0.0.1", 7688))
.setConfig(boltConnector.encryption_level, DISABLED.name())
.setConfig(GraphDatabaseSettings.auth_enabled, FALSE)
.newGraphDatabase();
但是我总是收到以下错误:
spring:
profiles: test
datasource:
driver-class-name: org.neo4j.jdbc.bolt.BoltDriver
url: jdbc:neo4j:bolt://127.0.0.1:7688/?nossl
当然,当我使用Unable to connect to 127.0.0.1:7688, ensure the database is running and that there is a working network connection to it.
实例并对它执行请求时,嵌入式数据库就可以工作。但是我希望我的应用程序像连接到远程Neo4j数据库一样,连接到嵌入式数据库。
这是出于测试目的。
答案 0 :(得分:0)
我终于RTFM ...
我的pom.xml
中具有以下依赖项:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>3.4.0</version>
</dependency>
然后我发现了这个:https://neo4j.com/docs/java-reference/current/tutorials-java-embedded/#tutorials-java-embedded-bolt 该文档有些过时,因为它使用了已弃用的配置。但他们对此进行了解释:
Neo4j浏览器和官方Neo4j驱动程序使用Bolt数据库 与Neo4j通信的协议。默认情况下,Neo4j Embedded执行 不暴露Bolt连接器,但是您可以启用一个。这样做允许 您可以将服务Neo4j Browser连接到嵌入式实例。
他们明确指出要使用的正确依赖项是:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-bolt</artifactId>
<version>3.4.0</version>
</dependency>