Estoy empezando a trabajar con el motor de Jena y creo que tengo una idea de lo que es la semántica. Sin embargo Estoy teniendo dificultades para comprender las diferentes maneras de representar un montón de triples en Jena y ARQ:Jena/ARQ: Diferencia entre modelo, gráfico y conjunto de datos
- Lo primero que se tropiezan con al arrancar es
Model
y la documentación dice su nombre Jenas para grafos RDF . - Sin embargo también hay
Graph
que parecía ser la herramienta necesaria cuando quiero consultar una unión de modelos, sin embargo, no parecen compartir una interfaz común conModel
, aunque se puede conseguir elGraph
cabo de unModel
- Luego está
DataSet
en ARQ, que también parece ser una colección de tripletas de algún tipo.
Claro, después de echar un vistazo en la API, encontré maneras de convertir de alguna manera a otra. Sin embargo, sospecho que hay más que 3 interfaces diferentes para la misma cosa.
Entonces, la pregunta es: ¿Cuáles son las principales diferencias de diseño entre estos tres? ¿Cuándo debería usar cuál? Especialmente: cuando quiero mantener grupos individuales de triples, pero consultarlos como un gran grupo (unión), ¿cuál de estas estructuras de datos debo usar (y por qué)? Además, ¿"pierdo" algo al "convertir" de uno a otro (por ejemplo, ¿contiene model.getGraph()
menos información de alguna manera que model
)?
Eso clarificó mucho, también parece haber pasado por alto ModelFactory .createUnion() hasta ahora, gracias :) – Droggl
Un poco más sobre esta distinción: http://willware.blogspot.com/2010/02/jena-node-versus-rdfnode.html –
También vale la pena señalar que ni Triple ni Node (o Quad) son interfaces reales, sino clases. – Ruben