2009-09-09 60 views
5

我正在嘗試編寫一個SPARQL查詢,我想過濾某個東西的平方,但我根本無法弄清楚如何對一個數字進行平方(x )(當然,除了自己乘以它自己)。我猜想一個叫做math:sqrt()的平方根函數可以工作,但似乎並沒有像math:pow那樣存在。SPARQL中的電源(指數運算)和其他數學函數支持

如何獲得SPARQL中的某些東西的平方,更重要的是,我可以在哪裏讀取它以及SPARQL中的其他數學函數(如math:sqrt)?

注意:這與我以前的問題有關:Reverse wikipedia geotagging lookup

回答

2

現在幾年後,SPARQL 1.1 Query Language已經發布。它包含比原始SPARQL查詢語言更多的內置函數。除了大量的對字符串,RDF術語,& C,有許多的數值函數的功能(該部分的數字表示在鏈接的標準部分):

還是有沒有square功能在這裏,並實現將使用*最快捷的方式,所以laalto's answer仍然有效。 SPARQL支持的運算符在17.3 Operator Mapping中描述,XPath算術仍然只是+,-,*/的集合。

+0

感謝您的更新:) – 2013-09-23 11:21:36

3

SPARQL支持一些XPath算術函數,如+ - * /。它們在SPARQL spec中描述。

規範不支持電源功能。在任何情況下,x*x是比pow(x,2)更有效的計算方塊的方法。

+0

嗨。謝謝。其他數學函數的規格怎麼樣,比如平方根(數學:sqrt似乎工作正常)以及三角函數sin和cos?我稍微更新了這個問題。 – 2009-09-10 11:25:55

+0

這些將是特定於實現的擴展,而不是核心SPARQL的一部分。 – laalto 2009-09-11 08:46:14

+0

我在哪裏可以找到有關這些實現特定擴展的文檔? – 2009-09-12 08:48:00