問題タブ [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 - 連携クエリでの VALUES の適切な使用
注: GrapbDB のバグの可能性 (コメントを参照)
GraphDB に次のナレッジ ベースがあります。
この連合クエリを試しました
ウィキデータ (つまり、Musashi's の Marble メンバー) から期待どおりの結果が得られました。
次のようにパターンの順序を切り替えると:
多くの偽陽性の結果が得られます (つまり、マーブルだけを取得したいのに、ムサシに属する他の猫のデータです。ローカル パターンとリモート パターンの間のクロス積のようなものだと思います)。
SPARQL 1.1の公式ドキュメントでは、次のように述べています。
フェデレーテッド クエリは、VALUES 句を使用して、クエリの他の部分の評価からのソリューション バインディングに基づいて、リモート エンドポイントから受信した結果を制限する場合があります。
(抜粋は有益です。これを指摘してくれた@TallTedに感謝します)
では、フェデレーションの場合VALUES
、ファイナル フィルターとしてのみ使用できますか? 何が起こっている?
編集:
- クエリは GraphDB で実行されます
- GraphDB クエリ オプティマイザーのバグのようです (Thanks to: Stanislav Kralin)