Java 开发人员是幸运的,因为在 Jena 中他们可以利用一种良好的 RDF 框架(请参阅 参考资料)。Jena 提供了一个编写和读取 RDF 的 API,它可以以多种方式进行保存和持久化。如果您对 Jena 还不熟悉,我强烈建议您在阅读本文之前阅读 Philip McCarthy 撰写的 “Jena 简介”。
Jena 的设计目标是可以良好地处理 RDF 数据模型,正如 JDBC 适合处理关系模型一样。数据库应用程序中编写的大量代码都用来保存 Java 对象,还有一些代码用来从数据库中聚集对象。用 Java 代码编写的语义 Web 应用程序面临一个类似的问题:它们必须实现 Java 对象和 RDF 之间的相互转换。因此,开发人员必须编写大量的代码来消除自身模型(一般为 JavaBeans)和 Jena 的以 RDF 为中心的 API 之间的差异。
![]() |
|
本文展示 Jenabean 的 Java-to-RDF 绑定框架(请参阅 参考资料)如何简化上述过程并减少所需的代码量。您将审视一些 Jena 客户端代码并将其与 Jenabean 的基于 JavaBean 的编程模型对比。首先查看一个简单的例子,我将向您展示如何实现以下操作:
- 将一个 bean 保存为 RDF
- 将其属性与特定的 RDF 属性绑定
- 将其与其他对象关联
- 再次回读 bean
考虑清单 1 中的简单 RDF 示例,为方便阅读,它使用了 N-triple(N3)格式(请参阅 参考资料):
清单 1. RDF 示例(N3 格式)
|
清单 1 说明了 “Jena 简介” 这篇文章由 Philip McCarthy 撰写并且主题包括 jena、rdf、java 和语义 web。词汇表是 Dublin Core 元数据分类的一部分(请参阅 参考资料)。要使用 Jena 的原始的 Java API 复制这些 RDF 声明,您可能要执行类似清单 2 的工作:
本文转自IBM Developerworks中国