簡單util:
package com.neo4j;
import com.google.gson.Gson;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.neo4j.driver.*;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Map;
/**
* 類描述: 測試Neo4j的JavaAPI<br/>
*/
public class Neo4jTest {
private static final String uri = "bolt://****/:7687";
// private static final String uri = "bolt://****/:7687";
private static final String user = "neo4j";
private static final String password = "****";
private static Driver driver;
@BeforeClass
public static void setup() {
driver = GraphDatabase.driver(uri, AuthTokens.basic(user, password));
}
@AfterClass
public static void teardown() {
driver.close();
}
@Test
public void test1() {
try (Session session = driver.session()) {
String query = "match(x:Hr_site{site_code:'10003'}) set x.curr_position='511947'";
Result result = session.run(query);
while (result.hasNext()) {
Record record = result.next();
Map<String, Object> stringObjectMap = record.asMap();
Gson gson = new Gson();
String json = gson.toJson(stringObjectMap);
System.out.println("recordMap: " + stringObjectMap);
System.out.println("json: " + json);
}
}
}
@Test
public void addNode() {
try (Session session = driver.session()) {
String file = "/Users/yangbingyu/Desktop/untitled.sql";
try{
BufferedReader br = new BufferedReader(new FileReader(file));//構造一個BufferedReader類來讀取文件
String s = null;
while((s = br.readLine())!=null){//使用readLine方法,一次讀一行
session.run(s);
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
System.out.println("Over!!!");
}
}
}
複雜util,可以批量執行語句
package com.neo4j;
import com.google.gson.Gson;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.neo4j.driver.*;
import java.io.*;
import java.util.List;
import java.util.Map;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
/**
* 類描述: Neo4j的JavaAPI
* 批量執行
* @auth
*/
public class Neo4jBatchExe {
//private static final String uri = "bolt://****/:7687";
private static final String uri = "bolt://****/:7687";
private static final String user = "neo4j";
private static final String password = "****";
private static Driver driver;
@BeforeClass
public static void setup() {
driver = GraphDatabase.driver(uri, AuthTokens.basic(user, password));
}
@AfterClass
public static void teardown() {
driver.close();
}
/**
* 批量執行(本地文件讀取執行語句)
*/
@Test
public void test1() {
//獲取本地match cql集合文件
List<String> list = QueryCql();
//循環執行
for (int i=0;i<list.size();i++) {
System.out.println("執行到->"+i);
try (Session session = driver.session()) {
String query = list.get(i);
Result result = session.run(query);
while (result.hasNext()) {
Record record = result.next();
Map<String, Object> stringObjectMap = record.asMap();
Gson gson = new Gson();
String json = gson.toJson(stringObjectMap);
// System.out.println("recordMap: " + stringObjectMap);
// System.out.println("json: " + json);
}
}
}
}
//讀取文本文件轉換爲List
public static List<String> QueryCql() {
//新建一個字符緩衝輸入流對象,將基本字符輸入流作爲其參數
BufferedReader br = null;
List<String> list = new ArrayList<String>();
try {
br = new BufferedReader(new FileReader("C:\\Users\\Administrator\\Desktop\\neo4j知識圖譜\\part-00000"));
String str;
//將br輸入流對象賦值給字符串變量,判斷其是否爲空
while ((str = br.readLine()) != null) {
//若不爲空,將字符串添加至集合
list.add(str);
}
//輸出集合
System.out.println(list);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
//不爲空關閉讀取
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return list;
}
@Test
public void addNode() {
try (Session session = driver.session()) {
String file = "/Users/untitled.sql";
try {
BufferedReader br = new BufferedReader(new FileReader(file));//構造一個BufferedReader類來讀取文件
String s = null;
while ((s = br.readLine()) != null) {//使用readLine方法,一次讀一行
session.run(s);
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Over!!!");
}
}
}
pom:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>****</artifactId>
<groupId>com.***.**</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<groupId>com.***.**</groupId>
<artifactId>**-**-service</artifactId>
<version>1.0.0</version>
<dependencies>
<!--pf-kg jar 包-->
<dependency>
<groupId>com.****</groupId>
<artifactId>****</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>****</groupId>
<artifactId>****</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.neo4j.driver</groupId>
<artifactId>neo4j-java-driver</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.20.0-GA</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-long3.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.56</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- log -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.22</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.huaban/jieba-analysis -->
<dependency>
<groupId>com.huaban</groupId>
<artifactId>jieba-analysis</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>me.midday</groupId>
<artifactId>JFoolNLTK</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<version>0.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
</dependencies>
<build>
<finalName>pf-kg-beta</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.****.csite.PfSiteServiceApplication</mainClass>
<!--fork : 如果沒有該項配置,這個devtools不會起作用,即應用不會restart -->
<fork>true</fork>
<!-- spring-boot:run 中文亂碼解決 -->
<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>config/${package.environment}</directory>
</resource>
</resources>
</build>
</project>