neo4j簡單操作

Neo4j是一個嵌入式,基於磁盤的,支持完整事務的Java持久化引擎,它在圖像中而不是表中存儲數據。
我已在電腦上安裝並啓動了neo4j,簡單連接測試下



/**
* 關係枚舉
* @author zhangk
*
*/
public enum FirstRelationshipTypes implements RelationshipType {
FIRST
}


/**
* 獲得數據庫管理類
* @param graphPath
* @return
*/
public static GraphDatabaseService getDbService(String graphPath) {
return new EmbeddedGraphDatabase(graphPath);
}

public static void createData(String graphPath) {
GraphDatabaseService db = getDbService(graphPath);
registerShutdownHook(db);
Transaction tx = db.beginTx();
try {
Node firstNode = db.createNode();
Node secondNode = db.createNode();
firstNode.setProperty("name", "zhang");
secondNode.setProperty("name", "kai");
// 連接2個節點
firstNode.createRelationshipTo(secondNode, FirstRelationshipTypes.FIRST);
String zhangkai = firstNode.getProperty("name") + " " + secondNode.getProperty("name");
System.out.println(zhangkai);
//Relationship relationship = firstNode.getSingleRelationship(FirstRelationshipTypes.FIRST, Direction.OUTGOING);
Iterable<Relationship> rls = firstNode.getRelationships();
for (Relationship relationship : rls) {
System.out.println(relationship.getId());
System.out.println(relationship.getEndNode().getProperty("name"));
System.out.println(relationship.getStartNode().getProperty("name"));
relationship.delete();
}

// firstNode.delete();
// secondNode.delete();
tx.success();
} catch(Exception e) {
tx.finish();
}
System.out.println("Shutting down database ...");
db.shutdown();
}


/**
* 實時監測服務狀態
* Registers a shutdown hook for the Neo4j instance so that it
* shuts down nicely when the VM exits (even if you "Ctrl-C" the
* running example before it's completed)
* @param graphDb
*/
private static void registerShutdownHook(final GraphDatabaseService graphDb) {

Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
graphDb.shutdown();
}
});
}


private static final String GPATH = "graph.db"; // 數據庫地址

public static void main(String[] args) {
createData(GPATH);
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章