1
我最近开始探索图形数据库,并且我决定使用neo4j进行更多的工作。我知道neo4j DB中的节点和边是任意的,并且可以将一个或多个属性(键值对,其中的值必须仅为基元类型)分配给节点和关系。自定义类作为neo4j中节点和关系的对象
有没有办法让我自己的类的对象作为NODES和EDGES,以便节点和边缘的proprities被封装在对象本身?
我最近开始探索图形数据库,并且我决定使用neo4j进行更多的工作。我知道neo4j DB中的节点和边是任意的,并且可以将一个或多个属性(键值对,其中的值必须仅为基元类型)分配给节点和关系。自定义类作为neo4j中节点和关系的对象
有没有办法让我自己的类的对象作为NODES和EDGES,以便节点和边缘的proprities被封装在对象本身?
你是指一种对象图映射的方式?
您可以查看Spring Data Neo4j或其他映射方法,如jo4neo或TinkerPop Frames。
从春数据的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;
}
欢迎SO!下面的答案解决了您的问题,请点击答案旁边的复选标记将其标记为已接受。 – 2012-10-09 09:50:08