Можно хранить ваших людей и онтологию в отдельных репозиториях, а затем запрашивать их вместе, да. Тем не менее, это не обычный способ справиться с вещами. Гораздо более простой подход заключается в том, что вы помещаете оба набора данных в один и тот же репозиторий, но помещаете каждый в отдельный контекст или именованный график. Sesame — это quad-store, что означает, что он позволяет вам установить именованный идентификатор графа (в API Sesame это называется контекстным идентификатором) для ваших данных. Затем это можно использовать для идентификации подмножеств в вашем репозитории. Дополнительную информацию о том, как использовать контекст программно. Если вы работаете вручную через Workbench, просто убедитесь, что при загрузке файлов у вас установлен соответствующий идентификатор контекста в соответствующем поле формы (подойдет любой URI, но лучше сделать так, чтобы его было легко запомнить).
Однако, если вы настроены на использование отдельных репозиториев, есть два готовых способа запроса более чем одного репозитория.
Первый заключается в использовании предложения SPARQL SERVICE
. Представьте, что у вас есть два репозитория, один с именем Instances
, а другой с именем Ontology
. Каждый репозиторий Sesame также является конечной точкой SPARQL, поэтому можно запрашивать объединенный набор данных, выполнив, например, следующий запрос в репозитории Instances
:
SELECT ?i ?c
WHERE {
SERVICE <http://localhost:8080/openrdf-sesame/repositories/Ontology> {
?c rdfs:subClassOf :SomeClass .
}
?i a ?c .
}
Второй способ — создать объединенный репозиторий в Sesame. Федеративный репозиторий — это «виртуальная» база данных, состоящая из нескольких репозиториев-участников. Вы можете запросить объединенный репозиторий, как и любой другой репозиторий, и под капотом он распределит ваш запрос по хранилищам-членам и интегрирует результаты. Подробнее о том, как настроить это вручную, см. в пользовательской документации Sesame. через Workbench или программно.
person
Jeen Broekstra
schedule
22.06.2015