【问题标题】:Minimal example for an Inferred Class Hierarchy in OWLOWL 中推断类层次结构的最小示例
【发布时间】:2016-07-28 15:21:42
【问题描述】:

在本体编辑器 Protegé 中有一个名为类层次结构(推断)的选项卡。我正在寻找一个最小的例子来创建这样一个推断类,例如主要是:RedCar rdfs:subClassOf :Car,仅此而已?

:RedCar  a                    owl:Class ;
         owl:equivalentClass  [ a  owl:Class ; 
                                owl:intersectionOf 
                                (
                                   :Car
                                   [ a               owl:Restriction ;
                                     owl:onProperty  :hasColor ;
                                     owl:hasValue    :Red
                                   ]
                                )
                              ] .

【问题讨论】:

  • “……仅此而已?”鉴于您展示的示例数据,您还期待/希望什么?
  • 我从一位同事那里得到了一个大型本体,在推理之后,一些现有的类也出现在类层次结构的完全不同的子树中,我不明白这是怎么发生的。 (也许是因为一个长的域/范围属性链?我什至认为,不可能通过推理来创建 新的类定义,所以这可能是一个错误,但我不太确定)。我将尝试简化有问题的本体并发布一个示例以希望重现此行为...
  • 为什么你认为一个类不能出现在不同的子树中?类层次结构不一定是树。

标签: owl protege reasoning turtle-rdf


【解决方案1】:

有一些可能会产生这种行为。一个例子是由于一般类公理(见下面例子的最后一行)。

Human rdf:type owl:Class
Man rdf:type owl:Class
[rdf:type owl:Class ; owl:complementOf Man ; rdfs:subClassOf Human]

你会注意到,如果你切换到推理视图,这个本体中的东西就等同于人类。

在披萨本体中可以找到其他原因。如果您查看 VegetarianTopping 和 VegetarianTopping,您会注意到在推理视图中第一个被第二个包含,因为 VegetarianTopping 上的等价关系。希望这可以帮助。

【讨论】:

    猜你喜欢
    • 2011-05-06
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多