【问题标题】:Defined class with annotation property in Protégé在 Protégé 中定义具有注释属性的类
【发布时间】:2015-03-28 12:57:47
【问题描述】:

如何使用 OWL 本体中的注释属性创建定义的类?

目前,我已经使用对象属性 hasSubject 创建了一个已定义的类。

定义的类:

我希望通过重新使用 DC-Terms 集中的注释“主题”而不是自定义对象属性来创建此类。

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

【问题讨论】:

  • 你到底在问什么?如何在 Protege 中使用 dcterms:subject 作为注解属性?
  • 没有。如何使用注释属性创建已定义的类。
  • 哦,我认为您的意思是在类表达式中使用注释属性。不,您不能这样做,但您可以将 dcterms:subject 声明为对象或数据类型属性并以这种方式使用它。

标签: owl ontology protege protege4


【解决方案1】:

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

        isSubjectOf 一些电影

是,来自8.2.1 Existenial Quantification

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

当您使用注释属性时,您不会有 ObjectPropertyExpression

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

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

请注意 dcterms:subject 的文档说:

注意:该术语旨在与非文字值一起使用,如 在 DCMI 抽象模型中定义 (http://dublincore.org/documents/abstract-model/)。截至 12 月 2007 年,DCMI 使用委员会正在寻找表达这一意图的方法 带有正式的范围声明。

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

这是本体的最终结果:

@prefix : <http://stackoverflow.com/q/29317444/1281433/> .
@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 <http://stackoverflow.com/q/29317444/1281433/> .

<http://stackoverflow.com/q/29317444/1281433/> rdf:type owl:Ontology .


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


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

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





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


###  http://stackoverflow.com/q/29317444/1281433/FilmSubjectComposer

:FilmSubjectComposer rdf:type owl:Class ;

                     owl:equivalentClass [ rdf:type owl:Class ;
                                           owl:intersectionOf ( <http://stackoverflow.com/q/29317444/1281433/#Composer>
                                                                [ rdf:type owl:Restriction ;
                                                                  owl:onProperty [ owl:inverseOf <http://purl.org/dc/terms/subject>
                                                                                 ] ;
                                                                  owl:someValuesFrom <http://stackoverflow.com/q/29317444/1281433/#Film>
                                                                ]
                                                              )
                                         ] .



###  http://stackoverflow.com/q/29317444/1281433/#Composer

<http://stackoverflow.com/q/29317444/1281433/#Composer> rdf:type owl:Class .



###  http://stackoverflow.com/q/29317444/1281433/#Film

<http://stackoverflow.com/q/29317444/1281433/#Film> rdf:type owl:Class .




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

【讨论】:

    猜你喜欢
    • 2014-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    相关资源
    最近更新 更多