rangeSafe SPARQL クエリヒント - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

rangeSafe SPARQL クエリヒント

SPARQL クエリのタイププロモーションをオフにするには、このクエリヒントを使用します。

数値または範囲を越える FILTER を含む SPARQL クエリを送信する場合、Neptune クエリエンジンは通常、クエリの実行時に型の上位変換を使用する必要があります。つまり、フィルタリングする値を保持できるすべてのタイプの値を調べる必要があります。

たとえば、55 に等しい値をフィルタリングする場合、エンジンは 55 に等しい整数、55L に等しい長整数、55.0 に等しい浮動小数点数などを探す必要があります。各型の上位変換では、ストレージに対する追加のルックアップが必要なため、単純なクエリの完了に予期せず長い時間がかかることがあります。

多くの場合、特定のタイプの値を見つけるだけで済むことが事前にわかっているため、型の上位変換は不要です。この場合、クエリを劇的に高速化するには、型の上位変換をオフにする rangeSafe クエリヒントを使います。

rangeSafe SPARQL ヒント構文

rangeSafe クエリヒントは、タイププロモーションをオフにする true の値を取ります。また、false (デフォルト) の値も受け入れます。

例。次の例は、1 より大きい o の整数値のフィルタリング時にタイプ昇格をオフにする方法を示しています。

PREFIX hint: <http://aws.amazon.com/neptune/vocab/v01/QueryHints#> SELECT * { ?s ?p ?o . hint:Prior hint:rangeSafe 'true' . FILTER (?o > '1'^^<http://www.w3.org/2001/XMLSchema#int>)