描述逻辑;强制参与

时间:2014-11-10 20:18:48

标签: owl description-logic

我有一个UML概念图;我想把它表达为DL本体。 UML类被捕获为DL概念,其中通过角色捕获关联。一个重要的观点是UML类之间的多重性。函数对象属性捕获到一个多重性(0 .. * - 0..1),并使一个(0..1)侧强制,即(0 .. * - 1)引用谈论强制性参与意味着在一对一方面的最大和最小多重性为1。

以下是reference

enter image description here

类C1和C2之间的关联A在DL中通过a形式化 我们强制执行断言的角色A

enter image description here

表示每个参与C2实例的多重性ml..mu 给定C1的实例,我们使用断言

enter image description here

我只是无法理解C2在断言中的强制参与是如何通过对C1的断言来表达的,最后一个断言是如何读取的?

1 个答案:

答案 0 :(得分:1)

使用 A a作为属性名称有点不寻常,所以我将改为使用 p 。 UML图也没有表达属性的方向,这使得讨论的其余部分有点混乱。但是,可以从您提供的公理中收集一些信息。

如果UML旨在表达:

  
      
  1. C 1 的实例由 p 与至少n l 和大多数n u 实例相关联C 2
  2.   
  3. 至少m l 且大多数m u C 1 的实例与 p 相关联C 2 的实例。
  4.   

然后你可以使用DL公理:

  

C 1 ⊑≥n l p.C 2
  C 1 ⊑≤n u p.C 2
  C 2 ⊑≥m l p -1 .C 1
  C 2 ⊑≥m u p -1 .C 1

那些说如果 x是C 1 (C 2 )那么x与适当数量的C 相关2 (C 1 )个实例 p p -1 )。现在,由于UML中表达的关系只会关联两个类的实例,即没有其他类型的实例与属性 p 相关,那么你更有可能声明 p 的域和范围分别为C 1 和C 2

  

∃p⊑C 1
  ∃p -1 ⊑C 2

然后使用更简单的上述公理版本:

  

C 1 ⊑≥n l p
  C 1 ⊑≤n u p
  C 2 ⊑≥m l p -1
  C 2 ⊑≥m u p -1

回答非常具体的问题:

  只是无法理解C2如何强制参与   断言由C1上的断言表示,最后是怎么回事   断言读?

问题中最后一个公理中的符号是不寻常的,我不确定完全应该是什么。我不确定这些小旋风是什么意思。 看起来像

  

C 1 ⊑⊑p

虽然。如果它是什么,则将其读作

  

C 1 是∃p

的子类

表示那个

  

如果 x 是C 1 的实例,则 x 是∃p

的实例

这意味着

  

如果 x 是C 1 的实例,那么 x 是至少具有值的事物类的实例> p (即,至少有一个 y ,使 p (x,y))。

在一阶逻辑中,您可以将其表达为:

  

∀x。(C 1 (x)→∃y.p(x,y))