У меня есть три больших дампа данных RDF, описанные с тремя разными онтологиями (назовем их A, B и C), и я хотел бы отобразить вместе несколько классов и свойств, чтобы связать их и запросить их.
Подробнее о сценарии использования:
Все три онтологии имеют класс об агентах, но они обрабатывают агента по-разному:
Онтология A рассматривает их как агент (класс x), онтология B обрабатываетони как подкласс субъекта (aboutness) (класс y) Онтология C рассматривает их как ресурс файла авторитетности (класс z)
Хотелось бы выразить мнение, что индивид в классе y и z также индивидуален для класса x.
Самым простым способом было бы создать легкую верхнюю онтологию D, сопоставить каждый из классов и подклассов A, B и C с D, а затем запросить D. Однако я хотел бы использовать онтологию A какглавный.
Другим решением было бы определение классов и свойств B и C как подкласса и под-свойств A. Хотя это решение могло бы работать, мне интересно, найдется ли лучшее, которое не оставило бы меня с онтологическимпутаница в конце процесса.
Как я могу выразить, что класс x из онтологии A является классом всех людей из класса x из A, класса y из B и класса z и z 'из C?
owl: эквивалентClass и owl: эквивалентProperty, похоже, не подходят, поскольку он определяет, что два класса / свойства имеют одинаковое расширение.В этом случае расширение класса x от A должно быть равно
классу x от A + классу y от B + классу z от C + классу z 'от C
, но оно не должно(предпочтительно) влечет за собой следующее:
класс y из B = класс x из A + класс y из B + класс z из C + класс z 'из C
и
класс z из C = классx из A + Класс y из B + Класс z из C + Класс z 'из C
Поскольку я также объявил бы, что агент, описанный классом x из A, является ресурсом авторитетного файла (которым они не являются).
Есть идеи?
owl: unionOf может быть другим решением, но как насчет свойств?