2010-08-04 14 views
9

Tengo un archivo de ontología (en RDF) que expresa las entidades en la aplicación que estoy escribiendo. Estoy usando Jena, y puedo acceder a los Conceptos y crear/acceder a los recursos manipulando directamente los triples.Crear clases de Java desde Ontology

Para facilitar las cosas, creé un conjunto de clases de Java, una para cada tipo de recurso en mi ontología, teniendo en cuenta sus herencias y propiedades. P.ej.

public class Agent{ 
} 

y

public class Person extends Agent{ 
    private String name; 
} 

Si la ontología contiene dos tipos de recursos, y AgentPerson, siendo esta última una subclase de la primera.

Me di cuenta de que el proceso de creación de estas clases (y los métodos para extraerlas) es muy monótono. Si estuviera escribiendo una aplicación en bases de datos, habría utilizado un archivo de configuración para Hibernate y lo dejaría encargarse de los detalles.

Mi pregunta es: ¿Hay una herramienta disponible que tendrá una ontología (en un archivo RDF) como entrada, y crear un conjunto de archivos de Java que representan los conceptos en la ontología, como en el ejemplo anterior? (o si Jena puede hacer esto, y me falta algo)

Gracias.

+0

Creo que tienen que ser interfaces porque una instancia puede tener los tipos FlyingThing, Animal, Black, etc. El problema es que no podría tratar con valores de propiedad heredados. – Thien

Respuesta

1

Mientras navego por los enlaces provistos arriba, encontré el Trispresso Project, que proporciona un buen resumen de las herramientas relevantes y sus características, incluyendo herencia múltiple y generación de código. Pensé que sería una buena respuesta a mi propia pregunta.

0

¿Has verificado JRDF? También hay otras herramientas de generación de código disponibles. Compruebe here.

+0

Gracias. Desde la página JRDF "características futuras pueden incluir: Un RDF para la API de Java objeto (similar a la hibernación o Elmo de Sesame)," así que creo que todavía no es posible. Verificará RDFReactor, Kazuki y Owl2Java desde la otra página. – Animesh

1

Protege admite la importación de RDF y la exportación de java. Lo he usado en el pasado para obtener datos de ontología en programas Java y ha funcionado razonablemente.

+0

Gracias. Supongo que se refiere al uso del complemento BeanGenerator en http://sharon.cselt.it/projects/jade/doc/tutorials/beangenerator/beangenerator.html. Voy a intentarlo. – Animesh

2

Existen herramientas como Bouml y Andromda con las que puede generar Java a partir de la serialización UML de UML.

Además, se ha trabajado para integrar UML con RDF: http://infolab.stanford.edu/~melnik/rdf/uml/.

Así que supongo que podría encontrar una forma de transformar su RDF en XMI y luego generar Java desde XMI, dado que primero asigne su esquema RDF inicial a RDF/UML.

También acabo de encontrar este documento: Automatic Mapping of OWL Ontologies into Java que no leí, así que no puedo comentar.