gpt4 book ai didi

sparql - 如何从几个对齐的引用本体中选择一个巨大的本体?

转载 作者:行者123 更新时间:2023-12-04 13:43:49 24 4
gpt4 key购买 nike

我的组织有一个跨越多个信息域的信息需求。为了捕捉到这一点,我们正在构建一个大型组织本体,在其中我们对齐几个特定领域的引用本体/词汇表(想想都柏林核心、geosparql、行业特定信息模型等),并在必要时在“扩展”中添加概念本体(然后也与引用本体对齐)。

这个对齐的本体(> 3000 个类和> 10000 个 ObjectProperties)的整体包含未使用的概念和语义 double ,对于新手来说是无法导航的。此外,该组织希望标准化特定概念的使用,因此 double 是非常不可取的。因此,我们正在寻找一种构建 SuperAwesomeOntology 的方法,该方法包含所有已被标记(可能通过 dcterms:isRequiredBy "SuperAwesomeOntology"之类的东西)的概念(以及它们的 owl 相关谓词,如 subClassOf、域/范围等)。结果应该是可以存储在单个文件中的正确 OWL 本体。

一个约束:它必须以编程方式完成,(protege 的复制/移动/删除公理接口(interface)不会这样做),因为如果引用本体之一得到更新,我们希望能够从最上层再次渲染 SuperAwesomeOntology - 最新引用本体并找出是否有任何冲突。

我们会怎么做呢? SPARQL 可以做到这一点,怎么做?也欢迎对 isRequiredBy 标签提出替代建议。

最佳答案

如果我理解正确,您希望以编程方式从大型本体或本体/图集合中删除未使用的概念,并且您还希望删除通过互连识别为重复的概念/类。

识别出重复项 很容易去除:

  • 定义什么是重复项。例如,位于核心图之外的 owl:sameAs 或 skos:closeMatch 链接两端的节点(因此您不会删除“原始”)。
  • 使用 SPARQL 查询构建新图:
    construct {?s ?p ?o.}
    {
    ?s ?p ?o.
    filter not exists {graph ?g {?s owl:sameAs ?x.} filter(?g!=<http://my.core.graph>)}
    filter not exists {graph ?g {?o owl:sameAs ?x.} filter(?g!=<http://my.core.graph>)}
    }

    我测试了这个查询的语法和性能,但不是为了正确性。

  • 未使用的概念 更难去除:

    首先,您需要再次定义“未使用”对您意味着什么。然而,这个标准肯定会涉及组合图中的可达性或“连通性”,您只想选择包含核心本体的图组件。问题是,如果您将三元组视为无向边,您可能会得到一个连通图(只有一个组件,没有要删除的节点),因为类型层次结构通常连接所有内容。您可以考虑边缘的方向,即仅包括资源 Y,其中存在从核心本体中的任何资源 X 到 Y 的定向路径。
    这将确保您可以上升目标本体的子类层次结构,直到例如猫头鹰:东西又没下来。问题是您不知道目标本体中还有哪些其他类型的边以及它们朝哪个方向走,但您现在只能使用 rdfs:subClassOf 边。

    如果您已经充分定义了“未使用的概念”,或者想尝试一些实验性定义,您可以使用图形库或图形分析应用程序并在那里导入您的代码。

    Here is an example关于如何将 SPARQL 端点导入 Cytoscape.js JavaScript 图形可视化库,它也可以在 node 中使用。但是,您需要大量调整代码。

    或者您在 SPARQL 中使用 SPARQL 1.1 属性路径再次执行此操作。
    问题是这些会产生很大的性能影响(或者甚至是太大而无法完成的复杂性),尤其是在应用于大量资源和不受限制的路径长度时。因此,这样的查询可能会超时,但可以随意尝试并调整它:
    construct {?s ?p ?o.}
    {
    {?s ?p ?o.}
    graph <http://my.core.graph> {?x rdfs:subClassOf ?X.}
    {?x (<>|!<>)* ?s.}
    }
    ?x rdfs:subClassOf ?X语句只是您想要使用源点的核心本体资源的标识符,没有它我无法获得有效的查询。当我将图形语句应用于路径表达式时,我从 Virtuoso 收到语法错误。

    关于sparql - 如何从几个对齐的引用本体中选择一个巨大的本体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52498716/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com