操作系统:windows 7
开发环境:IntelliJ IDEA 2016.1
JAVA:1.8
1 打开 IDEA,新建一个Maven的空工程
2 找到pom.xml加入所需的neo4j的maven库依赖,maven在编译时会自动去下载相关文件
<dependencies>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>3.4.0</version>
</dependency>
</dependencies>
3 在左边的工程目录下,展示src->main->java右键新建一个Java Class,类名EmbeddedNeo4j,复制如下代码
import java.io.File;
import java.io.IOException;
import org.neo4j.graphdb.*;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
import org.neo4j.io.fs.FileUtils;
public class EmbeddedNeo4j
{
private static final File databaseDirectory = new File( "target/graph.db" );
GraphDatabaseService graphDb;
///申明结点标签
private static enum Labels implements Label
{
PEOPLE
}
///申明关系类型
private static enum RelTypes implements RelationshipType
{
KNOWS
}
public static void main( final String[] args ) throws IOException
{
EmbeddedNeo4j hello = new EmbeddedNeo4j();
hello.createDb();
hello.shutDown();
}
void createDb() throws IOException
{
FileUtils.deleteRecursively( databaseDirectory );
graphDb = new GraphDatabaseFactory().newEmbeddedDatabase( databaseDirectory );
registerShutdownHook( graphDb );
try ( Transaction tx = graphDb.beginTx() )
{
///创建结点
Node n1 = graphDb.createNode();
n1.setProperty("n", "张三");
n1.addLabel(Labels.PEOPLE);
Node n2 = graphDb.createNode();
n2.setProperty("n", "李四");
n2.addLabel(Labels.PEOPLE);
Node n3 = graphDb.createNode();
n3.setProperty("n", "王五");
n3.addLabel(Labels.PEOPLE);
Node n4 = graphDb.createNode();
n4.setProperty("n", "赵六");
n4.addLabel(Labels.PEOPLE);
///创建关系
n1.createRelationshipTo(n2, RelTypes.KNOWS);
n2.createRelationshipTo(n3, RelTypes.KNOWS);
n3.createRelationshipTo(n4, RelTypes.KNOWS);
n4.createRelationshipTo(n1, RelTypes.KNOWS);
tx.success();
}
}
void shutDown()
{
System.out.println();
System.out.println( "Shutting down database ..." );
graphDb.shutdown();
}
private static void registerShutdownHook( final GraphDatabaseService graphDb )
{
Runtime.getRuntime().addShutdownHook( new Thread()
{
@Override
public void run()
{
graphDb.shutdown();
}
} );
}
}
4 右键Run
编译运行后会生成target/graph.db这个文件夹
我在编译的时候出现了“Error:java: Compilation failed: internal java compiler error”这个错误,原因是:
Project Structure->Project language Level和
setting->Building,Execution,Deployment->Compiler->Java Compiler->Pre-module bytecode version下的target bytecode version不一致,将后者改为1.8就可以了
5 查看成果:
找到一个neo4j的安装目录,打开data\databases,将原来的graph.db删除再将生成的graph.db复制进去,启动neo4j可以看到刚才在代码中创建的结点及关系,如图: