我的目标是合并YSO、JUPO和JUHO本体(从Finto本体家族:https://finto.fi/en/)。使用Python的RDFlib库,我能够合并不同的turtle文件,并使用图形合并属性获得本体的联合:
from rdflib import Graph
graph = Graph()
graph.parse(input1)
graph.parse(input2)
此处指定:https://rdflib.readthedocs.io/en/stable/merging.html
然而,这是不够的,因为这些本体具有重叠的术语(即精确匹配),这些术语在组合本体中表示为多个术语。例如,术语“兽医”被所有三个本体(https://finto.fi/yso/en/page/p14110;https://finto.fi/juho/en/page/p9292;https://finto.fi/jupo/en/page/p2661)共享,并且在统一本体之后,该术语将出现三次
当我将生成的本体用于主题索引时(即,将本体中的索引项分配给文本输入),当模型用于预测时,精确匹配会导致问题。例如,“兽医”一词将被预测三次,因为它在本体中有三个不同的URI
所以我的问题是:是否有可能自动统一多个本体,从而减少精确匹配,并使用一些首选术语?在“兽医”的情况下,使用YSO本体作为首选术语并指定其他相关本体将是一个理想的解决方案
欢迎提出任何意见
干杯, JK
如果要合并的本体具有skos:exactMatch属性,则应该能够合并本体(合并图形),然后在每个匹配集中选择任何一个精确匹配对象,并用单个URI替换所有匹配的URI,然后清除已替换的其他URI。或者保留所有术语的精确匹配链接,但将数据中的引用替换为仅使用其中一个术语
如果你不能从概念上做到这一点,那就意味着skos:exactMatch被错误地使用了,因为精确匹配的项目应该是完全等效的——事实上是精确的
owl:sameAs(命名个体)和owl:equivalentClass(一般的类,而不是skos:Concepts)的推理是一样的
相关问题 更多 >
编程相关推荐