使用 domains/range 约束定义 owl:ObjectProperty 的子类

Defining a subclass of owl:ObjectProperty with domains/range constraint

我正在定义一个 ontology,其中包含多个共享 range/domain 限制的属性。

ns:synonym a owl:ObjectProperty ;
  rdfs:domain ontolex:LexicalEntry ;
  rdfs:range  ontolex:LexicalEntry .

ns:antoym a owl:ObjectProperty ;
  rdfs:domain ontolex:LexicalEntry ;
  rdfs:range  ontolex:LexicalEntry .

ns:meronym a owl:ObjectProperty ;
  rdfs:domain ontolex:LexicalEntry ;
  rdfs:range  ontolex:LexicalEntry .

...

我想定义一个 owl:ObjectProperty 的子 class,它将包含所有这些单独的属性。

dbnary:NymProperty a rdfs:Class ;
  rdfs:subClassOf owl:ObjectProperty;
  <<where individuals has range XXX and domain YYY>> .

ns:synonym a dbnary:NymProperty.
ns:antoym a dbnary:NymProperty.
ns:meronym a dbnary:NymProperty.
...

是否可以在 OWL 中执行此操作?我应该用什么代替 <> ?

对 ontology 的用户有什么影响(必要的推理等)?

我需要定义 属性 的 class,因为我想将这些 属性 个人用作另一个关系的范围。

Is it possible to do this in OWL ?

没有,但是有。

不,因为...

当有人问是否可以用 OWL 表达某些东西时,他们通常会问 OWL Ontology, which is formally defined in the OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax. According to this specification, it is not possible to define a subclass of owl:ObjectProperty. Most tools that are described as "OWL tools", such as OWL editors (e.g., Protégé) or OWL APIs (e.g., the OWL API) or OWL reasoners (e.g., HermiT 是否允许)正在实施此规范,它限制了 [=32] 中允许的内容=] ontology。特别是,并不是所有的 RDF 图都可以被这些工具正确或完整地处理。

是的,因为...

OWL,在其更广泛的定义中,包括多个标准,包括 OWL 2 Web Ontology Language RDF-Based Semantics that defines the notion of an OWL 2 Full ontology, which is a synonym of RDF Graph but with the intention of interpreting it according to the RDF-based semantics of OWL. The RDF-based semantics gives a meaning to any RDF graph, including those that would not be valid representations of OWL Ontologies。根据这种形式语义,可以有任何东西的子类,包括 owl:ObjectProperty,这将符合您的要求。然而,缺点是基于 RDF 的语义是一种不可判定的逻辑。因此,能够使用 OWL 完整本体进行推理的工具是不完整的。一些三元组实现了 OWL 基于 RDF 语义的部分公理化,但是一些有效的蕴含不能用这些工具推导出来。

请注意,许多现有本体不符合标准 OWL2 本体的要求。然而,它们足够简单,可以用于许多应用程序。实现 RDFS semantics of the RDF specification 的工具可以看作是 OWL 2 基于 RDF 语义的简单、不完整的实现。一些工具实现了 RDFS 的超集,可以处理更多 OWL 构造,但它们仍然不完整。

话虽如此,在 RDF 词汇表的定义中使用 owl: 词汇表通常是不明智的,因为逻辑和实际后果很难预见。所以请负责任地使用这种建模方式。