2010-08-04 5 views
9

Ich habe eine Ontologie-Datei (in RDF), die die Entitäten in der App ausdrückt, die ich schreibe. Ich benutze Jena und kann auf die Konzepte zugreifen und die Ressourcen durch direktes Manipulieren von Tripeln erstellen.Erstellen von Java-Klassen aus der Ontologie

Um die Dinge einfacher zu machen, habe ich eine Reihe von Java-Klassen, eine für jeden Ressourcentyp in meiner Ontologie, unter Berücksichtigung ihrer Erbschaften und Eigenschaften erstellt. Z.B.

public class Agent{ 
} 

und

public class Person extends Agent{ 
    private String name; 
} 

Wenn die Ontologie enthält zwei Arten von Ressourcen, Agent und Person, wobei letztere eine Unterklasse der ersteren.

Ich erkannte, dass der Prozess der Erstellung dieser Klassen (und die Methoden, um sie zu extrahieren) sehr eintönig sind. Wenn ich eine Anwendung auf Datenbanken schreiben würde, hätte ich eine Konfigurationsdatei für Hibernate verwendet und sie würde sich um die Details kümmern.

Meine Frage ist: Gibt es ein Tool zur Verfügung, die eine Ontologie (in einer RDF-Datei) als Eingabe, und eine Reihe von Java-Dateien erstellen, um die Konzepte in der Ontologie darstellen, wie im Beispiel oben? (oder wenn Jena selbst das kann und mir etwas fehlt)

Danke.

+0

Ich denke, dass sie Interfaces sein müssen, weil eine Instanz die Typen FlyingThing, Animal, Black usw. haben kann. Problem damit ist, dass es nicht in der Lage wäre, mit ererbten Eigenschaftswerten umzugehen. – Thien

Antwort

1

Während ich die obigen Links durchging, stieß ich zufällig auf die , die eine schöne Zusammenfassung der relevanten Tools und ihrer Funktionen, einschließlich mehrfacher Vererbung und Code-Generierung, bietet. Ich dachte, es würde eine gute Antwort auf meine eigene Frage geben.

0

Haben Sie überprüft JRDF? Es gibt auch andere Tools zur Codegenerierung. Überprüfen Sie here.

+0

Danke. Von der JRDF Seite „Zukünftige Funktionen können gehören: Ein RDF zu Java-Objekt-API (ähnlich oder Sesame des Elmo Hibernate),“ Also ich denke, das wird noch nicht unterstützt. Werde auf der anderen Seite RDFReactor, Kazuki und Owl2Java ausprobieren. – Animesh

1

Protege unterstützt RDF-Import und Java-Export. Ich habe es in der Vergangenheit benutzt, um Ontologie-Daten in Java-Programme zu bekommen, und es hat vernünftig funktioniert.

+0

Danke. Ich nehme an, Sie meinen das BeanGenerator-Plugin unter http://sharon.cselt.it/projects/jade/doc/tutorials/beanerator/beangenerator.html. Ich werde es versuchen. – Animesh

2

Es gibt Tools wie Bouml und Andromda, mit denen Sie Java von XMI UML-Serialisierung generieren können.

Desweiteren wurde an der Integration von UML mit RDF gearbeitet: http://infolab.stanford.edu/~melnik/rdf/uml/.

Also ich denke, Sie könnten einen Weg finden, um Ihre RDF zu XMI zu transformieren und dann Java von XMI zu generieren, vorausgesetzt, dass Sie zuerst Ihr erstes RDF-Schema zu RDF/UML zuordnen.

Auch ich habe gerade dieses Papier gefunden: Automatic Mapping of OWL Ontologies into Java das ich nicht gelesen habe, also kann ich nicht kommentieren.