I seemed to encounter a number of quirks setting up a vkg layered on Starburst/Trino.
It looks like I finally got it to work, but I figured I'd note what I ended up doing.
- Starburst seems to be case-sensitive with respect to identifiers .. so I had to enclose every identifier in "quotes". Based on the error messages that I was getting w/o quoting identifiers, I got the impression that Stardog might be coercing"unquoted" SQL expressions to upper-case.
- The JDBC connection urls in Stardog absolutely require a catalog For example,
trino://starburst.some_server.some_company.com:443/some_catalogworks .. but
trino://starburst.some_server.some_company.com:443does not). The restriction makes a certain amount of sense for Virtual Knowledge Graphs if we assume that individual databases within a server tend to encapsulate distinct "domains" .
- Because data sources apparently need to be bound catalog by catalog, the catalog name must be omitted from the SELECT statements. So a query like:
SELECT "id", "some_column", "some_other_column" FROM "some_catalog"."some_schema"."some_table"
, with its superfluous
"some_catalog".fragment (copied straight out of the Starburst UI) had to be re-written as:
SELECT "id", "some_column", "some_other_column" FROM "some_schema"."some_table".
Hardly a shock but it was something that had to be discovered, since the queries copied from the Starburst UI were my starting point for the FROM SQL statements.
In any case, figuring out what worked and what didn't was simple enough in the end .. but it took a little while to work through the possibility tree, so I figured I'd share ..