私はセマンティックWebテクノロジーの初心者です。私の質問は非常に基本的なものかもしれませんが、それを理解するのに本当に行き詰まっています。XMLから作成したRDFファイルがあり、w3.orgRDFVALIDATORを使用して検証しました。私の質問は、SPARQLを使用してRDFドキュメントに対してクエリを実行するにはどうすればよいかということです。オンラインリソースhttp://demo.openlinksw.com/sparqlが機能せず、これに関する情報を見つける方法や方法がわかりません。
2 に答える
Fusekiを使用して独自のローカルSPARQLエンドポイントを設定できます。布石はApacheJenaプロジェクトの一部ですが、スタンドアロンアプリケーションとしてダウンロードできます(上記のリンクから)。
布石を使えば(とりわけ)
- ローカルRDFデータセットをロードする
- そのデータセットを使用して
- このデータをSPARQLエンドポイント
http://localhost:3030/
として(デフォルトで)公開します - でWebベースのクエリフォームを使用する
http://localhost:3030/sparql.html
- このデータをSPARQLエンドポイント
つまり、Fusekiを使用して、Webベースのフォームを使用してデータセットをクエリするか、http経由でSPARQLエンドポイントをクエリするアプリケーションを使用してデータセットをクエリすることができます。
個人的には、現在、SPARQLエンドポイントを介してデータセットを分析するアプリケーションを開発しています。Fusekiを使用して、アプリケーションを実行およびテストできるサンプルデータを使用してローカルSPARQLエンドポイントをセットアップします。
どのように?
布石の基本的な機能はかなり使いやすいです。以下の行は、サーバー(SPARQLエンドポイント)を起動します。
java -jar fuseki-server.jar --config=yourConfig.ttl
このファイルyourConfig.ttl
はRDFファイル(タートルシリアル化形式)です。RDFファイルをメモリにロードする基本的なサーバーをセットアップするには、次のように記述します(少なくともデータセットファイルへのパスを置き換えます)。
# Attention: I have omitted the @prefix declarations
[] rdf:type fuseki:Server ;
fuseki:services (
<#yourService>
) .
<#yourService> rdf:type fuseki:Service ;
fuseki:name "yourService" ;
fuseki:serviceQuery "query" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:dataset <#yourDataset> ;
.
<#yourDataset> rdf:type ja:RDFDataset ;
rdfs:label "a label for your dataset" ;
ja:defaultGraph
[ rdfs:label "yourDataset.rdf" ;
a ja:MemoryModel ;
ja:content [ja:externalContent <file:Path/To/yourDataset.rdf> ] ;
] ;
.
これを行うために使用できるツールがいくつかあります。もちろん、ApacheJenaやOpenRDFSesame(Java)、dotNetRdf(.Net)などのRDFフレームワークが3つだけ挙げられます。すべてではないにしても、ほとんどの場合、インストールと開始手順が提供されます。これらは強力なソリューションであり、SWテクノロジーをさらに発展させ、RDFデータソースの上に独自のコードを構築する必要がある場合に必ず必要になります。
しかし、いくつかの単純なクエリを試す場合は、Sesame Windows Client(SWC)ツールのようなものを試す方がおそらく簡単です。これは、プログラミングや高度な構成なしで、リポジトリを作成し、そこにデータをロードして、SPARQLクエリを実行するために使用できるシンプルなグラフィカルWindowsデスクトップアプリケーションです(免責事項:私はこのツールを作成しました)。