【问题标题】:owl protege how can I describe a class that has just some properties?owl protege 我如何描述一个只有一些属性的类?
【发布时间】:2015-04-18 15:28:41
【问题描述】:

是否有可能在 protege 中(在 owl 中)根据一个类是否具有某些属性来描述它?

例如

我有一个类Home,我想说每个具有property1property2property2 的实例都被视为该类的一个实例?

【问题讨论】:

    标签: semantic-web owl ontology protege


    【解决方案1】:

    假设你有一个类Duck,并且你想说如果某物像鸭子一样走路,像鸭子一样说话,那么它鸭子。您可以使用类公理来做到这一点:

            ((walksLike some Duck) and (talksLike some Duck)) SubClassOf Duck

    像这样的子类公理,左侧不仅仅是类名,而是一个复杂的类表达式,称为通用类公理。您可以在 Protégé 中的 Active Ontology 选项卡下输入这些:

    有关一般类公理的更多信息,您可能会发现Being complex on the left-hand-side: General Concept Inclusions 很有用。

    【讨论】:

    • 非常感谢,但我正在寻找不同的东西。首先,例如,我确实为此类命名,但在您的情况下,该类没有名称。其次,我不知道关系(属性)的价值,我也不关心价值,我只关心实例确实具有该属性,这对我来说就足够了,你能帮忙吗?
    • 如果你有你的类的名字,那么你可以反转 Joshua 描述的公理:YourClassName SubClassOf (talksLike some Duck);如果填充物的类型不重要,即你不在乎那些是鸭子,你可以使用 Thing 代替。 YourClassName SubClassOf (talksLike some Thing);
    • @MarcoDinatsoli 您想说的是以下哪一项:(i)“IF 某物具有属性 P1 和 P2 的值,THEN 它是 C 的一个实例。”;或 (ii) “IF something 是 C 的一个实例,THEN 是具有属性 P1 和 P2 的值”?
    • @JoshuaTaylor 第一个,但更准确地说,我正在尝试定义一个类,他的所有实例都具有两个属性的值(随机值),并且我知道类名。 (注意,我可以使用等价,但在作业中,我不能使用直接子类)
    • @MarcoDinatsoli 好吧,如果你只想要一个方向(“如果 A 则 B”,而不是“如果 B 则 A”),则需要一个子类关系。等价的类关系总是会给你两个方向。 “一些”限制没有指定特定的值,只是有来自特定类的一些值。例如, (Human subClassOf (hasMother some Human)) 没有指定任何人的特定母亲,而只是说每个人类都有一个人类母亲。无论如何,你可以说 (walksLike some Thing) 而不是 (walksLike some Duck),因为所有个体都是事物,或者 (walksLike min 1)。
    猜你喜欢
    • 2016-08-04
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多