2010-08-04 3 views
9

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

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

public class Agent{ 
} 

и

public class Person extends Agent{ 
    private String name; 
} 

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

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

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

Спасибо.

+0

Я думаю, что они должны быть интерфейсами, потому что экземпляр может иметь типы FlyingThing, Animal, Black и т. Д. Проблема в том, что он не сможет иметь дело с унаследованными значениями свойств. – Thien

ответ

1

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

0

Действительно ли вы проверили JRDF? Существуют и другие инструменты генерации кода. Проверьте here.

+0

Спасибо. На странице JRDF «Будущие функции могут включать в себя: в RDF на Java объект API (подобно Hibernate или Элмо Сезам в),» Так что я думаю, что это еще не поддерживается. Будет проверять RDFReactor, Kazuki и Owl2Java с другой страницы. – Animesh

1

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

+0

Спасибо. Я предполагаю, что вы имеете в виду использование плагина BeanGenerator по адресу http://sharon.cselt.it/projects/jade/doc/tutorials/beangenerator/beangenerator.html. Я попробую. – Animesh

2

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

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

Итак, я думаю, вы могли бы найти способ превратить свой RDF в XMI, а затем сгенерировать Java из XMI, учитывая, что вы сначала сопоставляете исходную схему RDF с RDF/UML.

Также я нашел эту статью: Automatic Mapping of OWL Ontologies into Java, которую я не читал, поэтому не могу комментировать.

Смежные вопросы