【问题标题】:Describing "inclusion" in ontologies using Protege使用 Protege 描述本体中的“包含”
【发布时间】:2013-05-17 13:21:36
【问题描述】:

我正在使用 Protege 4.3.0 来描述石油受损地区的修复活动。 我是本体的新手,关注Matthew Horridge's tutorial

他表达了这样一个事实,即每个 Pizza 通过专有的 hasTopping 都有一些 Toppings,通过 hasBase 等它有一个 base... 我想知道创建一个通用属性“有”并用

表达事实的缺点是什么

Pizza has some Topping

Pizza has max 1 Base

等等……

有什么考虑吗?

阿德里亚诺

【问题讨论】:

    标签: owl protege protege4


    【解决方案1】:

    创建本体的一般规则是尽可能具体。基于 Pizza 本体示例和两个主要对象属性:

    hasTopping
    hasBase
    

    如果你只定义“有”而不是两个,那就意味着你可以说:

    Pizza has max 1 PizzaBase
    Pizza has min 3 PizzaTopping
    

    想象一下你的 FrenchPizza 相当于:

    has some (TomatoTopping and ThinBase)
    

    这将导致不一致,因为 PizzaBase 和 PizzaTopping 是不相交的,并且无法区分与它们相关的属性。但是,如果您有原始的两个属性,则不会发生这种情况。

    希望这会有所帮助。

    【讨论】:

    • 但在这种情况下我不会说:FrenchPizza has max 1 ThinBaseFrenchPizza has some TomatoTopping
    • 如果这样做,问题仍然存在。关键是您需要区分本体中的最小细节,以使其明确且一致。
    • 另外,由于两者关系相同,你可以像我一样总结一下。本体中的连接可以通过多种方式实现。
    • 作为一个简单的经验法则:has 可以在某些情况下工作(就像任何其他动词一样),但本体的整个想法是尽可能多地指定关系。 has 在某些情况下可能不明确,因此最好使用hasToppinghasBase 尽可能多地指定。
    【解决方案2】:

    在许多情况下使用has 会很好。与征服科学家所说的相反,我认为没有理由尽可能具体。其实就是这样,Pizza本体就不够具体了。但是,简单地使用动词has 作为属性名称可能容易出错。但是您可以拥有比hasToppinghasBase 更通用的属性hasIngredient

    定义hasTopping 的一个优点是您可以独立于hasBase 设置其域和范围,因此:

    <p>  <hasTopping>  <t> .
    

    说明:

    <t>  a  <Topping> .
    

    同时:

    <p>  <has>  <t> .
    

    没有提及&lt;t&gt;

    无论如何,您必须意识到 Pizza 教程并不是用于良好本体建模的教程。它只是展示了 Protégé 4 的所有功能。如果我在卖比萨饼并想用 SemWeb 技术组织信息,我永远不会使用这样的本体。

    【讨论】:

    • 谢谢 Antoine,有什么好的本体教程可以推荐吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 2022-12-28
    • 1970-01-01
    • 2011-08-31
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多