我的目标是将YSO、JUPO和JUHO本体(来自Finto-ontology家族:https://finto.fi/en/)合并在一起。使用Python的RDFlib库,我已经能够合并不同的海龟文件,并使用图合并属性获得本体的联合:
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-ontology作为首选术语,并指定其他相关的本体,将是理想的解决方案。
欢迎所有的想法!
干杯,JK
发布于 2020-06-20 20:04:54
如果您要合并的本体具有skos:exactMatch属性,那么您应该能够联合这些本体(合并图形),然后在每组匹配中选择任何一个精确匹配的对象,并将所有匹配的URI替换为单个URI,然后清除已替换的其他URI。或者保留对所有术语的精确匹配链接,但将数据中的引用替换为仅使用其中一个术语。
如果你在概念上不能做到这一点,那就意味着skos:exactMatch被错误地使用了,因为精确匹配的项应该是完全相等的-事实上是完全相同的!
owl的推理也一样:sameAs(命名个体)和owl:等效类(类一般,而不是skos:概念)。
https://stackoverflow.com/questions/62424941
复制相似问题