Hallo zusammen,
Markus Grandpré hat die Übung 2 sehr schön ausgearbeitet und den Lösungsweg dazu recht ausführlich beschrieben. Dabei werden einige Dinge, denke ich, wesentlich verständlicher und es treten Erkenntnisse ans Licht die man sonst so vielleicht nicht gesehen hätte.
- Ausarbeitung der Übung 2 von Markus Grandpré (PDF)
- Java Source von Markus Grandpré zur Übung 2 (ZIP)
In der Ausarbeitung auf Seite 6 werden die wichtigsten Schnittstellen von Jena beschrieben. Ich habe dies hier nochmal in einem Diagramm zusammengefasst:
Man sieht hier sehr schön, das man in Jena mit RDFNode jedes RDF Element bezeichnen kann. RDFNodes teilen sich in Resource (Objektwerte/Ressourcen) und Literal(Datenwerte) auf. Auch Resource kann man noch weiter unterteilen.
Wenn wir uns die erlaubten Werte für die einzelnen Teile der Triple aus dem RDF-Kapitel noch mal in Erinnerung rufen so erhalten wir folgende Zuordnung
Stelle | Erlaubte Werte | Passendes Jena Interface |
---|---|---|
Subjekt | URI oder Blank Node | Resource |
Prädikat | URI | Property (ist etwas spezieller als Resource) |
Objekt | URI, Blank Node, Literal | RDFNode |
Mit diesen Interfaces sind dann auch die jeweiligen Teile der Statement Objekte die z.B. ein StmtIterator zurückliefert getypt.