【发布时间】:2015-06-17 21:45:08
【问题描述】:
我们正试图让一个推理器(例如 Protege 中的 HermiT)来推断可以使用更具体的子属性而不是断言的一般属性。
类:
- Patient
- Finding
- Dyspnea
- ObservationStatus
- Inclusion
- Exclusion
属性:
- has_finding (domain: Patient, range: Finding)
- has_positive_finding (domain: Patient, range: Finding, Inclusion)
- has_negative_finding (domain: Patient, range: Finding, Exclusion)
如果我们断言以下三元组:
:Patient1 a :Patient .
:Patient1 :has_negative_finding :Dyspnea1 .
推理者可以推断(除其他外):
:Dyspnea1 a :Finding .
:Dyspnea1 a :Exclusion.
但是当我们反过来看它并断言时:
:Patient1 a :Patient .
:Dyspnea1 a :Dyspnea .
:Dyspnea1 a :Exclusion .
:Patient1 :has_finding :Dyspnea1.
我们希望推理者推断:
:Patient1 :has_negative_finding :Dyspnea1 .
我们似乎无法让 Protege 和 HermiT 得出这个结论并推断出三元组。
我们缺少什么?条件不是它推断该知识的必要和充分条件吗?
【问题讨论】:
标签: properties owl protege inference reasoning