Я начинаю работать с Jena Engine, и я думаю, что я понял, что такое семантика. Однако я с трудом понимаю различные способы представления кучки троек в Jena и ARQ:
- Первое, на что вы натыкаетесь при запуске, -
Model
, а в документации указано имя Jenas для графиков RDF. - Однако существует также
Graph
, который, казалось, был необходимым инструментом, когда я хочу запросить объединение моделей, однако, похоже, он не имеет общего интерфейса сModel
, хотя можно получитьGraph
изModel
- Тогда в ARQ есть
DataSet
, который также представляет собой набор троек некоторого рода.
Конечно, афер, оглядывающийся в API, нашел способы как-то конвертировать из одного в другой. Однако я подозреваю, что для него есть более чем 3 разных интерфейса.
Итак, вопрос в том, каковы ключевые отличия в дизайне этих трех? Когда следует использовать какой? Особенно: когда я хочу держать отдельные пучки троек, но запрашиваю их как одну большую группу (объединение), какую из этих структур данных я должен использовать (и почему)?
Кроме того, я "теряю" что-либо, когда "конвертирует" из одного в другое (например, model.getGraph()
содержит меньше информации каким-то образом, чем Model
)?