在 Protégé 中定义了 class,注释 属性

Defined class with annotation property in Protégé

如何在 OWL ontology 中使用注释 属性 创建定义的 class?

目前,我已经使用一个对象 属性 hasSubject.

创建了一个已定义的 class

定义class:

我更愿意通过重新使用 DC-Terms 集中的注释 'Subject' 而不是自定义对象 属性.

来创建此 class

是否可以创建带有注释 属性 的已定义 class? 我将如何在 Protégé 中做到这一点?

您不能在 OWL class 限制中使用注释属性。您可以使用对象属性和数据类型属性,但不能使用注释属性。特别是存在性限制的抽象语法,如

isSubjectOf 一些 电影

是,来自8.2.1 Existenial Quantification

ObjectSomeValuesFrom := 'ObjectSomeValuesFrom' '(' ObjectPropertyExpression ClassExpression ')'

当您使用注释 属性.

时,您将不会有 ObjectPropertyExpression

然而,您可以做的是在您的[=65]中将dcterms:subject声明为一个对象属性 =],然后就可以使用了。根据 the documentation on dcterms:subject,IRI 是 http://purl.org/dc/terms/subject。你会像任何其他对象一样在 Protege 中声明它 属性:

然后你可以在class表达式中使用它:

请注意 dcterms:subject 的文档说:

Note: This term is intended to be used with non-literal values as defined in the DCMI Abstract Model (http://dublincore.org/documents/abstract-model/). As of December 2007, the DCMI Usage Board is seeking a way to express this intention with a formal range declaration.

这意味着您实际上是在说一些更严格的内容。通过将 dcterms:subject 声明为对象 属性,您将能够推断出每当 "X dcterms:subject Y" 时,X 和 Y 都是 [=62= 的实例],以及关于 属性 的域和范围的任何其他内容。由于其他人可能不会将 dcterms:subject 用作对象 属性,因此他们可能不会期望这些推论。

ontology 结果如下:

@prefix : < .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base < .

< rdf:type owl:Ontology .


#################################################################
#
#    Object Properties
#
#################################################################


###  http://purl.org/dc/terms/subject

<http://purl.org/dc/terms/subject> rdf:type owl:ObjectProperty .





#################################################################
#
#    Classes
#
#################################################################


###  

:FilmSubjectComposer rdf:type owl:Class ;

                     owl:equivalentClass [ rdf:type owl:Class ;
                                           owl:intersectionOf ( <
                                                                [ rdf:type owl:Restriction ;
                                                                  owl:onProperty [ owl:inverseOf <http://purl.org/dc/terms/subject>
                                                                                 ] ;
                                                                  owl:someValuesFrom <
                                                                ]
                                                              )
                                         ] .



###  

< rdf:type owl:Class .



###  

< rdf:type owl:Class .




###  Generated by the OWL API (version 3.5.0) http://owlapi.sourceforge.net