spring data neo4j 3.0.0 - 为什么默认设置两个标签

时间:2014-03-25 00:08:28

标签: neo4j spring-data-neo4j

我需要为我的Neo4j数据库编写批量导入实用程序,但我不想丢失SDN的存储库功能。为了实现这个目标,我想插入可以使用自动生成的存储库方法查询的节点。

我将一些节点插入到我的数据库中,然后查看了它们的属性和标签,看看它们是如何设置的,我注意到SDN插入的节点有两个标签。例如,表示类SomeClass的节点具有标签:["_SomeClass", "SomeClass"]。我的问题是:为什么为每个节点设置两个几乎相同的标签?

1 个答案:

答案 0 :(得分:3)

哦,这其实很简单。我们必须注意当前节点是否为SomeClass类型,我们通过预先设置" _"来完成。由于为每个超类型添加了标签,您需要区分Spring Data Neo4j中节点的实际类型。

所以你可以拥有:_Developer,Developer,Employee,Person,用于从Person到Developer的类层次结构。然后可能会有其他接口标签。

当你现在这样做:DeveloperRepository.findAll()然后你只需要那些带有_Developer的人,而不是那些派生自Developer的人。