【问题标题】:Power (exponentiation) and other math function support in SPARQLSPARQL 中的幂(幂)和其他数学函数支持
【发布时间】:2010-11-26 22:45:53
【问题描述】:

我正在尝试编写一个 SPARQL 查询,我想在其中过滤某些东西的平方,但我根本无法弄清楚如何对数字求平方 (x2 sup>) (当然,除非将它与自身相乘)。我猜到了一个名为 math:sqrt() 的平方根函数,它可以工作,但似乎不存在像 math:pow 这样的东西。

我如何在 SPARQL 中获得某物的平方,更重要的是,我在哪里可以了解它以及其他数学函数,例如 SPARQL 中的 math:sqrt

注意:这与我之前的问题有关:Reverse wikipedia geotagging lookup

【问题讨论】:

    标签: math sparql exponentiation


    【解决方案1】:

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

    规范不支持幂函数。在任何情况下,x*x 计算平方比pow(x,2) 更有效。

    【讨论】:

    • 嗨。谢谢。其他数学函数的规范怎么样,例如平方根(math:sqrt 似乎工作正常)和三角函数 sin 和 cos?我稍微更新了问题。
    • 这些将是特定于实现的扩展,而不是核心 SPARQL 的一部分。
    • 我在哪里可以找到关于这些特定于实现的扩展的文档?
    • 好吧,从您的 SPARQL 查询引擎文档开始。我无法读懂你的想法,也不知道你用的是哪一个。
    【解决方案2】:

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

    这里仍然没有square 函数,而实现它的最快方法是使用*,所以laalto's answer 仍然有效。 SPARQL 支持的运算符在 17.3 Operator Mapping 中进行了描述,对于 XPath 算术仍然只是 +-*/ 的集合。

    【讨论】:

      猜你喜欢
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 2016-07-29
      • 2018-05-08
      • 1970-01-01
      • 2010-11-29
      • 2013-04-22
      相关资源
      最近更新 更多