在我的 JavaBeans 上实现 Apache TinkerPop

Implementing Apache TinkerPop over my JavaBeans

我是图形数据库的新手(尽管我在语义 Web 技术方面有丰富的经验),我想了解我的想法是否有意义。

我有自己的数据模型,由 Java 的 JavaBean 对象组成,该模型非常类似于图形,具有 Node 接口(和一些子类), Edge 接口(和一些子类),查询模型的方法(获取属性为 'x' 的 Node 实例,获取节点的所有边等)。

我想用其中一种查询语言(比如 Cypher 或 Gremlin)来包装这个模型,这样就可以实现更标准化的东西,这样我就可以避免实现自己的查询语言,最重要的是,我自己的查询引擎。

一个明显的方法是使用 Neo4j 或某些 TinkerPop 实现作为我的对象模型的后端(或者类似地,convert/synch 我的对象到这些框架之一的图形)。然而,因为该模型已经是图形化的,具有良好的搜索方法和高效的存储组件(to/from 简单 XML 文件),我也在想也许我可以使查询语言适应我的模型. TinkerPop 似乎旨在支持这一点。

这有意义吗? TinkerPop 是最好的(或好的)方式吗? Is/are 有 documentation/tutorials 吗?

作为 SimpleGraph 的贡献者,我有类似的需求,这促使我开始 SimpleGraph开源项目第一名

对于 Pojos 与 Tinkerpop 之间的转换,有ORM/OGM stack FERMA

SimpleGraph 的想法是 "graphenize" 其他信息源,例如Excel Tabels 或 SQL 数据库的表格结构。

由于您自己的数据结构已经是图形形式,显然与 tinkerpop 之间的映射要简单得多。在这种情况下,SimpleGraph 方法将是节点和边缘结构之间的简单反向和强制 (link),以便每个 tinkerpop 节点对应于您的节点之一,每个 tinkerpop 对应于您的边缘之一。我已经成功地使用了这种方法,例如通过在图形编辑器中同时将 XML 结构元素映射到 tinkerpop 元素和图形表示元素来获得 UML 模型的图形表示。所以我的答案是:

  • 这有意义吗?
  • TinkerPop 是最好的(或好的)方式吗?
  • Is/are 还有documentation/tutorials 那个? 我不会说是和不是这个

我没有看到针对您的用例的具体教程。如果你尝试一下,例如使用 SimpleGraph 模块,您可能会感觉到它是如何工作的。