SPARQLでのべき乗(べき乗)およびその他の数学関数のサポート
-
05-07-2019 - |
質問
私は、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)
が行うよりも効率的に平方を計算する方法です。
所属していません StackOverflow