2017-08-18 4 views
1

GraphDBのドキュメントでは、「データセットのデフォルトグラフには、データベースのデフォルトグラフとすべてのデータベース名前付きグラフのマージが含まれています。これは、クエリ「文ex:x ex:y ex:zグラフex:g内のデータベースに存在する場合は、」ウェブインターフェースを介して、またはいずれかのトリガすることができる設定がある場合などSELECT * { ?s ?p ?o }が、私は疑問に思ってトリプルex:x ex:y ex:zデフォルトグラフのみをクエリし、名前付きグラフを除外する設定

を返すことを意味します指定したGraphDBリポジトリでこの動作を無効にするRDF4J/OpenRDF APIを使用します。つまり、私のプロジェクトの目的のために、名前付きグラフに格納されたトリプルを、その名前付きグラフを特に照会する結果にしか表示されないようにすることを好みます。

ドキュメンテーションやウェブインターフェースで利用できる設定を調べるのには何も見たことがありませんが、ここで誰かが私が知りません。

EDIT:私はこの問題のSPARQLソリューションを探していません。私はSPARQLを使って既定のグラフだけをクエリすることができますが、クエリSELECT * { ?s ?p ?o }を使用して、既定の既定のグラフにある結果のみを参照できるようにしたいと考えています。

答えて

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ベースのソリューションがあるとは思いません。

関連する問題