Я работаю над исследовательским проектом, в котором изучаю успешность процедур восстановления зубов (например, пломбирования). Мы собираем данные из ряда стоматологических клиник, и мы собираемся агрегировать все данные в хранилище троек GraphDB. Мой вопрос связан с тем, как использовать контексты GraphDB, чтобы хранить все данные в одном репо, но при этом иметь возможность запрашивать каждую практику индивидуально, когда это необходимо. Я использую бесплатную версию GraphDB версии 7.0.3 и рабочую среду GraphDB.
Когда я импортирую данные в репо, это дает мне возможность указать контекст. Насколько я понимаю, это, по сути, подграф всего графа RDF. Верно? Но я немного не уверен, чем он отличается от базового URI. На странице примера базовый URI и контекст одинаковы.
Моя общая мысль о том, как настроить репо, - это дать ему базовый URI и сохранить базовый URI одинаковым для каждого набора данных практики, но изменить контекст при загрузке каждой практики. Например:
Чтобы загрузить данные практики 1:
базовый URI: www.example.com/dental-practices/
context: www.example.com/dental-practices/practice-1Чтобы загрузить данные практики 2:
базовый URI: www.example.com/dental-practices/
context: www.example.com/dental-practices/practice-2Чтобы загрузить данные практики 3:
базовый URI: www.example.com/dental-practices/
context: www.example.com/dental-practices/practice-3
... и так далее ...
Чтобы запросить совокупность всех данных (я полагаю), я бы использовал запрос SPARQL, который не указывает график. Например, чтобы найти всех пациентов:
select ?patient where { ?patient rdf:type :Patient }
Но как мне задать вопрос о конкретной практике? Могу ли я указать график или использовать клавиши «от». Например:
select ?patient from <practice-1> where { ?patient rdf:type :Patient }
or
select ?patient where { graph <practice-1> { ?patient rdf:type :Patient } }
Наконец, кто-нибудь знает, где есть страница / документация, объясняющая, как эффективно использовать контекст?