【问题标题】:Instantiated triples statements from ontology axioms来自本体公理的实例化三元组语句
【发布时间】:2014-09-12 08:43:56
【问题描述】:

让我们在本体中假设一个非常简单的公理,即所有 cheesypizza 都是带有奶酪顶部的比萨。在 OWL 表示中,cheeseypizza 将表示为对 has-topping 属性的限制的子类。但是,我想提取以下三元组数据集格式:

  1. CheesyPizza1 子类 Pizza1
  2. Pizza1 has-topping CheeseTopping1

假设 Pizza1 是 Pizza 类的动态实例化(不是本体中 Pizza 类的真实个体,而是以三元组格式编写时的随机变量),类似地,CheesyPizza1 是 CheesyPizza 类和 CheeseTopping1 的动态实例化是 CheeseTopping 类的动态实例化。

我怎样才能得到上述表示?

【问题讨论】:

  • 不太清楚你在问什么。一个类的实例是一个个体。我们没有“individualA subClassOf individualB”,所以你的第一个项目没有多大意义。 CheeseTopping 是一个类,因此(假设 Pizza1 是一个个体),说“Pizza1 hasTopping CheeseTopping”是没有意义的,因为对象属性与两个个体相关。请说明您获得了什么样的输入,以及您想要获得什么样的输出。
  • 顺便说一句,您在 3 天内仅获得 16 次观看的部分原因是您使用的标签很少使用。我建议您添加可能最合适的标签owl
  • @JoshuaTaylor :我已编辑以解决您的 cmets。
  • 我还是不明白你的意思。 OWL 没有随机变量。听起来您想要一个 CheesyPizza 的新实例 x 和一个 Pizza 的新实例 y,而您正在寻找一个三元组 x rdfs:subClassOf y,但这没有任何意义; rdfs:subClassOf 关联的是类,而不是个体(或 RandomVariables,OWL 无论如何都没有)。

标签: rdf semantic-web owl ontology description-logic


【解决方案1】:

您的示例需要澄清,因为您的公理似乎无效。无论如何,如果在您的示例中,CheesyPizza1、Pizza1 和 CheeseTopping1 是类,然后您想说 CheesyPizza1 是 Pizza1 的子类,并且 CheesyPizza1 具有 OWL 限制 hasTopping some CheeseTopping1,那么三元组应该是:

:Pizza1 rdf:type owl:Class .

:CheeseTopping1 rdf:type owl:Class .

:CheesyPizza1 rdf:type owl:Class ;
   rdfs:subClassOf :Pizza1,
        [ a owl:Restriction ;
          owl:onProperty :hasTopping ;
          owl:someValuesFrom :CheeseTopping1 
        ] .

我建议查看Guus Schreiber's OWL restrictions,以检查 OWL 限制如何表示为三元组。

【讨论】:

    猜你喜欢
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 2010-12-22
    • 2018-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多