【问题标题】:Making ontology in Protege or by Jena API library in Eclipse(Java coding)在 Protege 中制作本体或在 Eclipse 中通过 Jena API 库制作本体(Java 编码)
【发布时间】:2013-10-13 06:29:21
【问题描述】:

是否也可以使用 Jena API 构建本体,例如通过 Eclipse 中的 Java 编码?如果是的话,在 Protege 中制作本体与在 Eclipse 中通过 Jena API 制作本体有什么区别?我真的对差异感到困惑,因为我不擅长 java 编程。 非常感谢

【问题讨论】:

    标签: jena ontology protege


    【解决方案1】:

    这取决于你真正想要做什么。您是否正在尝试从头开始构建新的本体?您是否有想要通过添加一些数据来扩展的现有本体。您是否根据已经在 J​​ava 中处理的一些数据,使用预先存在的类和属性生成大量三元组?

    Protege 提供了一个 GUI,可让您更快地创建本体。它还为您提供了创建中的本体的图形概述。即使有所有这些帮助,有时也很难了解全局。它是整体本体创作的强大工具。逐行编写 Java 代码来编写一个完整的本体对我来说似乎是一项艰巨的任务。

    编写纯 Java 代码来创建本体非常困难且效率低下。除了 RDF 本身的复杂性之外,您还需要了解 Jena API。 IMO,只有当你有一个定义明确的本体并且你真的确定你想要添加什么样的三元组时才有意义。在这种情况下,使用 Java 代码与某些数据源进行交互可以为您节省大量时间。前提是您了解 Java 本身才能有效地做到这一点。

    在您的情况下,坚持使用 Protege 似乎是最合理的选择。

    【讨论】:

    • ,我的任务是为一个域构建一个本体,然后我需要将我的本体映射到mysql数据库。在我上面,最终用户通过他的网络应用程序向我发送请求大约例如最近 3 小时 A 罐的用水量,所以根据这个请求,我应该从数据库中查询并将他想要的数据发回给他,这样他就可以获取数据并制作用水量图表。我认为我的工作应该是 Protege 和 Jena API 的结合,首先我应该通过 Protege 从头开始​​设计我的 Ontology,然后在我的 Java 代码中通过 Jena API 处理它以进行进一步的处理,对吗?
    【解决方案2】:

    答案是肯定的:完全可以通过 Jena API 和 Java 代码创建一个无本体。 Protege 与普通的旧 Java 代码之间的区别在于您需要执行的任务:如果您需要检查一个本体或手动创建一些概念,Protege 允许您在不先编写代码的情况下相当快地完成它。如果您需要在大量实体上执行一些重复性任务,或者执行 Protege 无法满足的其他任务,那么您最好编写 Java 代码。 这与类似的问题没有什么不同:使用文本编辑器还是编写 Perl 脚本来编辑文本更好?这在很大程度上取决于手头的确切任务。两者都可以。

    【讨论】:

    • 我的任务是为一个域构建一个本体,然后我需要将我的本体映射到 mysql 数据库。在使用之上,最终用户通过他的 Web 应用程序将向我发送关于例如最近 3 小时 A 罐的用水量,所以根据这个请求,我应该从数据库中查询并将他想要的数据发回给他,这样他就可以获取数据并制作用水量图表。我认为我的工作应该是 Protege 和 Jena API 的结合,首先我应该通过 Protege 从头开始​​设计我的 Ontology,然后在我的 Java 代码中通过 Jena API 处理它以进行进一步的处理,对吗?
    • 我也可以谈谈你的意见吗? @Ignazio
    • 将 SQL 数据库公开为本体并通过 SPARQL 或 Jena API 进行查询的任务可以通过诸如 D2RQ 之类的库来执行。我认为您希望如何分配工作是正确的。
    猜你喜欢
    • 2023-03-19
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    相关资源
    最近更新 更多