w3c / sparql-dev

SPARQL dev Community Group
https://w3c.github.io/sparql-dev/
Other
123 stars 19 forks source link

learn from SQL standards (temporary tables, views, materialized views, etc.) #94

Open TallTed opened 5 years ago

TallTed commented 5 years ago

Why?

Much time has been spent in prior SPARQL WGs trying to reinvent wheels from zero, and thereby omitting key spokes (e.g., basic aggregates) and other significant elements (e.g., views) of those wheels -- rather than learning from and building on prior DBMS art, particularly including the 30+ year development of SQL standards and related client APIs (SQL-CLI, ODBC, JDBC, etc.).

I'm concerned that this pattern may be continuing.

TEMPORARY TABLEs, SELECT FROM SELECT with and without ALIAS, and VIEWs are closely related examples of such SQL features, now being discussed in issues #44 (named solution sets), #33 (CONSTRUCT in FROM, possibly with AS graph), #41 (named queries), #57 (parameterized queries). There are undoubtedly others.

Previous work

SQL-x is everywhere.

Virtuoso has long blended SQL features with SPARQL, both by allowing SPARQL-within-SQL ("SPASQL") and by allowing SQL Stored Procedures (which may have inline SPARQL) to be called from SPARQL through the internally predefined prefix, sql: (neighbor to bif: for Built-In Function).

Proposed solution

I would strongly suggest working to enlist SQL experts who have played a part in development of those specifications to assist in these efforts.

Considerations for backward compatibility

namedgraph commented 5 years ago

Hopefully the SPARQL spec does not become a multi-hundred-page PDF monster by incorporating all this.