Python 是否有可能自动合并本体,以便将精确匹配合并到一个首选术语下?

Python 是否有可能自动合并本体,以便将精确匹配合并到一个首选术语下?,python,rdf,ontology,rdflib,Python,Rdf,Ontology,Rdflib,我的目标是合并YSO、JUPO和JUHO本体(从Finto本体家族:)。使用Python的RDFlib库,我能够合并不同的turtle文件,并使用图形合并属性获得本体的联合: from rdflib import Graph graph = Graph() graph.parse(input1) graph.parse(input2) 此处指定: 然而,这是不够的,因为这些本体具有重叠的术语(即精确匹配),这些术语在组合本体中表示为多个术语。例如,术语“兽医”被所有三个本体(;;)共享,统

我的目标是合并YSO、JUPO和JUHO本体(从Finto本体家族:)。使用Python的RDFlib库,我能够合并不同的turtle文件,并使用图形合并属性获得本体的联合:

from rdflib import Graph

graph = Graph()

graph.parse(input1)
graph.parse(input2)
此处指定:

然而,这是不够的,因为这些本体具有重叠的术语(即精确匹配),这些术语在组合本体中表示为多个术语。例如,术语“兽医”被所有三个本体(;;)共享,统一本体后,这个术语将出现三次

当我将生成的本体用于主题索引时(即,将本体中的索引项分配给文本输入),当模型用于预测时,精确匹配会导致问题。例如,“兽医”一词将被预测三次,因为它在本体中有三个不同的URI

所以我的问题是:是否有可能自动统一多个本体,从而减少精确匹配,并使用一些首选术语?在“兽医”的情况下,使用YSO本体作为首选术语并指定其他相关本体将是一个理想的解决方案

欢迎提出任何意见

干杯,
JK

如果要合并的本体具有skos:exactMatch属性,则应该能够合并本体(合并图形),然后在每组匹配中选择任何一个精确匹配对象,并用单个URI替换所有匹配的URI,然后清除已替换的其他URI。或者保留所有术语的精确匹配链接,但将数据中的引用替换为仅使用其中一个术语

如果你不能从概念上做到这一点,那就意味着skos:exactMatch被错误地使用了,因为精确匹配的项目应该是完全等效的——事实上是精确的

owl:sameAs(命名个体)和owl:equivalentClass(一般的类,而不是skos:Concepts)的推理是一样的