gpt4 book ai didi

owl - OWL 基数限制的推理

转载 作者:行者123 更新时间:2023-12-02 18:47:16 30 4
gpt4 key购买 nike

我认为我对 OWL 公理仍然存在根本性的误解:(。

这是我创建的一个小型测试本体:

@prefix xsd:      <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix : <http://foobar.com/test/> .

: a owl:Ontology .

:prop1 a owl:DatatypeProperty .
:prop2 a owl:DatatypeProperty .

:Class1 owl:equivalentClass [
a owl:Restriction ;
owl:onProperty :prop1 ;
owl:cardinality "1"^^xsd:int
] .

:Ind1 a owl:NamedIndividual ;
:prop1 "value1"^^xsd:string .

:Class2 owl:equivalentClass [
a owl:Restriction ;
owl:onProperty :prop2 ;
owl:minCardinality "1"^^xsd:int
] .

:Ind2 a owl:NamedIndividual ;
:prop2 "value2"^^xsd:string .

当我在 Protege 中运行 Hermit Reasoner 时,我得到了 :Ind2 的预期结果,即它是 :Class2 的成员。但对于 :Ind1 作为 :Class1 的成员,我没有得到相同的结果。

我怀疑这与开放世界假设有关,并且 :Ind1 可能仍然有另一个 :prop1 断言。有几个问题:

  • 我是否正确诊断了问题?
  • 我能否举个例子,说明如何在不明确做出断言的情况下实现隐士的目标:推断 :Ind1:Class1 的成员?<

谢谢

最佳答案

前提

OWL 语义在 open-world assumption 下定义,因此您无法检查某个属性的基数是否恰好 N,因为即使未声明,也可能存在其他属性实例。

更准确地说,您可以执行以下检查:

<表类=“s-表”><标题>基数检查可能的答案声音完成 <正文>至少N (如果 N 或更多)
我不知道(否则)是否正好N (如果 N+1 或更多)
我不知道(否则)是否最多N (如果 N+1 或更多)
我不知道(否则)是否

解决方案

只有当您明确声明"value1"时,您才能检查基数是否恰好为1。是 :Ind1 的唯一值。在这种情况下:Ind1将成为 :Class1 的一部分.

在 FOL 中:

∀x.(R(Ind1, x) → x = "value1")

在深度学习中:

∃R⁻.{Ind1} ⊑ {"value1"}

在 OWL2 中(未测试):

:Ind1
a owl:NamedIndividual ;
a [ a owl:Restriction ;
owl:onProperty :prop1 ;
owl:allValuesFrom [ a rdfs:Datatype ;
owl:oneOf ( "value1"^^xsd:string )
]
] .

关于owl - OWL 基数限制的推理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67270554/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com