首页 文章

设置为仅查询默认图表并排除命名图表

提问于
浏览
2

在GraphDB文档中,我看到"the dataset’s default graph contains the merge of the database’s default graph AND all the database named graphs."这意味着“如果图表 ex:g 中的数据库中存在 ex:x ex:y ex:z 语句”,则 SELECT * { ?s ?p ?o } 之类的查询将返回三元组 ex:x ex:y ex:z

我想知道是否有一个设置可以通过Web界面或RDF4J / OpenRDF API触发,这将在指定的GraphDB存储库中禁用此行为 . 也就是说,出于我的项目的目的,我更希望存储在命名图中的三元组仅出现在专门查询该命名图的结果中 .

我没有看到这样的搜索文档或网页界面上的设置,但也许有人在这里知道我不知道的事情 .

编辑:我不是在寻找这个问题的SPARQL解决方案 . 我知道我可以使用SPARQL查询默认图,但我希望能够使用查询 SELECT * { ?s ?p ?o } 并且只能看到默认情况下默认图中的结果 .

1 回答

  • 2

    GraphDB / RDF4J与Jena how to query the default graph有不同的解释 . 查询默认图中仅显式语句的唯一简便方法是使用特殊图 sesame:nil . 基于SPARQL的解决方案是:

    PREFIX sesame: <http://www.openrdf.org/schema/sesame#>
    SELECT ?s ?p ?o
    FROM sesame:nil
    WHERE {
       ?s ?p ?o .
    } LIMIT 100
    

    我认为没有任何简单的非基于SPARQL的解决方案,例如更改配置选项,甚至不使用SPARQL Graph Store协议上的这个特殊图形 .

相关问题