我试图在我的本体中为 OWL 类之间的对象属性定义不同的状态。已经有效的是每次我有一个新的状态时创建一个新的对象属性。
所以这将是我解决它的方式:
概念 --- hasConcept --> 概念
现在我想查看一个概念的所有存档概念。因此,每当我归档一个概念时,我都会将对象属性从hasConcept
以下新对象属性更改为:
概念 --- hasArchivedConcept --> 概念
这个解决方案的问题是我必须hasArchived*
为我的本体中的许多其他类创建相同的对象属性。
概念 --- hasTerm --> 术语
概念 --- hasArchivedTerm --> 术语
等等。
为了否认每次需要新状态时都必须创建多个对象属性的努力,我正在寻找另一种平滑的语义 OWL 方式来满足该要求。
由于仅限于二元谓词,OWL不是最好的表示。您要么试图在已知时间表示某事为真,要么在假设或已知情况下表示某事,这在 AI 中被称为 Fluent(请参阅Situation Calculus):
colour(car, red, time1). % time1 can be substituted for a situation reference
colour(car, blue, time2).
所以我们需要三元关系。情境演算的解决方案是将流畅性具体化:
holds(colour(car, red), situation0).
每个谓词现在只有元数 2,但 OWL 不允许将三元组作为主语。
OWL 最简单的解决方案来自在OWL 中表示 n 元关系的建议,用例 1:
colour_at_time(car, _ct1).
colour(_ct1, red).
time(_ct1, t1).
这种变通方法有一个缺点:您牺牲了查询的推理和清晰度。
还存在一个基于情境理论的本体加上几个关于时间的基于事件的本体。研究的好地方是:ODP、语义传感器网络本体(因为观察)、Prov-O(因为随着时间的推移文档发生变化)和 BFO v1(用于质量、过程和现在删除的对象属性)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句