Преобразование UML в OWL Онтология
Я пытаюсь разработать онтологию OWL на основе различных файловых ресурсов UML, представленных в формате xmi. Читая некоторое время в Интернете, кажется, что почти все доступные инструменты или подходы устарели, и даже при попытке некоторых из них они не дают ожидаемого результата. Поскольку эта онтология играет действительно важную роль в нашем проекте, я хотел бы знать, какой подход / инструменты лучше всего использовать для преобразования UML в OWL?
3 ответа
Я сам изучил это и не нашел инструментов, которые могли бы сделать это удовлетворительно. Проблемы, с которыми я столкнулся, были либо в том, что инструменты использовали старую версию UML, не поддерживали все функции UML, использовали OWL 1, а не OWL 2, и поддерживались только старой версией Protege.
Я сделал перевод вручную, что для большинства конструкций UML не слишком сложно. Для этой цели я написал рецензию на UML vs OWL, которая дает интуитивно понятное объяснение того, почему некоторые переводы выполняются по определенной причине, а также предоставляет ссылку для перевода UML в OWL.
Вы, вероятно, никогда не получите именно то, что хотите, если не сделаете это вручную, как сказала Генриетта. Один из жизнеспособных вариантов - использование COGS , который, как я обнаружил, работает довольно хорошо.
Загвоздка в том, что это связано с ответом Рота, поддерживая спецификацию OMG. Если убедиться, что ваш UML соответствует этой спецификации, не так уж и много, это может сэкономить время в долгосрочной перспективе. Вот пример файла OWL, созданного COGS.
Спецификация OMG теперь доступна по адресу https://www.omg.org/spec/MOF2RDF/.
Я еще не нашел инструмент с открытым исходным кодом, реализующий это напрямую (т.е. преобразование из UML / XMI в OWL / RDF), но есть действия, связанные с EMF, которые могут быть актуальными (не пробовали), например: https: / /github.com/ghillairet/emftriple