查詢與 Driver 引擎

ObjectQL

ObjectStack 內部的基礎設施查詢引擎

ObjectQL 是 ObjectStack 使用的內部查詢引擎與 Driver 契約。它幫助 ObjectStack 應用讀取和搜尋異構資料來源,同時由 ObjectOS 執行身份、許可權、審計和 AI 工具邊界。它是開發平臺和執行平臺的基礎設施,不是產品中心。

ObjectQL 做什麼

面向 ObjectStack 應用和 ObjectOS 執行時執行的可移植資料訪問。

統一查詢形態

過濾、排序、分頁、關聯展開、聚合和投影都表達為結構化查詢後設資料,而不是分散在各個路由裡的 SQL 字串。

Driver 契約

Driver 把 ObjectQL 操作翻譯為原生 SQL、MongoDB pipeline、電子表格讀取、SaaS API 呼叫或企業專有協議,同時保持物件契約穩定。

許可權感知執行

ObjectOS 在每個 ObjectQL 支撐的操作周圍執行租戶隔離、行級規則、欄位脫敏、審計和 AI 身份。

AI 工具可讀

結構化查詢讓 REST API、ObjectUI 檢視、SDK 與 MCP 工具可以暴露安全資料訪問,而不是把原始 SQL 交給 AI。

查詢層

ObjectQL 留在基礎設施層

它描述資料訪問意圖,由 Driver 翻譯到原生系統,再由 ObjectOS 包住許可權與審計。

01 请求

视图、API、SDK 或 MCP 工具发起结构化查询

02 查询契约

ObjectQL 表达过滤、分页、关联与投影

03 Driver

翻译到 SQL、文档库、电子表格或 SaaS API

04 治理

ObjectOS 执行租户、字段、行级权限与审计

從可移植查詢到原生執行

ObjectQL 描述意圖;每個 Driver 用資料來源自己的語言執行。

ObjectQL 查詢

await objectql.find('customer', {
  where: {
    industry: { eq: 'manufacturing' },
    annualRevenue: { gte: 10000000 }
  },
  sort: [{ field: 'updatedAt', direction: 'desc' }],
  expand: ['accountManager'],
  limit: 50
});

Driver 執行

// PostgreSQL driver
SELECT * FROM customers
WHERE industry = $1 AND annual_revenue >= $2
ORDER BY updated_at DESC
LIMIT 50;

// MongoDB driver
db.customers.aggregate([...]);

// Excel driver
讀取 workbook 行,應用過濾,返回 typed records

ObjectQL 放在哪裡

當 ObjectStack 應用需要跨資料來源的可移植、受治理資料訪問時使用 ObjectQL。

企業異構資料聯邦

把 Postgres、MongoDB、Excel 與遺留系統掛載到同一個查詢契約背後,讓應用通過一致物件後設資料讀取。

自定義 Driver 開發

為專有資料庫、SaaS API、主機系統或檔案格式實現 Driver,讓 ObjectStack 以受治理物件方式暴露它。

AI 資料訪問邊界

向 Agent 暴露許可權感知的列表、搜尋、聚合與查詢工具,同時保留請求歸因和審計軌跡。