1

我想在 OWL 中使用属性链并在 FUSEKI / OWLIM 中进行推理,但我无法使用 OWL2 属性链进行推理。

我使用 Protege 工具来定义本体。本体文件包含以下“hasGrandParent”对象属性的属性链

  • hasParent • hasParent → hasGrandParent

在 Protege 中启用推理器时,推理工作正常并显示关系(hasGrandParent 关系),但是当将相同的本体文件加载到 FUSEKI / OWLIM 时,推理不起作用。我肯定在配置中遗漏了一些东西。

任何人都可以请帮助使其正常工作。

4

1 回答 1

0

GraphDB (OWLIM) 从版本 4 开始支持这一点。owl:propertyChainAxiom规则https://www.w3.org/TR/owl2-profiles/#prp-spo2是这样实现的:

Id: prp_spo2_1
    p <owl:propertyChainAxiom> pc
    start pc last                   [Context <onto:_checkChain>]
    ----------------------------
    start p last

Id: prp_spo2_2
    pc <rdf:first> p
    pc <rdf:rest> t                 [Constraint t != <rdf:nil>]
    start p next
    next t last                     [Context <onto:_checkChain>]
    ----------------------------
    start pc last                   [Context <onto:_checkChain>]

Id: prp_spo2_3
    pc <rdf:first> p
    pc <rdf:rest> <rdf:nil>
    start p last
    ----------------------------
    start pc last                   [Context <onto:_checkChain>]

但是,如果您将自己限制为长度为 2 的链,则可以更快地实现类似的功能。请参见此处:http: //vladimiralexiev.github.io/pres/extending-owl2/

于 2017-01-13T19:49:26.080 回答