【发布时间】:2017-06-13 10:04:10
【问题描述】:
我想在 SPARQL 中实现一个用户定义的布尔聚合函数,我正在检查这在不同的 SPARQL 引擎中是否容易/可行。关于 Virtuoso,这可能吗?如果是这样,我在哪里可以找到有关它的更多信息?通过谷歌搜索,我发现了如何为 SQL 而不是 SPARQL:http://docs.openlinksw.com/virtuoso/aggregates/
感谢您的关注和帮助, 路易斯
【问题讨论】:
我想在 SPARQL 中实现一个用户定义的布尔聚合函数,我正在检查这在不同的 SPARQL 引擎中是否容易/可行。关于 Virtuoso,这可能吗?如果是这样,我在哪里可以找到有关它的更多信息?通过谷歌搜索,我发现了如何为 SQL 而不是 SPARQL:http://docs.openlinksw.com/virtuoso/aggregates/
感谢您的关注和帮助, 路易斯
【问题讨论】:
你已经完成了一半。
Virtuoso 允许您在 SPARQL 查询中使用 SQL 函数,包括内置 (bif:) 和用户定义 (sql:),如 discussed in the documentation:
SPARQL表达式可以在WHERE子句和结果集中包含对 Virtuoso/PL 函数和内置 SQL 函数的调用。为这些目的保留了两个命名空间前缀bif和sql。当函数名称以bif:命名空间前缀开头时,名称的其余部分将被视为 SQL BIF(内置函数)的名称。当函数名称以sql:命名空间前缀开头时,名称的其余部分被视为DBA拥有的 Virtuoso/PL 函数的名称,数据库限定符为DB,例如,sql:example(...)被转换为 @ 987654335@.
ObDisclaimer:OpenLink Software 产生 Virtuoso,并雇用了我。
【讨论】: