自定义类的对象作为neo4j中的节点和关系

时间:2012-01-29 11:52:31

标签: neo4j

我最近开始探索图形数据库,我决定使用neo4j进行更多工作。我知道neo4j DB中的节点和边是任意的,并且可以将一个或多个属性(键值对,其中值必须只是基本类型)分配给节点和关系。

有没有办法让我自己的类的对象作为NODES和EDGES,以便节点和边缘的属性被封装在对象本身中?

1 个答案:

答案 0 :(得分:3)

你的意思是一种对象图映射方式吗?

您可以查看Spring Data Neo4j或其他映射方法,例如jo4neoTinkerPop Frames

Spring Data Neo4j的一个例子

@NodeEntity class Person {
   @GraphId Long id;
   String name;

   Person spouse;
   @RelatedTo
   Set<Person> friends;

   @Query("start me = node({self}) match me-[:friends]->friends-[:friends]->foaf return foaf")
   Set<Person> friendsOfFriends;
}