0

我按照https://graphdb.ontotext.com/documentation/9.4/free/shacl-validation.html上的说明进行操作,并按文档说明工作。但是,一旦完成,我发现无法检查为我的存储库配置的形状图。

特殊图表<http://rdf4j.org/schema/rdf4j#SHACLShapeGraph>无处可寻;它不会出现在“图表概览”屏幕中,无法通过 SPARQL 查询访问。

4

1 回答 1

3

目前无法在 GraphDB 中使用 SPARQL 查询形状图,因为它不是数据的一部分。检查图的一种方法是使用 RDF4J 客户端连接到 GraphDB 存储库。您可以使用以下代码片段在形状图中找到所有语句:

HTTPRepository repository = new HTTPRepository("http://address:port/", "repositoryname");
try (RepositoryConnection connection = repository.getConnection()) {
Model statementsCollector = new LinkedHashModel(connection.getStatements(null, null, null, RDF4J.SHACL_SHAPE_GRAPH)
        .stream()
        .collect(Collectors.toList()));
}

有关访问和更新 Shacl 形状图的更多信息,您还可以在此处查看https://rdf4j.org/documentation/programming/shacl/

于 2020-11-19T11:38:47.700 回答