1

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

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

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

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

4

1 回答 1

3

您的示例需要澄清,因为您的公理似乎无效。无论如何,如果在您的示例中, 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 的OWL 限制,以检查 OWL 限制如何表示为三元组。

于 2014-09-16T10:23:34.890 回答