我正在尝试编写一个 SPARQL 查询,我想在其中过滤某些东西的平方,但我根本无法弄清楚如何对一个数字(x 2)进行平方(当然,除非将它与自身相乘)。我猜想一个叫作有效的平方根函数math:sqrt()
,但math:pow
似乎不存在这样的东西。
如何在 SPARQL 中求平方,更重要的是,我在哪里可以了解它和其他数学函数(例如math:sqrt
SPARQL)?
注意:这与我之前的问题有关:Reverse wikipedia geotagging lookup。
我正在尝试编写一个 SPARQL 查询,我想在其中过滤某些东西的平方,但我根本无法弄清楚如何对一个数字(x 2)进行平方(当然,除非将它与自身相乘)。我猜想一个叫作有效的平方根函数math:sqrt()
,但math:pow
似乎不存在这样的东西。
如何在 SPARQL 中求平方,更重要的是,我在哪里可以了解它和其他数学函数(例如math:sqrt
SPARQL)?
注意:这与我之前的问题有关:Reverse wikipedia geotagging lookup。
SPARQL 支持一些 XPath 算术函数,例如+ - * /
. 它们在SPARQL 规范中进行了描述。
规范不支持幂函数。在任何情况下x*x
,计算平方的方法都比以前更有效pow(x,2)
。
现在是几年后的事了,SPARQL 1.1 查询语言已经发布。它包含比原始 SPARQL 查询语言更多的内置函数。除了字符串、RDF 术语等的大量函数外,还有许多数字函数(节号表示链接标准中的节):
这里仍然没有square
功能,最快的实现方法是 using *
,所以laalto 的答案仍然有效。SPARQL 支持的运算符在17.3 运算符映射中进行了描述,对于 XPath 算术仍然只是+
、-
、*
和的集合/
。