【问题标题】:Is there a way to express disjunctive object property assertions in OWL?有没有办法在 OWL 中表达析取对象属性断言?
【发布时间】:2021-11-25 02:17:33
【问题描述】:

我想知道是否有一种方法可以在 OWL 中表达逻辑上复杂的对象属性断言。例如,我该如何表达“约翰喜欢橘子或玛丽喜欢橘子”?在像一阶谓词逻辑这样的语言中,可以这样翻译:

Ljo v Lmo

在OWL中有没有同样简单的方式来表达这种对象属性语句?

注意:我知道包含逻辑析取的一般公理(例如,“所有法律实体都是公司或个人”)可以使用集合并集的概念来表达。就目前而言,我对涉及特定个人/实例的断言更感兴趣,就像我上面的例子一样。

感谢您的帮助!

【问题讨论】:

    标签: rdf owl turtle-rdf


    【解决方案1】:

    严格来说,这不能在 OWL 中完全按照您的意愿完成,因为在 OWL 中,析取是在类之间定义的,而不是在个体之间定义的。事实上,选择描述逻辑这个名称是为了强调这个知识表示形式家族是用来根据概念描述来描述感兴趣的领域——即类,而不是个人。例如,请参阅this paper。因此,老实说,我不认为在没有类的情况下指定个体之间的关系是 OWL 的预期用途。

    但是,您的要求可以通过复杂的方式实现:

    1. maryjohn 定义为个体。
    2. mary_or_john定义为个体,并将其类型设置为{john} or {mary}
    3. 现在您可以声明mary_or_john likes oranges

    这里的{mary} 指的是由单个个体mary 组成的类。 {john} 类似。

    这是 OWL 的定义:

    <owl:ObjectProperty rdf:about="likes"/>
    
    <owl:NamedIndividual rdf:about="john"/>
    <owl:NamedIndividual rdf:about="mary"/>
    <owl:NamedIndividual rdf:about="oranges"/>
    
    <owl:NamedIndividual rdf:about="john_or_mary">
        <rdf:type>
            <owl:Class>
                <owl:unionOf rdf:parseType="Collection">
                    <owl:Class>
                        <owl:oneOf rdf:parseType="Collection">
                            <rdf:Description rdf:about="john"/>
                        </owl:oneOf>
                    </owl:Class>
                    <owl:Class>
                        <owl:oneOf rdf:parseType="Collection">
                            <rdf:Description rdf:about="mary"/>
                        </owl:oneOf>
                    </owl:Class>
                </owl:unionOf>
            </owl:Class>
        </rdf:type>
        <likes rdf:resource="oranges"/>
    </owl:NamedIndividual>
    

    2021 年 10 月 7 日更新 正如@AntoineZimmermann 指出的那样,您可以使用空白节点而不是引入个人john_or_mary 来做到这一点。出于某种原因,我一直关注如何在 Protege 中执行此操作,并且由于 Protege 不支持空白节点,因此您需要介绍一个人。

    【讨论】:

    • 虽然这可行,但为“Mary or John”引入一个单独的名字有点奇怪,因为mary_or_john 有效地命名了已经命名的东西。在这种情况下,使用存在主义(“玛丽或约翰中的一个喜欢橘子”),又名匿名个人,又名空白节点是有意义的。或者,将类 {mary} or {john} 定义为 likes some orange 的子类。
    • @AntoineZimmermann 公平点。我已更新我的答案以包含您的评论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多