OWL DL:我可以拥有一个 class 和一个具有相同 IRI 的个人吗?
OWL DL: Can I have a class and an individual with the same IRI?
我有一个 ontology,其中 classes 可能与 UUID 相关联,但我想在大部分工作中使用人类可读的名称。我想要
Declaration( Class( a:C ) )
Declaration( NamedIndividual( a:C ) )
Declaration( NamedIndividual( urn::uuid:00112233-4455-6677-8899-aabbccddeeff ) )
Declaration( NamedIndividual( a:someObject) )
ClassAssertion( a:C a:someObject )
SameIndividual( a:C urn::uuid:00112233-4455-6677-8899-aabbccddeeff )
目的是有一个专门的处理步骤,将 UUID 转换为 class,然后从那里对 OWL DL ontology 进行推理。对我来说,使用 SameIndividual
结构是有意义的,因为我认为 UUID 只是 class.
的另一个名称
我正在做的显然是元建模,因为我将一个实体同时视为 class 和一个个体,但我不希望实际进行任何利用元建模的推理造型。我无法从规范中判断这是否是一个有效的 OWL DL 文档,其中有一个名为 a:C
的 class 和一个名为 a:C
的个体,它们被完全独立地对待,或者如果我只是被禁止拥有一个 class 和一个同名的人。
我知道我可以使用 EquivalentClasses
,但出于用户体验的原因我想避免使用它。我有一种感觉,我们将在 OWL 长 运行 的完整文档上进行操作,这个问题变得没有实际意义,但我想能够说我们正在生成有效的 OWL DL 本体,直到我们必须跳转。
是的,在OWL 2 DL中允许有一个class和一个同名的人。 document for OWL 2 New Features call this "punning”。这样的结果是有两个独立的术语,所以对一个的推理不会影响对另一个的推理。例如,下面是一致的(我用Turtle语法写的,我' m 比较熟悉):
ont: a owl:Ontology .
ont:C a owl:Class, ont:C .
ont:D a owl:Thing, owl:Class;
owl:sameAs ont:C;
owl:disjointFrom ont:C .
我有一个 ontology,其中 classes 可能与 UUID 相关联,但我想在大部分工作中使用人类可读的名称。我想要
Declaration( Class( a:C ) )
Declaration( NamedIndividual( a:C ) )
Declaration( NamedIndividual( urn::uuid:00112233-4455-6677-8899-aabbccddeeff ) )
Declaration( NamedIndividual( a:someObject) )
ClassAssertion( a:C a:someObject )
SameIndividual( a:C urn::uuid:00112233-4455-6677-8899-aabbccddeeff )
目的是有一个专门的处理步骤,将 UUID 转换为 class,然后从那里对 OWL DL ontology 进行推理。对我来说,使用 SameIndividual
结构是有意义的,因为我认为 UUID 只是 class.
我正在做的显然是元建模,因为我将一个实体同时视为 class 和一个个体,但我不希望实际进行任何利用元建模的推理造型。我无法从规范中判断这是否是一个有效的 OWL DL 文档,其中有一个名为 a:C
的 class 和一个名为 a:C
的个体,它们被完全独立地对待,或者如果我只是被禁止拥有一个 class 和一个同名的人。
我知道我可以使用 EquivalentClasses
,但出于用户体验的原因我想避免使用它。我有一种感觉,我们将在 OWL 长 运行 的完整文档上进行操作,这个问题变得没有实际意义,但我想能够说我们正在生成有效的 OWL DL 本体,直到我们必须跳转。
是的,在OWL 2 DL中允许有一个class和一个同名的人。 document for OWL 2 New Features call this "punning”。这样的结果是有两个独立的术语,所以对一个的推理不会影响对另一个的推理。例如,下面是一致的(我用Turtle语法写的,我' m 比较熟悉):
ont: a owl:Ontology .
ont:C a owl:Class, ont:C .
ont:D a owl:Thing, owl:Class;
owl:sameAs ont:C;
owl:disjointFrom ont:C .