問題タブ [federated-queries]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sparql - 名前付きグラフと連合 SPARQL エンドポイント
私は最近、 SPARQL 1.1 フェデレーション拡張機能のワーキング ドラフトに出くわし、名前付きグラフを使用してこれが既に可能であるかどうか疑問に思いました (前述のドラフトの有用性を損なうものではありません)。
Named Graphs についての私の理解は少しぼんやりしていますが、仕様を読んでわかった唯一のことは、クエリ時の他のグラフとの関連での合併、非合併に関する規則であるということだけです。これは私の理解を完全に満足させるものではないので、私の質問は次のとおりです。
次のクエリがあるとします。
クエリ プロセッサ/エンドポイントが、名前付きグラフのコンテキストで次のことを行うことができる、または行うべきであると想定するのは合理的ですか。
名前付きグラフがローカルに存在することを確認します
その後、次の操作を実行しない場合 (上記のクエリの場合、2 番目の名前付きグラフを使用します)
GET /sparql/?query=EncodedQuery HTTP/1.1 ホスト: www.autotrader.co.uk ユーザーエージェント: my-sparql-client/0.1
EncodedQuery が節に 2 番目の名前付きグラフのみを含み、FROM NAMED
節WHERE
に応じて節が修正されるGRAPH
場合 (たとえば、 aGRAPH <http://www.vw.co.uk/models/used> {...}
が使用されている場合)。
上記を実行できない場合のみ、次のいずれかを実行します。
また
- 適切な検索結果を返します。
OFFSET
明らかにとLIMIT
の周りにいくつかの追加の考慮事項があるかもしれません
また、はるか昔、はるかかなたの銀河系で、SPARQL エンドポイントのデフォルト グラフは、次の規則に従って名前付きグラフにする必要があることを読んだことを覚えています。
For: http://www.vw.co.uk/sparql/には、デフォルトのグラフを表す http://www.vw.co.uk の名前付きグラフが存在する必要があるため、上記のロジックにより、すでに名前付きグラフを使用して SPARQL エンドポイントをフェデレーションできます。
私が尋ねる理由は、上記の例のドメイン間でフェデレーションの促進を開始したいからです。標準を待つ必要はありません。将来。
database - Fuseki を使用して異なる SPARQL エンドポイントを連携させる
私は、重複する情報を含む多くの異なるリレーショナル データストアを持つ大規模な組織で働いています。すべてのデータを一度に統合クエリするためのソリューションを探しています。この目的のために、セマンティック Web 技術の使用を検討しています。具体的には、次のことを計画しています。
- 統一されたオントロジーを作成する
- 各データベースをこのオントロジーにマップします
- データベースごとに SPARQL エンドポイントを作成する
- フェデレーション エンジンを使用して、それらを 1 つのエンドポイントに統合します。
私は現在、この計画の最終段階に適したツールを探しています。伏石が本件に適任と聞いていますが、関連する資料を見つけることができませんでした。
Fuseki がこのタスクに適しているかどうかについてご意見をお聞かせください。
前もって感謝します!
オーレン
stardog - 変数サービスを使用した Startdog Federated Query
私の Stardog データベースには、SPARQL エンドポイントのサービス記述が含まれています。https://www.w3.org/TR/2013/REC-sparql11-federated-query-20130321/#valuesで説明されているように、特定のサービスを選択してクエリで呼び出そうとしています
残念ながら、Stardog は例外をスローし、変数が URI ではないことを伝えます。
IRIコンストラクターを使用してBINDステートメントで「?service」変数をキャストし、バインドされた変数を使用しても役に立ちません。Stardog に連合クエリを実行させるために、変数が IRI であることを確認する方法は?