【问题标题】:Creating Java Classes from Ontology从本体创建 Java 类
【发布时间】:2011-03-25 07:31:07
【问题描述】:

我有一个本体文件(在 RDF 中),它表达了我正在编写的应用程序中的实体。我正在使用 Jena,可以通过直接操作三元组来访问概念并创建/访问资源。

为了让事情变得更简单,我创建了一组 Java 类,为我的本体中的每种类型的资源一个,牢记它们的继承和属性。例如

public class Agent{
}

public class Person extends Agent{
  private String name;
}

如果本体包含AgentPerson两种资源,后者是前者的子类。

我意识到创建这些类的过程(以及提取它们的方法)非常单调。如果我在数据库上编写应用程序,我会使用 Hibernate 的配置文件并让它处理细节。

我的问题是: 是否有可用的工具将本体(在 RDF 文件中)作为输入,并创建一组表示本体中的概念的 Java 文件,如上面的例子? (或者如果耶拿本身可以做到这一点,我错过了一些东西)

谢谢。

【问题讨论】:

  • 我认为它们必须是接口,因为实例可以具有 FlyingThing、Animal、Black 等类型。问题是它无法处理继承的属性值。

标签: java code-generation rdf jena


【解决方案1】:

你检查过JRDF吗?还有其他可用的代码生成工具。检查here

【讨论】:

  • 谢谢。来自 JRDF 页面“未来的功能可能包括:一个 RDF 到 Java 对象 API(类似于 Hibernate 或 Sesame 的 Elmo)”,所以我认为这还不被支持。将从其他页面查看 RDFReactor、Kazuki 和 Owl2Java。
【解决方案2】:

Protege 支持 RDF 导入和 java 导出。我过去曾用它来将本体数据输入到 Java 程序中,并且它工作得很好。

【讨论】:

【解决方案3】:

在浏览上面提供的链接时,我偶然发现了Trispresso Project,它很好地总结了相关工具及其功能,包括多重继承和代码生成。认为这会很好地回答我自己的问题。

【讨论】:

    【解决方案4】:

    有诸如BoumlAndromda 之类的工具,您可以使用它们从XMI UML 序列化生成Java。

    此外,已完成将 UML 与 RDF 集成的工作:http://infolab.stanford.edu/~melnik/rdf/uml/

    所以我想您可以找到一种方法将您的 RDF 转换为 XMI,然后从 XMI 生成 Java,前提是您首先将您的初始 RDF 模式映射到 RDF/UML。

    我也刚刚找到这篇论文:Automatic Mapping of OWL Ontologies into Java,我没有阅读,所以无法发表评论。

    【讨论】:

      猜你喜欢
      • 2018-06-04
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多