2016-04-21 47 views
1

在舊版本的SDN我們就以下界面庫春數據Neo4j的4:RelationshipOperationsRepository

org.springframework.data.neo4j.repository.RelationshipOperationsRepository; 

public interface UserRelationRepository extends GraphRepository<UserEntity>, RelationshipOperationsRepository<UserEntity> { 

MakeFriend rel = userRepository.getRelationshipBetween(startUser, endUser, MakeFriend.class, RelTypes.FRIEND.name()); 
     if (rel != null) { 
      startUser.getFirstname() + " + " + endUser.getFirstname()); 
     } 

     userRepository.createRelationshipBetween(startUser, endUser, MakeFriend.class, RelTypes.FRIEND.name()); 
     userRepository.createRelationshipBetween(endUser, startUser, MakeFriend.class, RelTypes.FRIEND.name()); 

但是,目前的版本不支持它。在SDN中實現諸如createRelationshipBetween或getRelationshipBetween之類的功能的最佳方式是哪種?

回答

4

SDN 4不支持使用API​​管理低級圖形操作。

相反,要執行的圖操作是從您的域模型類中推斷出來的,以及您對它們做了什麼。

例如,創建一個User類,如下所示:

class User { 

    List<User> friends = new ArrayList(); 
} 

如果你現在添加或刪除用戶在friends列表,並通過標準庫的方法保存在正常方式的用戶來說,這將實現什麼你需要自動 - 適當的關係將被添加/刪除。您不必告訴SDN該做什麼,因爲ORM/OGM的目的是將您從底層數據模型及其實現細節中隱藏起來,並允許您操作域模型本身。

如果您確實需要直接在圖上執行這些低級操作,請使用Cypher查詢方法。

你可以找到更多關於SDN的信息4.1 here