Neo4j - OGM 对象图映射

对于需要使用 Neo4j 管理其域对象的 Java 开发人员,本指南介绍了 Neo4j 对象图映射 (OGM) 库。
您应该熟悉 图数据库概念 和属性图模型。您应该已经 创建了一个 Neo4j AuraDB 云实例,或者 在本地安装了 Neo4j

Neo4j-OGM

特性

Neo4j-OGM 支持您期望的特性

  • 带注释的节点和关系实体的对象图映射

  • Neo4jSession 用于直接与 Neo4j 交互

  • 快速类元数据扫描

  • 优化的数据加载和更改跟踪管理,以最大程度地减少数据传输

  • 多种传输方式:二进制 (bolt)、HTTP 和嵌入式

  • 持久化生命周期事件

  • 查询结果投影到 DTO

最小代码片段

此代码示例取自示例项目(见下文)。

@NodeEntity
public class Movie {

   @Id @GeneratedValue
   Long id;

   @Property(name="title")
   private String name;
}

@NodeEntity
public class Actor {

   @Id @GeneratedValue
   private Long id;

   @Property(name="name")
   private String fullName;

   @Relationship(type="ACTED_IN", direction=Relationship.OUTGOING)
   private List<Role> filmography;

}

@RelationshipEntity(type="ACTED_IN")
public class Role {
    @Id @GeneratedValue
    private Long relationshipId;

    @Property
    private String title;

    @StartNode
    private Actor actor;

    @EndNode
    private Movie movie;
}

示例项目

Neo4j 示例项目是一个小型、单页网页应用程序,用于 Neo4j 教程中内置的电影数据库。前端页面对于所有驱动程序都是相同的:电影搜索、电影详情以及演员和电影的图可视化。每个后端实现都向您展示如何从不同的语言和驱动程序连接到 Neo4j。

您可以了解有关我们小型、一致的示例项目的更多信息,该项目涵盖了许多不同的语言驱动程序 此处。您会发现所有驱动程序的实现作为 独立的 GitHub 存储库,您可以克隆并直接部署。

常见问题解答