Rdf OWL中复杂约束的建模

Rdf OWL中复杂约束的建模,rdf,semantic-web,owl,ontology,reasoning,Rdf,Semantic Web,Owl,Ontology,Reasoning,让我们假设3种实体: 算法:其实例为特定算法- 任务:其实例是特定任务,例如“识别 图像中的特定纹理” 参数化:为这些参数定义一组参数和值 让我们考虑下面的基数约束: 一个算法可用于多个任务 一个任务可以使用多种算法 一个算法可以有几个参数化 这在OWL中建模并不困难。但是,我还有以下限制: -给定任务中的算法只有一个参数化。也就是说,在具有特定参数化的任务中应该使用给定的算法 为了澄清约束,让我们假设如下。让我们假设A为算法,T为任务,P为参数化。因此,我们有: ∀a、 y a(a)∧

让我们假设3种实体:

  • 算法:其实例为特定算法-
  • 任务:其实例是特定任务,例如“识别 图像中的特定纹理”
  • 参数化:为这些参数定义一组参数和值

让我们考虑下面的基数约束:

  • 一个算法可用于多个任务
  • 一个任务可以使用多种算法
  • 一个算法可以有几个参数化
这在OWL中建模并不困难。但是,我还有以下限制: -给定任务中的算法只有一个参数化。也就是说,在具有特定参数化的任务中应该使用给定的算法

为了澄清约束,让我们假设如下。让我们假设A为算法,T为任务,P为参数化。因此,我们有:

∀a、 y a(a)∧ T(T)∧ 用于(a,t)⇒ ∃!p(p)∧ 配置(p、a、t)

也就是说,对于所有算法a和所有任务t,如果在t中使用a,则只有一个参数化p为任务t配置算法a

然而,我不知道如何在OWL中表示这个约束。可以在OWL中对此进行建模吗?我们如何处理这个问题


我还想说,axiom有点奇怪,但这是客户提供的约束。另外,我认为讨论这个案例会很有趣,只是为了讨论OWL的局限性。

如果算法的实例是特定的算法,我想您会有如下情况:

GraphSearchAlgorithm&SQSubset;算法
深度优先搜索∈图耳算法
横向优先搜索∈图形符号学

然后,您提到任务使用算法的参数化。我想这意味着,而不是

task72→使用横向优先搜索

实际上,你有这样的想法:

task72→使用参数化83
参数化83→使用算法宽度优先搜索
参数化83→使用参数24

也就是说,任务有许多参数化(可以使用不同的名称),每个参数化都指定一个算法和实际参数。如果是这样的话,那么我会理解您的约束是一个算法不使用具有相同算法的多个参数化。在FOL中,您将有如下内容:

∀ t、 p,a[(使用(t,p)和wedge;使用gorithm(p,a))和rightarrow∃ q(p≠ q∧使用(t,q)∧使用算法(q,a))]


如果这是目的,那么这可能是超出猫头鹰极限的东西。通常的经验法则之一(考虑到像属性链这样的东西,这并不完全准确,但仍然是一个有用的经验法则)是你是否可以只用两个变量来编写一个公式。在这种情况下,外部量化需要三个方面(任务、参数化和算法),而您无法真正绕过这三个方面。

您将使用的以下表示形式是什么?这将大大有助于让我们确切地知道您在寻找什么。可以直接翻译FOL语句。@JoshuaTaylor是对的。由于OWL是基于描述逻辑(DL)的,而描述逻辑实际上是FOL的一个可判定片段,因此存在从该子集到DL(分别为OWL)的转换。感谢您的关注。我已经编辑了原始帖子,包括约束的FOL公式。我在哪里可以找到一些参考资料来研究FOL公式到OWL的转换?我不认为你的FOL公式捕捉到了你想要的东西。∀a、 y a(a)∧ T(T)∧ 用于(a,t)⇒ ∃!p(p)∧ configures(p,a,t)表示,如果在任务中使用了算法,则不存在将a配置为t的参数化。您确实需要捕获在antecedent中预期的参数化:∀a、 y,qp(q)∧ 配置(q,a,t)a(a)∧ T(T)∧ 用于(a,t)⇒ ∃!p(p)∧ P≠ Q∧ 配置(p、a、t)。否则,任务的所有算法都不可能有任何参数化,并且您说应该最多有一个(可能至少有一个)。