Math SPARQL查询中的对数函数

Math SPARQL查询中的对数函数,math,sparql,jena,logarithm,Math,Sparql,Jena,Logarithm,我试图创建一个SPARQL查询,对返回的结果执行对数函数。我已经在java程序中实现了Jena SPARQL引擎,但只能找到以下可用函数: 有人知道一种方法来获取SPARQL返回变量的对数(最好是自然对数)吗 有效的查询示例: 选择DISTINCT((?Transactions_Num)作为?BusinessValue) 其中{?业务流程关系:事务数?事务数;} 我希望使用的查询示例(尽管目前没有): 选择DISTINCT(LOG(?Transactions_Num)作为业务值) 其中{?业务

我试图创建一个
SPARQL
查询,对返回的结果执行对数函数。我已经在java程序中实现了Jena SPARQL引擎,但只能找到以下可用函数:

有人知道一种方法来获取
SPARQL
返回变量的对数(最好是自然对数)吗

有效的查询示例:

选择DISTINCT((?Transactions_Num)作为?BusinessValue)
其中{?业务流程关系:事务数?事务数;}
我希望使用的查询示例(尽管目前没有):

选择DISTINCT(LOG(?Transactions_Num)作为业务值)
其中{?业务流程关系:事务数?事务数;}

非常感谢您事先的帮助

日志不是标准的一部分,但是它是

最简单的注册方法如下:

FunctionRegistry.get().put("http://example.org/function#log", log.class) ;
PREFIX myfun: <http://example.org/function#>
SELECT DISTINCT (myfun:log(?Transactions_Num) AS ?BusinessValue)
{
   ...
}
然后您可以这样使用它:

FunctionRegistry.get().put("http://example.org/function#log", log.class) ;
PREFIX myfun: <http://example.org/function#>
SELECT DISTINCT (myfun:log(?Transactions_Num) AS ?BusinessValue)
{
   ...
}
前缀myfun:
选择DISTINCT(myfun:log(?Transactions_Num)作为?BusinessValue)
{
...
}

非常感谢您的帮助!不过,请稍作澄清。这个类是添加到jena core jar中还是添加到我的java项目中?我在java项目中创建了它,但该类不能转换为FunctionFactory。是否应该将其添加到jar?添加了一个关于从代码注册的快速解释。我相信应该是这样的。非常感谢你的帮助。这真是太棒了,不需要对罐子本身进行任何操作!我现在正尝试对SesameAPI进行同样的操作,以便与OpenRDF的BigdataEngine一起使用。我唯一能在帮助下找到的网站是,但我似乎无法让它正常工作。我可能应该提出一个新问题,但我想知道你是否有什么见解。