【问题标题】:Modeling complex constraints in OWL在 OWL 中建模复杂的约束
【发布时间】:2017-03-12 18:58:43
【问题描述】:

让我们假设 3 种实体:

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

让我们考虑以下基数约束:

  • 一个算法可以用于多个任务。
  • 一个任务可以使用多种算法
  • 一个算法可以有多个参数化。

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

为了澄清约束,让我们假设以下内容。让我们假设 A 为算法,T 为任务,P 为参数化。所以,我们有:

∀a,y A(a) ∧ T(t) ∧ usedIn(a,t) ⇒ ∃!p P(p) ∧ 配置(p,a,t)

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

但是,我不知道如何在 OWL 中表示此约束。是否可以在 OWL 中对此进行建模?我们该如何解决这个问题?

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

【问题讨论】:

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

标签: rdf semantic-web owl ontology reasoning


【解决方案1】:

如果算法的实例是特定的算法,我想你有类似的东西:

图搜索算法 ⊑算法
深度优先搜索 ∈图搜索算法
广度优先搜索 ∈图搜索算法

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

task72→使用breadthFirstSearch

你实际上有类似的东西:

task72 →使用参数化83
参数化83 →usesAlgorithm 广度优先搜索
参数化83 →usesParameters 参数24

也就是说,任务有许多参数化(你可以为这个东西使用不同的名称),每个参数指定一个算法和实际参数。如果是这种情况,那么我会理解您的约束是算法不使用具有相同算法的多个参数化。在 FOL 中,你会有类似的东西:

∀ t,p,a [(uses(t,p) ∧ usesAlgorithm(p,a)) → ¬∃ q (p ≠ q ∧ uses(t,q) ∧ usesAlgorithm(q,a))]

如果这是意图,那么这可能超出了 OWL 的限制。通常的经验法则之一(根据属性链之类的情况,这并不完全准确,但仍然是一个有用的经验法则)是您是否可以仅使用两个变量来编写公式。在这种情况下,外部量化需要三个(任务、参数化和算法),而您无法真正绕过它。

【讨论】:

    猜你喜欢
    • 2022-11-17
    • 2020-08-15
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    • 2022-08-22
    • 1970-01-01
    相关资源
    最近更新 更多