【问题标题】:How to work with OWL API?如何使用 OWL API?
【发布时间】:2023-03-13 21:05:02
【问题描述】:

我有一个包含 Person 模型的 OWL 文件。这是一个非常简单的本体。 3 类:Person、House、Car 和一些对象关系。一个人lives_in 一个房子,一个人drives 一辆汽车。

其次,我做了一个询问参与者姓名、房屋类型和汽车品牌的队列。回复如下所示:

+--------------+----------+--------+
| Name         | House    | Car    |
+--------------+----------+--------+
| Eric         | Villa    | Audi   |
| John         | Bungalow | Volvo  |
| Marc         | Terraced | BMW    |
+--------------+----------+--------+

现在,问题。如何将我的 enquete 数据带入本体?我被告知要使用 OWL API (EDIT),因为我的最终目标是对本体中的实例进行集群。但我不太确定从哪里开始。您可能会怀疑,我对本体完全陌生。

【问题讨论】:

    标签: ontology owl-api


    【解决方案1】:

    OWL API 初学者教程可用here

    但是,在您选择 API 之前,了解您的要求很重要。您在问题中提到了一个查询 - 您是否决定是否需要在代码中使用查询语言,例如 SPARQL?您的本体需要 OWL 还是 OWL 2?

    OWL API 目前不支持 SPARQL,支持 OWL 2。Apache Jena 支持 SPARQL,不提供 OWL 2 支持,只有 OWL。

    【讨论】:

    • 最终目标是将人聚集在有限数量的集群中。每个集群尽可能同质。
    • 好的,所以OWL API是一个合适的选择,这里已经用于集群github.com/elenimikro/rio
    • 我已经使用 OWL API 设置了我的本体。我已经实现了自己的基本分层和分区聚类算法。现在我想测试不同的相似性度量(关系/分类相似性),所以我开始在 Java 中寻找某种机器学习库。我发现 Weka 很受欢迎。你知道吗?我相信 RIO 也可以提供帮助,但由于我还没有找到文档,所以我有点怀疑。
    • Weka 和 Mahout 实现了许多聚类算法,但是,据我所知,它们没有用于 OWL 输入的适配器;您必须自己编写代码和 Weka 之间的适配器,才能获得 Weka 所需的输入格式。
    • 我在这里稍微偏离主题,但也许还有一个问题。你会推荐什么指标来量化我的聚类质量。当我没有标签时我正在使用 Silhouette,并且在我有标签的情况下考虑 ARI(我已经生成了数据,我从这些数据中先验地知道正确的集群)。这些好的指标可以用于基于本体的聚类吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多