java - 如何轻松地将 RDF 三元组与惯用的 Java POJO 业务对象相互转换?

标签 java rdf jena sesame linked-data

我是一名 Java 开发人员,刚刚开始使用链接数据/RDF。我可以创建三元组,将它们放在三元组存储中,查询它们等等,但这非常尴尬。我的大部分代码都集中在 RDF 的机制上,我真的很想以一种更符合 Java 习惯的方式处理这些数据。

如何使用 Jena 将 POJO 与 RDF 三元组相互转换,而无需手动编码所有内容?


我想要一些可以在 Java POJO 和 RDF 之间来回转换一堆具有定义结构的三元组的东西。就像 JAXB 或 ORM 分别对 XML 和关系数据库所做的那样。

另外,我不能太拘泥于特定的三重存储。我真的很喜欢与 Apache Jena API 一起工作的东西,因为它似乎最接近“行业标准”。项目架构师还告诉我使用它,因为他们正在调查的三重存储都支持它。


我看过的东西:

我试试 one library那种做我想做的,但它做出了一些奇怪的选择,我真的不认为它对我有用。

Elmo/Alibaba听起来很有前途,但看起来它只适用于 Sesame 三重存储,而且听起来它可能带有一个巨大的框架和/或服务器。有没有人在耶拿身上成功使用它?我还没有真正尝试过。

最佳答案

Empire这是用于 Object-Triple 映射的 JPA 1.0 的部分实现。它开箱即用地支持 Jena、Sesame 和 Stardog,并且很容易添加对其他数据库的支持。

还有 Pinto这更类似于 jackson 。它比 Empire 更轻量级,并且只是往返于 RDF 和 Java bean。它将很快成为 Empire 内部的引擎。

免责声明:我是这两本书的作者。

关于java - 如何轻松地将 RDF 三元组与惯用的 Java POJO 业务对象相互转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34098348/

相关文章:

java - 如何使用 Jena 创建特定类别的个体?

java - 如何使用 mapreduce 批量更新满足查询的数据存储实体?

java - 如何使用 PHP 或 Java 从 HTML 中提取 RDFa?

Java如何使用sparql删除查询

java - 使用 Jena 读取限制值

java - 多线程java应用程序中的奇怪行为(没有锁的死锁?)

java - 将子域重定向到工作 HTTPS-Tomcat(使用 NGINX)

java - 不能使用 char 类型的 ArrayList 作为方法的参数

java - 如何避免在java中多次加载hashmap中的模式

php - 使用 php 创建 rdf/xml 的简单方法?