赞
踩
Java版本:jdk1.8.0_121
Neo4j版本:neo4j-community-3.5.22
相关依赖如下:
- <neo4j.version>3.5.22</neo4j.version>
- <neo4j.graph.version>3.5.22</neo4j.graph.version>
- <neo4j.driver.version>4.1.1</neo4j.driver.version>
-
- <!-- Neo4j依赖包 -->
- <dependency>
- <groupId>org.neo4j</groupId>
- <artifactId>neo4j</artifactId>
- <version>${neo4j.version}</version>
- </dependency>
-
- <!-- Neo4jGraph依赖包 -->
- <dependency>
- <groupId>org.neo4j</groupId>
- <artifactId>neo4j-graph-algo</artifactId>
- <version>${neo4j.graph.version}</version>
- </dependency>
-
- <!-- Neo4jDriver依赖包 -->
- <dependency>
- <groupId>org.neo4j.driver</groupId>
- <artifactId>neo4j-java-driver</artifactId>
- <version>${neo4j.driver.version}</version>
- </dependency>

相关配置如下
- @Configuration
- public class Neo4jConfiguration {
-
- @Value("${spring.data.neo4j.storedir}")
- private String neo4jStoreDir = null;
-
- @Bean("graphDatabaseService")
- public GraphDatabaseService graphDatabaseService() {
- return new GraphDatabaseFactory().newEmbeddedDatabase(new File(neo4jStoreDir));
- }
-
- }
相关示例代码如下:
- import org.neo4j.graphdb.*;
- import org.neo4j.graphdb.factory.GraphDatabaseBuilder;
- import org.neo4j.graphdb.factory.GraphDatabaseFactory;
-
- import java.io.File;
- import java.net.URL;
- import java.util.Map;
- import java.util.function.Consumer;
-
- public class GraphUtils {
-
- public static GraphDatabaseService createGraphDatabaseService(String neo4jStoreDir) throws RuntimeException {
- return new GraphDatabaseFactory().newEmbeddedDatabase(new File(neo4jStoreDir));
- }
-
- public static GraphDatabaseService createGraphDatabaseService(String neo4jStoreDir, String fileName) throws RuntimeException {
- return new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(new File(neo4jStoreDir))
- .loadPropertiesFromFile(fileName).newGraphDatabase();
- }
-
- public static GraphDatabaseService createGraphDatabaseService(String neo4jStoreDir, URL url) throws RuntimeException {
- return new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(new File(neo4jStoreDir))
- .loadPropertiesFromURL(url).newGraphDatabase();
- }
-
- /**
- * @param neo4jStoreDir
- * @param configProps
- * dbms.security.procedures.unrestricted=apoc.*
- * @return
- * @throws RuntimeException
- */
- public static GraphDatabaseService createGraphDatabaseService(String neo4jStoreDir, Map<String, String> configProps) throws RuntimeException {
- GraphDatabaseBuilder graphDatabaseBuilder = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(new File(neo4jStoreDir));
- for (Map.Entry<String, String> entry : configProps.entrySet()) {
- graphDatabaseBuilder.setConfig(entry.getKey(), entry.getValue());
- }
- return graphDatabaseBuilder.newGraphDatabase();
- }
-
- public static Node createNode(GraphDatabaseService graphDatabaseService, Object... properties) throws RuntimeException {
- return setProperties(graphDatabaseService.createNode(), properties);
- }
-
- public static Node createNode(GraphDatabaseService graphDatabaseService, Label label, Object... properties) throws RuntimeException {
- return setProperties(graphDatabaseService.createNode(label), properties);
- }
-
- public static <T extends PropertyContainer> T setProperties(T entity, Object[] properties) throws RuntimeException {
- for (int i = 0, len = properties.length; i < len; i++) {
- String key = properties[i++].toString();
- Object value = properties[i];
- entity.setProperty(key, value);
- }
- return entity;
- }
-
- public static void query(String neo4jStoreDir, String query, Consumer<Result> consumer) {
- GraphDatabaseService graphDatabaseService = createGraphDatabaseService(neo4jStoreDir);
- try (Transaction tx = graphDatabaseService.beginTx()) {
- consumer.accept(graphDatabaseService.execute(query));
- tx.success();
- }
- GraphUtils.shutdownGraphDatabaseService(graphDatabaseService);
- }
-
- public static void query(String neo4jStoreDir, String query, Map<String, Object> parameters, Consumer<Result> consumer) {
- GraphDatabaseService graphDatabaseService = createGraphDatabaseService(neo4jStoreDir);
- try (Transaction tx = graphDatabaseService.beginTx()) {
- consumer.accept(graphDatabaseService.execute(query, parameters));
- tx.success();
- }
- GraphUtils.shutdownGraphDatabaseService(graphDatabaseService)

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。