我会推荐一个像Tinkerpop这样的 OGM 框架,或者如果你需要更高级别的东西并且更类似于 Hibernate,那么可以考虑Ferma。Ferma 位于 Tinkerpop 之上,并使用注释来定义类似于 JPA 和 Hibernate 中的实体的 Java 类。不同之处在于 Ferma 和 Tinkerpop 是专门为图形数据库构建的,而不是试图将其填充到为传统关系数据库设计的框架中。
Ferma 和 Tinkerpop 的一个很好的特性是,虽然它们是为图形数据库构建的,但它们仍然适用于关系数据库。Tinkerpop 有几个驱动程序,使其可以在市场上几乎所有主要的图形数据库和关系数据库上运行。它还可以使用 Tinkerpop 中本机存在的内存驱动程序,因此根本不需要任何数据库的支持。它是一个非常灵活的平台,在模块化和灵活的代码方面有很多好处。
这里是 Ferma 项目的描述供参考。
Ferma 项目最初是作为 TinkerPop2 Frames 项目的替代品而创建的。当时缺乏社区需要的功能,而且它的性能非常缓慢。如今,Ferma 是一个健壮的框架,其作用类似于传统数据库的对象关系模型 (ORM) 库。Ferma 通常被称为对象图模型 (OGM) 库,并将 Java 对象映射到图中的元素,例如顶点或边。简而言之,它允许使用 java 接口和类来定义模式,这些接口和类提供了与底层图交互的抽象级别。
还有 Tinkerpop 项目的描述。
Apache TinkerPop™ 是一个适用于图数据库 (OLTP) 和图分析系统 (OLAP) 的图计算框架。
注意:我是 Ferma 的作者之一。