Создание классов Java из онтологии - PullRequest
9 голосов
/ 04 августа 2010

У меня есть файл онтологии (в RDF), который выражает сущности в приложении, которое я пишу.Я использую Jena и могу получать доступ к Концепциям и создавать / получать доступ к ресурсам, напрямую манипулируя тройками.

Чтобы упростить задачу, я создал набор классов Java, по одному для каждого типа ресурса в моей онтологии,имея в виду их наследство и свойства.Например,

public class Agent{
}

и

public class Person extends Agent{
  private String name;
}

Если онтология содержит два типа ресурсов, Agent и Person, причем последний является подклассом первого.

Я понял, что процесс создания этих классов (и методы их извлечения) очень монотонны.Если бы я писал приложение для баз данных, я бы использовал файл конфигурации для Hibernate и позволил бы ему позаботиться о деталях.

Мой вопрос: Есть ли инструмент, который будетвзять в качестве входных данных онтологию (в файле RDF) и создать набор файлов Java, представляющих концепции в онтологии, как в примере выше?(или если сама Джена может это сделать, а я что-то упускаю)

Спасибо.

Ответы [ 4 ]

2 голосов
/ 10 августа 2010

Существуют такие инструменты, как Bouml и Andromda , с помощью которых вы можете создавать Java из сериализации XMI UML.

Кроме того, была проделана работа по интеграции UML сRDF: http://infolab.stanford.edu/~melnik/rdf/uml/.

Так что, я думаю, вы могли бы найти способ преобразовать свой RDF в XMI, а затем сгенерировать Java из XMI, если сначала вы отобразите свою исходную схему RDF в RDF / UML.* Также я только что нашел эту статью: Автоматическое отображение онтологий OWL в Java , которую я не читал, поэтому я не могу комментировать.

1 голос
/ 04 августа 2010

Protege поддерживает импорт RDF и экспорт Java. Я использовал его в прошлом для передачи данных онтологии в Java-программы, и это работало разумно.

1 голос
/ 06 августа 2010

Проходя по ссылкам, указанным выше, я случайно наткнулся на проект Trispresso , в котором содержится краткое описание соответствующих инструментов и их функций, включая множественное наследование и генерацию кода. Думал, что это будет хорошим ответом на мой собственный вопрос.

0 голосов
/ 04 августа 2010

Вы проверяли JRDF ? Также доступны и другие инструменты генерации кода. Отметьте здесь .

...