我正在尝试编写一个 SPARQL 查询,我想在其中过滤某些东西的平方,但我根本无法弄清楚如何计算一个数字的平方(X2)(当然,除了与自身相乘之外)。我猜有一个平方根函数叫做 math:sqrt() 这有效,但没有什么像 math:pow 似乎存在。

如何在 SPARQL 中获取某个值的平方,更重要的是,我在哪里可以阅读有关它和其他数学函数的信息,例如 math:sqrt 在 SPARQL 中?

笔记:这与我之前的问题有关: 反向维基百科地理标记查找 .

有帮助吗?

解决方案

现在已经是几年后的事了 SPARQL 1.1 查询语言 已发布。它包含比原始 SPARQL 查询语言更多的内置函数。除了许多关于字符串、RDF 术语等的函数之外,还有许多数字函数(章节号表示链接标准中的章节):

还是没有 square 函数在这里,以及实现该函数的最快方法将使用 *, , 所以 拉阿尔托的回答 仍然矗立。SPARQL 支持的运算符在 17.3 操作符映射, ,对于 XPath 算术仍然只是一组 +, -, *, , 和 /.

其他提示

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

规范不支持电源功能。无论如何, x * x 是比 pow(x,2)更有效的计算方块的方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top