Jenabean:将 JavaBeans 轻松绑定到 RDF

Java 开发人员是幸运的,因为在 Jena 中他们可以利用一种良好的 RDF 框架(请参阅 参考资料)。Jena 提供了一个编写和读取 RDF 的 API,它可以以多种方式进行保存和持久化。如果您对 Jena 还不熟悉,我强烈建议您在阅读本文之前阅读 Philip McCarthy 撰写的 “Jena 简介”。

Jena 的设计目标是可以良好地处理 RDF 数据模型,正如 JDBC 适合处理关系模型一样。数据库应用程序中编写的大量代码都用来保存 Java 对象,还有一些代码用来从数据库中聚集对象。用 Java 代码编写的语义 Web 应用程序面临一个类似的问题:它们必须实现 Java 对象和 RDF 之间的相互转换。因此,开发人员必须编写大量的代码来消除自身模型(一般为 JavaBeans)和 Jena 的以 RDF 为中心的 API 之间的差异。

RDF 和语义 Web

要查看对语义 Web 概念的优秀介绍 — 包括统一资源标识符(Uniform Resource Identifiers,URI)、RDF 和 OWL Web Ontology Language(OWL)— 请参阅 “Web 的未来是语义的”。

本文展示 Jenabean 的 Java-to-RDF 绑定框架(请参阅 参考资料)如何简化上述过程并减少所需的代码量。您将审视一些 Jena 客户端代码并将其与 Jenabean 的基于 JavaBean 的编程模型对比。首先查看一个简单的例子,我将向您展示如何实现以下操作:

  • 将一个 bean 保存为 RDF
  • 将其属性与特定的 RDF 属性绑定
  • 将其与其他对象关联
  • 再次回读 bean

Jenabean 编程模型

考虑清单 1 中的简单 RDF 示例,为方便阅读,它使用了 N-triple(N3)格式(请参阅 参考资料):


清单 1. RDF 示例(N3 格式)
                
<http://www.ibm.com/developerworks/xml/library/j-jena/>
a dc:Article ;
dc:creator "Philip McCarthy"^^xsd:string ;
dc:subject "jena, rdf, java, semantic web"^^xsd:string ;
dc:title "Introduction to Jena"^^xsd:string .

清单 1 说明了 “Jena 简介” 这篇文章由 Philip McCarthy 撰写并且主题包括 jena、rdf、java 和语义 web。词汇表是 Dublin Core 元数据分类的一部分(请参阅 参考资料)。要使用 Jena 的原始的 Java API 复制这些 RDF 声明,您可能要执行类似清单 2 的工作:


 

本文转自IBM Developerworks中国

        请点击此处查看全文

你可能感兴趣的:(Jenabean:将 JavaBeans 轻松绑定到 RDF)