SPARQL中的幂运算和其他数学函数支持

5
我正在尝试编写一个SPARQL查询,想要过滤掉某个数的平方,但我无法弄清如何对一个数字进行平方(x2)(当然可以将其乘以自身)。我猜测可能有一个名为math:sqrt()的平方根函数,它可以工作,但好像没有类似于math:pow的函数存在。
在SPARQL中如何获取某个数的平方,更重要的是,我在哪里可以阅读关于SPARQL中的这些数学函数(如math:sqrt)的信息?
注意:这与我的先前问题相关:Reverse wikipedia geotagging lookup
2个回答

3
现在已经过去了几年,SPARQL 1.1 Query Language已经发布。它包含比原始的SPARQL查询语言更多的内置函数。除了很多字符串、RDF术语等函数外,还有许多数字函数(链接标准中的章节号表示相应部分)。

这里仍然没有square函数,最快的实现方式是使用*,因此laalto的答案仍然有效。 SPARQL支持的运算符在17.3运算符映射中描述,对于XPath算术仍然只是+-*/的集合。


3

SPARQL支持一些XPath算术函数,例如+ - * /。它们在SPARQL规范中有描述。

该规范不支持幂函数。无论如何,x*x是计算平方的更有效的方式,而不是使用pow(x,2)


嗨。谢谢。其他数学函数的规范怎么样,比如平方根(math:sqrt似乎工作得很好)和三角函数sin和cos?我稍微更新了一下问题。 - Bjarke Freund-Hansen
那些是特定于实现的扩展,不是核心SPARQL的一部分。 - laalto
我在哪里可以找到关于这些特定实现扩展的文档? - Bjarke Freund-Hansen
4
好的,让我们从你的SPARQL查询引擎文档开始。我无法读到你的思维,不知道你正在使用哪一个引擎。 - laalto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接