在我的JavaBeans上实现Apache TinkerPop
我不熟悉图形数据库(尽管我对语义Web技术有着丰富的经验),我想了解我的想法是否有意义 我有自己的数据模型,由Java的JavaBean对象组成,该模型非常类似于一个图,有一个节点接口(和一些子类)、一个边缘接口(和一些子类)、查询模型的方法(获取属性为'x'的节点实例、获取节点的所有边缘等) 我想用其中的一种查询语言(比如Cypher或Gremlin)来包装这个模型,这样就有了更标准化的东西,这样我就可以避免实现我自己的查询语言,最重要的是,我自己的查询引擎 一个明显的方法是使用Neo4j或一些TinkerPop实现作为我的对象模型的后端(或者类似地,将我的对象转换/同步到这些框架之一的图形)。然而,由于该模型已经是类似于图形的,具有良好的搜索方法和高效的存储组件(从简单的XML文件到/从简单的XML文件),我也在想,也许我可以将查询语言适应于我的模型。TinkerPop似乎就是为了支持这一点而设计的在我的JavaBeans上实现Apache TinkerPop,java,neo4j,cypher,gremlin,tinkerpop3,Java,Neo4j,Cypher,Gremlin,Tinkerpop3,我不熟悉图形数据库(尽管我对语义Web技术有着丰富的经验),我想了解我的想法是否有意义 我有自己的数据模型,由Java的JavaBean对象组成,该模型非常类似于一个图,有一个节点接口(和一些子类)、一个边缘接口(和一些子类)、查询模型的方法(获取属性为'x'的节点实例、获取节点的所有边缘等) 我想用其中的一种查询语言(比如Cypher或Gremlin)来包装这个模型,这样就有了更标准化的东西,这样我就可以避免实现我自己的查询语言,最重要的是,我自己的查询引擎 一个明显的方法是使用Neo4j或一
这有意义吗?小叮当是最好的(或好的)方式吗?是否有相关的文档/教程?作为SimpleGraph的编撰者,我有类似的需求,促使我开始了 首先是开源项目 对于Pojo与Tinkerpop之间的转换,有 SimpleGraph的思想是将其他信息源“图形化”,例如Excel表格或SQL数据库的表格结构 由于您自己的数据结构已经是图形形式,显然与tinkerpop的映射要简单得多。在本例中,SimpleGraph方法是在的节点和边结构之间建立一个简单的反向力(链接),以便每个tinkerpop节点对应于您的一个节点,tinkerpop每个对应于您的一条边。我已经成功地使用了这种方法,例如,通过同时将XML结构元素映射到tinkerpop元素和图形编辑器中的图形表示元素,来实现UML模型的图形表示。因此,我的答案是:
- 这有意义吗是
- 小叮当是最好的(或好的)方式吗是
- 是否有相关的文档/教程我对这件事既不同意也不反对
我还没有看到针对您的用例的特定教程。如果您尝试一下,例如使用SimpleGraph模块,您可能会感觉到事情是如何工作的 您是否可以选择使用Spring框架?如果是这样,你可以考虑。不过,对于您的用例来说,它可能太重了。谢谢@GaborSzarnyas,这似乎是一个有趣的选择,尽管这不是我想要的(可以使用neo4j作为后端,使用Java中的数据模型定义,我想使用我自己的对象/组件作为Cypher或其他查询语言的后端)。非常感谢,@Wolfang Fahl。SimpleGraph看起来很棒,我试试看。