Я использую OWLAPI для проекта, и мне нужно сравнить две онтологии для различий между ними. Это игнорирует пустые узлы, так что, например, я могу определить, являются ли те же ограничения OWL в обеих онтологиях. Мне не только нужно знать, есть ли различия, но мне нужно выяснить, каковы эти различия. существует ли такая функциональность в OWLAPI, oz есть относительно простой способ сделать это?Сравнение онтологий в owlapi
ответ
Равенство между выражениями анонимного класса не основано на идентификаторах пустого узла. Анонимные выражения классов содержат только пустые узлы в текстовом выходе, а в памяти идентификаторы игнорируются. Поэтому проверка того, существует ли аксиома в онтологии, будет по умолчанию корректно соответствовать выражениям для вашего diff.
Это неправда для частных лиц - анонимные люди не могут быть одинаковыми среди онтологий, и это по спецификациям. Анонимный индивидуум в одной онтологии не может быть найден в другом, поскольку анонимные идентификаторы пользователя привязаны к содержательной онтологии.
Примечание: модульные тесты для OWLAPI должны выполнять очень похожую задачу, чтобы проверить, что онтология может быть проанализирована, написана и проанализирована снова без изменений (т. Е. Округляется между синтаксисом ввода и синтаксисом вывода), поэтому существует код, на который вы можете смотреть, чтобы вдохнуть вдохновение. См. TestBase.java - equal() method для получения более подробной информации. Это включает в себя код для работы с разными идентификаторами для анонимных лиц.
- 1. OWLAPI 4: импорт или объединение онтологий?
- 2. OWLAPI: использование перечисления «Импорт»
- 3. Обновление SPARQL в OWLAPI
- 4. UnloadableImportException при загрузке файла онтологии с помощью OWLAPI
- 5. OWLAPI: как работает онтология загрузки с импортом?
- 6. Примеры онтологий в искусственном интеллекте
- 7. Hibernate для онтологий?
- 8. Предупреждение несовместимых онтологий Protege
- 9. Как синхронизировать разум в OWLAPI
- 10. OWLAPI: Получить IRI в AnnotationAssertion
- 11. OWLAPI 4.1x + Ограничения + пример
- 12. OWLAPI ObjectPropertyChain axioms
- 13. Рекурсивные аксиомы OWLAPI
- 14. OWLAPI: метод addAxioms устарел
- 15. Типы данных OWLAPI
- 16. OWLAPI загружает локальный файл импорта сова, если он доступен
- 17. Виды онтологий RDF для туризма
- 18. Набор данных онтологий для "Проекта"?
- 19. с использованием онтологий, особый случай
- 20. Невозможно разобрать Turtle онтологий Protege
- 21. Как выполнить сопоставление онтологий RDF
- 22. Лучший инструмент для визуализации онтологий?
- 23. OWLAPI: Создать новый Reasoner (HermiT)
- 24. OWLAPI и Декларация Axiom требования
- 25. Получить особей класса онтологий в .NET
- 26. OwlApi. Извлечь ObjectProperty из rdf
- 27. OWLAPI: Статистика о логической задаче
- 28. Получить аннотации из ObjectPropertyAssertion OWLAPI
- 29. owlapi Как добавить OWLDatatype в OWLClass
- 30. удаление отдельных лиц определенного класса в OWLAPI
Сравнивая онтологии, я понимаю, что анонимные люди не имеют идентификатора (так что внутренние идентификаторы здесь несущественны). Поэтому я хотел бы сравнить структуру анонимных узлов. Например, ограничение в контексте его подкласса: с учетом именованного подкласса, который появляется в обеих онтологиях, в каждой онтологии есть класс подкласс ограничения, в соответствии с которым ограничение является предметом тех же троек (свойство и объект) в оба случая. Это то, что мне нужно определить. –
В вашем случае аксиомы подкласса должны быть равными .equals() друг к другу, поэтому вы можете взять аксиому из первой онтологии и проверить, содержит ли ее вторая онтология. – Ignazio