我正在尝试创建一个对返回结果执行对数函数的SPARQL查询。我已经在java程序中实现了Jena SPARQL引擎,但只能找到以下可用函数:http://jena.sourceforge.net/ARQ/library-function.html
有没有人知道取SPARQL返回变量的对数(最好是自然对数)的方法?
有效的查询示例:
SELECT DISTINCT ((?Transactions_Num) AS ?BusinessValue)
WHERE {{?BusinessProcess relation:Transactions_Num ?Transactions_Num ;} }我想要工作的查询示例(尽管目前还不能):
SELECT DISTINCT (LOG(?Transactions_Num) AS ?BusinessValue)
WHERE {{?BusinessProcess relation:Transactions_Num ?Transactions_Num ;} }非常感谢您提前给予的帮助!
发布于 2013-04-29 23:05:41
very easy to write your own不是标准或ARQ's additions的一部分,但它是日志。
package app;
public class log extends FunctionBase1
{
public log() { super() ; }
public NodeValue exec(NodeValue v)
{
return Math.log(v.getDouble());
}
}注册它的最简单方法如下:
FunctionRegistry.get().put("http://example.org/function#log", log.class) ;然后您可以像这样使用它:
PREFIX myfun: <http://example.org/function#>
SELECT DISTINCT (myfun:log(?Transactions_Num) AS ?BusinessValue)
{
...
}https://stackoverflow.com/questions/16280758
复制相似问题