Spring Data Neo4j Cypher 获取实体类型或 class 名称

Spring Data Neo4j Cypher get entity type or class name

在我的 SDN 4 项目中,我有以下 Cypher 查询(查询的一部分):

(entity)<-[:COMMENTED_ON]-(comg:CommentGroup)

例如,我可以使用以下 Cypher 函数 id(entity)

获得实体的 id

如何获取实体名称或class名称?

使用labels函数

match (entity)<-[:COMMENTED_ON]-(comg:CommentGroup) return id(entity), labels(entity)

对于返回的每一行,您将获得 Neo4j ID 和标签数组。

假设您的 NodeEntity class 标签至少匹配这些标签之一,然后您可以自己迭代并加载适当的 class 实例。

不过一般来说您不需要这样做。

如果(实体)是多态的,SDN/OGM 将为您合成正确的对象。它几乎在幕后做了我上面描述的事情,但它也处理接口、subclasses 等的匹配。