【问题标题】:TopQuadrant Shacl Rule Engine Iterative inferenceTopQuadrant Shacl 规则引擎迭代推理
【发布时间】:2021-02-06 17:13:06
【问题描述】:

Shacl API 规则引擎是否像 TopBraid Composer 一样支持 sh:order 来执行规则。

我在 TBC 中测试了规则排序,它反复进行直到达到一个固定点。没有更多的规则可以执行。我怀疑它被认为是一次性的,但规则被优先考虑,并且它们的结果可用于在同一遍中执行的下一条规则。

无论如何,不​​管它是如何实现的,我想知道它是 shacl 规则引擎的一个特性还是 TopBraid 作曲家特定的实现。

以下线程暗示了我正在寻找的答案,但没有达到。

How to input inferred triples to (other) SHACL rules?

【问题讨论】:

    标签: shacl topbraid-composer


    【解决方案1】:

    当前的 SHACL API 不执行开箱即用的迭代。 RuleEngine 对所有规则进行一次迭代,这些规则可以按照大纲访问彼此的结果

    https://w3c.github.io/shacl/shacl-af/#rules-execution

    要进行迭代循环,只需调用 RuleEngine.executeAll 直到一轮没有创建任何新推理。需要注意避免无限循环,因为理论上某些规则可能会产生空白节点、随机值等。TopBraid Composer 会自动执行此循环。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多