質問

私は、SPARQLクエリを作成して、ある平方のフィルターをかけようとしていますが、数を平方する方法がわかりません( x 2 )(もちろん、それ自体と乗算することを除く)。 math:sqrt()と呼ばれる平方根関数が機能すると推測しましたが、 math:pow のようなものは存在しないようです。

SPARQLで何かの平方を取得するにはどうすればよいですか。さらに重要なことは、SPARQLの math:sqrt などの他の数学関数についてどこで読むことができますか?

注:これは、以前の質問ウィキペディアの逆ジオタグ検索に関連しています。

役に立ちましたか?

解決

数年後、 SPARQL 1.1クエリ言語は公開されました。元のSPARQLクエリ言語よりも多くの組み込み関数が含まれています。文字列、RDF用語、& cに関する多くの関数に加えて、いくつかの数値関数があります(セクション番号はリンクされた標準のセクションを示します):

  

ここにはまだ square 関数がなく、それを実装する最も簡単な方法は * を使用するため、 laaltoの答えはまだ有効です。 SPARQLがサポートする演算子は、 17.3演算子マッピングおよびXPath算術は、まだ + - * 、および / のセットです。

他のヒント

SPARQLは、 +-* / などのXPath算術関数をサポートしています。これらは、 SPARQL仕様で説明されています。

べき乗関数は仕様でサポートされていません。いずれにせよ、 x * x pow(x、2)が行うよりも効率的に平方を計算する方法です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top