2013-05-03 88 views
1

我读的教程,说,这是一个匿名OWL类:什么使得OWL类是匿名的?

<owl:Class rdf:ID="Reptile"> 
     <rdfs:subClassOf rdf:resource="#Animal”/> 
     <rdfs:subClassOf rdf:resource="#OxygenUser”/> 
</owl :Class> 

我知道匿名类是在Java中的东西。是什么让这个类在OWL中匿名?它是匿名的,因为它没有像这样的RDFS:标签语句:<rdfs:label>Reptile</rdfs:label>

回答

1

OWL匿名类是没有名称/标识符(URI)的类。通常这是一个OWL类表达式,例如eats some GrassMale and Female。您将这种表达式与命名类结合使用来创建公理。

同时使用一个名为匿名类等价类公理的例子(注释是由#符号来表示):

# Named class (got a dereferencable URI) 
Class: <http://www.example.org/Man> 

# Named Class 
Class: <http://www.example.org/Woman> 

# Named class 
Class: <http://www.example.org/Human> 

    # The named class Human is equivalent 
    # to the anonymous class (class expression) Man or Woman 
    EquivalentTo: <http://www.example.org/Man> or <http://www.example.org/Woman> 
+0

所以班级男人和女人只有在他们是公理的一部分时才是匿名的?即使在一个公理中,他们是不是有可忽略的URI(即equivalentTo语句中的URI)?你能解释一下多一点吗? – bernie2436 2013-05-03 17:57:08

+0

整个表达式“男人或女人”是一个匿名类,它是通过使用'or'构造函数与命名类'Woman'和'Man'合成而构建的。这个表达是指一组男人或女人的事情,但没有给它命名(匿名班)。您可以使用表达式来构建公理,如示例所示。在这里,“男人”和“女人”总是被命名为类,任何将这些结果组合在一个匿名类中的表达式。 – loopasam 2013-05-04 11:12:16

+0

刚刚看到你的例子,我不确定我是否清楚地看到任何匿名课程。我会说'OxygenUser'和'Animal'被命名为类,那么匿名类将是'OxygenUser和Animal',它最终给出了公理'Reptile' subClassOf'OxygenUser和Animal' – loopasam 2013-05-04 11:17:12

0

你有教程源URL?你引用的例子不包含任何匿名类,所以如果这是教程的直接引用,它会发出错误的信息。