dotNetRDFで SPARQL エンドポイントを設定する構成ファイルを指定しようとしています。アプリケーションに統合する前に、構成ファイルをロードして rdfServer GUI ツールでローカル サーバーを実行し、Store Managerツールからそのサーバーへのアクセスを試みることで、構成ファイルをテストしています。問題に関連している)。
SPARQL ハンドラーをセットアップするための最小限の構成コードを使用して、マニュアルに従っています。
@prefix dnr: <http://www.dotnetrdf.org/configuration#> .
<dotnetrdf:/sparql> a dnr:HttpHandler ;
dnr:type "VDS.RDF.Web.QueryHandler" ;
dnr:queryProcessor _:proc .
_:proc a dnr:SparqlQueryProcessor ;
dnr:type "VDS.RDF.Query.LeviathanQueryProcessor" ;
dnr:usingStore _:store .
_:store a dnr:TripleStore ;
dnr:type "VDS.RDF.TripleStore" .
ドキュメントには次のように記載されています。
/sparql
これは、SPARQL クエリ エンドポイントを提供することによってURI の要求に応答するハンドラーの構成を指定します。
この構成をロードして、 で実行しlocalhost:1987
ます。SELECT * WHERE { ?a ?b ?c . } LIMIT 10
ただし、説明のように単純なクエリ ( ) をデフォルト グラフなしで送信してアクセスしようとするとhttp://localhost:1987/sparql
、サーバーからのログ出力には必ず次のコメントが含まれます。
エラー この要求を処理できるハンドラが登録されていません
また、それぞれのマニュアルページからグラフを定義する方法に関する情報を考慮して、ローカルファイルからグラフをロードすることにより、提供された例の上に構築しようとしました(テストのために、ピザオントロジーをロードすることにより、構成ファイルと同じディレクトリに配置したファイル):
@prefix dnr: <http://www.dotnetrdf.org/configuration#> .
<dotnetrdf:/graph> a dnr:HttpHandler ;
dnr:type "VDS.RDF.Web.QueryHandler" ;
dnr:queryProcessor _:proc .
_:proc a dnr:SparqlQueryProcessor ;
dnr:type "VDS.RDF.Query.LeviathanQueryProcessor" ;
dnr:usingStore _:store .
_:store a dnr:TripleStore ;
dnr:type "VDS.RDF.TripleStore" ;
dnr:usingGraph <http://example.org/graph> .
<http://example.org/graph> a dnr:Graph ;
dnr:type "VDS.RDF.Graph" ;
dnr:fromFile "pizza.owl" .
前述の単純なクエリを送信する次のバリエーションを試しました。
http://localhost:1987/graph
(構成のビットに基づいて論理的な選択のように思われたため<dotnetrdf:/graph>
)http://localhost:1987/graph/sparql
(sparql
構成された URL の後にサフィックスが自動的に追加される場合)http://localhost:1987/sparql
(sparql
サフィックスが何らかの理由でグラフ固有の URL を実際に置き換える場合)
デフォルトのグラフなしで、これらすべてをデフォルトのグラフとして試しhttp://example.org/graph
ました。
2) と 3) については、上記と同じ結果が得られました。
エラー この要求を処理できるハンドラが登録されていません
一方、1)の場合、サーバーは次のように述べています。
エラー ハンドラ VDS.RDF.Utilities.Server.SparqlServerHandler からの予期しないエラー
1)が別のメッセージを生成するという事実は、どういうわけか、そこの URL の正しい軌道に乗っているように見えますが、構成ファイルを適切に設定する方法についてのヒントはまだ提供していません。
ローカル ファイルからロードされたグラフの単純な SPARQL エンドポイントを構成するにはどうすればよいですか?
最小構成の例のようなものはどこかにありますか?