Zaczynam pracować z Jena Engine i myślę, że mam pojęcie o tym, czym jest semantyka. Jednak mam problemy ze zrozumieniem różnych sposobów, aby reprezentować kilka trójek w Jenie i ARQ:Jena/ARQ: Różnica między modelem, wykresem i zestawem danych
- Pierwszą rzeczą, można natknąć się podczas uruchamiania jest
Model
a dokumentacja mówi jego nazwa Jenas dla grafów RDF . - Jednak istnieje również
Graph
co wydawało się być niezbędne narzędzie gdy chcę zapytać unii modeli, jednak nie wydaje się, aby dzielić wspólny interfejs zModel
, chociaż można uzyskaćGraph
z pomocąModel
- Następnie w ARQ jest
DataSet
, co również wydaje się być zbiorem trójki.
Pewnie, po rozejrzeniu się w API, znalazłem sposób na konwersję z jednej na drugą. Podejrzewam jednak, że jest w tym coś więcej niż 3 różne interfejsy tego samego.
Pytanie brzmi: Jakie są kluczowe różnice projektowe między tymi trzema? Kiedy powinienem użyć którego? W szczególności: kiedy chcę trzymać pojedyncze kije trójki, ale sprawdzam je jako jedną dużą wiązkę (zjednoczenie), z której z tych struktur danych powinienem korzystać (i dlaczego)? Czy też "tracę" cokolwiek, gdy "konwertuję" z jednego na inny (np. Czy model.getGraph()
zawiera mniej informacji w pewnym stopniu niż model
)?
To dużo wyjaśniło, także wydaje mi się, że przeoczyłem ModelFactory .createUnion() do teraz, dzięki :) – Droggl
Trochę więcej na temat tego rozróżnienia: http://willware.blogspot.com/2010/02/jena-node-versus-rdfnode.html –
Warto również zauważyć, że ani potrójne nor Node (lub Quad) to rzeczywiste interfejsy, ale klasy. – Ruben