如何避免与 Apache Superset 中 OpenLink Virtuoso SQL 语法不一致

问题描述 投票:0回答:1

在 Apache Superset 中,如果使用 OpenLink Virtuoso 数据库(ODBC 驱动程序 + Alchemy 方言),则any SQL 查询将显示以下错误:

这是因为 Apache Superset 会自动向 SQL Lab 中的任何 SQL 语句添加

LIMIT
子句,但 Virtuoso SQL 不支持 SQL 语句中的
LIMIT
子句。 (Virtuoso 使用
TOP
。)

例如SQL Lab中这样的初始SQL语句

SELECT TOP 3 count(*) FROM DBA.VALUE_FACT 

由 Virtuoso ODBC 驱动程序接收,如下所示:

SQL = [SELECT TOP 3 count(*) FROM DBA.VALUE_FACT
LIMIT 101][length = 51]

有没有办法通过 Superset 中的配置更改来解决该问题?

您可能会好奇 SPARQL 查询(以关键字

SPARQL
开头)在 SQL Lab 中运行得相当好。

apache-superset virtuoso
1个回答
0
投票

还有其他人想要禁用 Superset

 中的 
LIMIT 子句。目前看来还不可能(但请将您的名字添加到列表中!)。

我建议您还请求 Virtuoso 在其 SQL 方言中添加对

LIMIT
/
OFFSET
的支持,因为它已经在 SPARQL 中支持
LIMIT
/
OFFSET
...这可以解释为什么 SPASQL (SPARQL -in-SQL)查询在 Superset 中工作。

© www.soinside.com 2019 - 2024. All rights reserved.