Neo4j Hello World demo

来源:互联网 发布:可视化图表制作软件 编辑:程序博客网 时间:2024/06/04 00:25
参考No4j中文使用手册以及例子.doc完成了Hello World的小demo
想要了解Neo4j的朋友,建议去Neo4j官网学习,No4j中文使用手册以及例子已经过时了,有些部分已经改变,不建议继续拿来参考
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import java.io.File;
 
import org.neo4j.graphdb.Direction;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Node;
import org.neo4j.graphdb.Relationship;
import org.neo4j.graphdb.RelationshipType;
import org.neo4j.graphdb.Transaction;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
/**
 * 创建、删除节点
 * @author Administrator
 *
 */
public class demo {
    public static void main(String[] args) {
        GraphDatabaseService graphDb;
        Node firstNode;
        Node secondNode;
        Relationship relationship;
        graphDb=new GraphDatabaseFactory().newEmbeddedDatabase(new File("E:\\neo4j\\neo4j1.db"));//数据库所在的本地目录页路径
     registerShutdownHook(graphDb);
        try (
                Transaction tx=graphDb.beginTx();
            ){
            //创建Nodes
            firstNode=graphDb.createNode();
            firstNode.setProperty("message""hello,");
            secondNode=graphDb.createNode();
            secondNode.setProperty("message""world!");
            //创建关系
            relationship=firstNode.createRelationshipTo(secondNode, RelTypes.KNOWS);
            relationship.setProperty("message""brave Neo4j");
             
            System.out.println(firstNode.getProperty("message"));
            System.out.println(relationship.getProperty("message"));
            System.out.println(secondNode.getProperty("message"));
            //删除关系 节点
//          firstNode.getSingleRelationship(RelTypes.KNOWS, Direction.OUTGOING);//类型和方向   首先要删除关系 ,删除有关系的节点时会失败
//          firstNode.delete();
//          secondNode.delete();
            //删除关系
            tx.success();
             
             
        catch (Exception e) {
             
        }  
    }
     
    /**
     * 确保neo4j正确关闭
     * @param graphDb
     */
    public static void registerShutdownHook(final GraphDatabaseService graphDb) {
        Runtime.getRuntime().addShutdownHook(new Thread() {
            @Override
            public void run() {
                graphDb.shutdown();
            }
        });
    }
 
    /**
     * 枚举关系类型
     * @author Administrator
     *
     */
    private static enum RelTypes implements RelationshipType{
        KNOWS
    }
}
   
运行结果:

注意部分:
代码中的E:\\neo4j\\neo4j1.dbNeo4j数据库所在的本地路径


在运行程序时,Neo4j的数据库必须要处于关闭状态,否则运行代码就会报错: