feat: 自研 agtype 解析与 psycopg3 loader
- graph/agtype.py:解析 ::vertex / ::edge / ::path 后缀,返回 Vertex/Edge/Path - register_agtype() 直接查 ag_catalog.agtype 的 OID 注册 loader(TypeInfo.fetch 取不到) - 18 条单元测试,样本全部从真实 AGE 库抓取;7 条畸形输入用例 - tests/test_agtype_live.py:连真库的集成测试,默认跳过(ADAPTER_TEST_DSN) - AGENTS.md 技术栈表:图驱动改为自研解析,注明不用 apache-age-python 的原因
This commit is contained in:
1 parent
ace505cc6b
commit
f042452fe6
5 files changed
+443
-14
No files matched your search
@@ -35,7 +35,7 @@ app.include_router(build_router(adapter), prefix="/ontology")
|
||||
| 包管理 | **uv**(`uv.lock` 入库) | 不用手工 venv + pip |
|
||||
| 构建 | hatchling | `src/` 布局,带 `py.typed` |
|
||||
| 驱动 | **psycopg 3**(async + `psycopg_pool`) | 不用 asyncpg、不用任何 ORM |
|
||||
| 图 | **`age`**(AGE 官方 psycopg3 驱动) | `AgeLoader` 处理 agtype,不手写解析 |
|
||||
| 图 | **自研 agtype 解析**(`graph/agtype.py`),注册 psycopg3 loader | 不用 PyPI 的 `apache-age-python`(0.0.7 依赖 psycopg2+antlr4);AGE master 的 psycopg3 驱动未发布 |
|
||||
| 对象 | **pydantic v2** + `create_model()` | 运行期按本体动态建类 |
|
||||
| 本体校验 | pydantic 模型 + 导出 JSON Schema | 本体先自查,schema 供其他语言消费 |
|
||||
| 表达式 | **SQL 下推** + **CEL**(`cel-python`) | 不自研表达式解析器,不 `eval` |
|
||||
|
||||
Reference in new issue
Block a user