Skip to main content

Database Modules

Each database is supported by a UQAL module. Modules handle translation, schema discovery, type mapping, and native query validation.

Concept Mapping

The same UQAL concepts map to different database terms:

UQAL ConceptPostgreSQLMongoDBNeo4j
TableTable / ViewCollectionNode Label
RowRowDocumentNode
FieldColumnFieldProperty
get_tableSELECTfind()MATCH … RETURN
get_rowSELECT … LIMIT 1findOne()MATCH … LIMIT 1
get_valueSELECT field … LIMIT 1field projectionproperty LIMIT 1
insert_rowINSERT INTOinsertOne()CREATE (n:Label)
updateUPDATEupdateOne()MATCH … SET
deleteDELETEdeleteOne()MATCH … DELETE
create_viewCREATE VIEW(aggregation)Not supported
Native escapedb.sql()db.mongo()db.cypher()

Built-in Modules

ModuleDatabaseStatus
standard.postgresqlPostgreSQL 12+Stable
standard.mongodbMongoDB 5+Stable
standard.neo4jNeo4j 5+Stable

Community Modules

Community modules follow the community.* naming convention. Install them with uqal add-module. See Extension Modules for how to build one.