我正在从事研究牙齿修复程序(即填充物)成功的研究项目。我们正在从多家牙科诊所收集数据,并将所有数据汇总到 GraphDB 三重存储中。我的问题与如何使用 GraphDB 上下文以将所有数据存储在一个存储库中有关,但仍然能够在需要时单独查询每个实践。我正在使用 GraphDB 的免费版 7.0.3 版和 GraphDB 工作台。
当我在 repo 中导入数据时,它让我可以选择指定上下文。我的理解是,这本质上是整个 RDF 图的子图。正确的?但我有点不确定这与基本 URI 有何不同。在示例页面中,基本 URI 和上下文都是相同的。
我对如何设置 repo 的一般想法是给它一个基本 URI,并为每个练习数据集保持基本 URI 相同,但在加载每个练习时更改上下文。例如:
加载练习 1 数据:
基本 URI:www.example.com/dental-practices/
上下文:www.example.com/dental-practices/practice-1加载练习 2 数据:
基本 URI:www.example.com/dental-practices/
上下文:www.example.com/dental-practices/practice-2加载练习 3 数据:
基本 URI:www.example.com/dental-practices/
上下文: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 }
或者
select ?patient where { graph <practice-1> { ?patient rdf:type :Patient } }
最后,有谁知道哪里有解释如何有效使用上下文的页面/文档?