In Weaviate
Your agent recalls by hybrid search — BM25 keyword fused with vector similarity over text.
Comparison
Pick Weaviate if your agent recalls by hybrid search — BM25 keyword fused with vector similarity — at enterprise scale with multi-tenancy, replication, and RBAC. Pick nlqdb if your agent must aggregate what it stored: GROUP BY, JOIN, and HAVING over typed rows it provisions in plain English. Weaviate ranks the relevant; nlqdb counts, groups, and reports.
The same goal, two ways.
> calls per tool category this week, only categories above 20 calls
In Weaviate
Your agent recalls by hybrid search — BM25 keyword fused with vector similarity over text.
In your HTML
<nlq-data goal="calls per tool category this week, only categories above 20 calls"></nlq-data> The HAVING-filtered aggregation Weaviate's hybrid search can't run — it ranks the most relevant objects, not a GROUP BY / COUNT with a threshold; nlqdb answers it as SQL over the agent's own memory.
What's different
| Dimension | nlqdb | Weaviate | Note |
|---|---|---|---|
| Owns the database (provisions + migrates) | |||
| Natural-language → SQL | Weaviate takes a vector, a BM25 query, or a hybrid blend plus a metadata filter; it has no English-to-SQL compiler. | ||
| Aggregations + reporting queries (GROUP BY / JOIN / HAVING over memory) | Weaviate returns ranked nearest objects; it ships no SQL engine, no joins, and no transactions across collections. | ||
| Vector / semantic similarity search over memory | Nearest-neighbour over embeddings is core to Weaviate; nlqdb stores typed rows and ships no embedding search today. |
| Dimension | nlqdb | Weaviate | Note |
|---|---|---|---|
| Hybrid search (BM25 keyword + vector) over stored documents | First-class fused BM25 + dense ranking is Weaviate's headline; nlqdb matches text with SQL LIKE / pattern predicates, not a fused-rank index. | ||
| Filtering on retrieval | nlqdb filters with exact SQL WHERE over typed columns; Weaviate filters by metadata around the hybrid / nearest-neighbour search. | ||
| Auto-migration via NL ('add a `priority` field') | |||
| MCP server (agent-callable) | Weaviate's `mcp-server-weaviate` inserts objects and runs hybrid search; nlqdb's `nlqdb_query` materialises Postgres on first reference and runs aggregating SQL. | ||
| Open source / self-hostable | Weaviate is BSD-3 and self-hosts full-featured; nlqdb is source-available on FSL 1.1-ALv2, auto-converting to Apache 2.0 after two years. |
shipped · partial · not shipped
No sign-in. The anonymous database lasts 72 hours; adopt it with one click if you keep it.
Start with a goal →The error has been recorded. Reload to recover; if it persists, sign out and back in.