混合RDF和ORM方法

时间:2008-10-23 20:19:42

标签: hibernate oop database-design rdf system-integration

我正在研究一个研究绿色领域系统集成项目的技术堆栈的团队。我们偏爱的技术堆栈的一部分使用Hibernate来持久化其内部状态并将钩子暴露给Hibernate事务,以便业务实体与该实用程序的状态保持同步。很好,除了我们需要维护有关未知类型实体的信息并将该数据链接到预定义类型。我们需要一个可扩展的数据存储,不需要预先定义架构。最佳点是混合RDF数据和Hibernate管理实体。

您是否遇到过类似的要求?您可以推荐哪些方法? 任何RDF / ORM混合都需要支持不经常的大规模查询以进行报告和数据探索,并且还需要频繁的集中读写操作来支持事务。

4 个答案:

答案 0 :(得分:1)

我在我的项目中使用RDF,我们所做的是使用OWL来定义RDF数据的本体并为其提供一些结构。从那里我们从OWL本体生成C#类。关于这一点的好处是,您仍然可以添加有关您的主题的其他数据,但仍然具有在大多数情况下有意义的类结构。

答案 1 :(得分:0)

一种解决方案是将对象模型保持在RDF三元组级别,例如通过使用

  • 节点:uris,blanks和literals
  • 语句:三个或更多节点的集合(三个用于RDF三元组,另外一个节点用于元)

在这样的存储上运行查询本质上是对语句进行三元组/ n元组模式匹配。

答案 2 :(得分:0)

您是否考虑为已知数据定义hibernate模型并使用XML添加CLOB来存储未知内容?通过这种方式,您可以保留正常的hibernate代码,只有当您需要访问其他内容时,才能从CLOB字段加载XML并对其进行处理。

使用类似的解决方案查看here类似的问题。

答案 3 :(得分:0)

Tripresso wiki page上有一个Object-RDF映射器列表,它允许您以面向对象的方式处理RDF数据。我怀疑它们中的任何一个都直接与Hibernate集成,但它们至少提供了类似的东西。