# 格士立全球运输与AI市场中枢 Demo v5

这是格士立全球运输、自主货代运营与AI市场决策的本地开发环境。青岛出口继续作为第一组测试样例，但本体本身不受青岛、出口或单一运输方式限制。

默认采用 local 模式：FastAPI 启动时由 `rdflib` 直接加载本体和样例数据，不依赖 Docker、Fuseki 或手工导入。

你打开这个文件夹后，应该看到：

```text
README.md
docker-compose.yml
ontology/
data/
queries/
app/
tests/
docs/
```

## 这个环境有什么

- `ontology/global-shipment.ttl`：全球运输与自主货代运营本体
- `ontology/ai-market-demo-extension.ttl`：询价约束、候选评估与推荐审计扩展
- `data/qingdao-export-sample.ttl`：青岛出口样例数据
- `data/ai-market-demo.ttl`：同路线多产品、多供应商和有效/失效报价场景
- `data/ai-market-india-mock.ttl`：印度那瓦舍瓦港、金奈港的本地方案优先样本，含船公司直营与订舱代理合作关系画像
- `data/ai-market-scenarios.ttl`：汉堡海运、法兰克福空运、危险品和新增客户画像
- `queries/order-status.rq`：查询订单当前状态
- `queries/risk-orders.rq`：查询有风险的订单
- `queries/operation-flow.rq`：查询青岛出口标准流程
- `queries/exception-risk-map.rq`：查询异常影响节点和风险
- `queries/node-time-status.rq`：查询节点计划时间、截止时间和完成状态
- `queries/order-cutoff-times.rq`：查询订单截关、截港、VGM和预计开船时间
- `queries/business-partners.rq`：查询统一的往来单位，包括客户和平台供应商
- `queries/business-partner-contacts.rq`：查询统一的往来单位联系人
- `queries/customer-profile-summary.rq`：查询客户画像摘要
- `queries/customer-counterparty-network.rq`：查询客户交易对象网络
- `queries/customer-transaction-records.rq`：查询客户询价/交易记录，包含成交和未成交
- `queries/platform-supplier-classification.rq`：查询格士立货代平台供应商分类和地域服务范围
- `queries/platform-supplier-profile-summary.rq`：查询平台供应商画像摘要
- `queries/supplier-product-quotes.rq`：查询产品品牌、具体产品、供应商产品关系及供应商报价
- `queries/product-performance.rq`：查询产品本身的班期、时效和路由履约表现
- `queries/ai-market-recommended-prices.rq`：查询市场基准、产品策略、AI市场推荐价格、客户溢价及最终报价
- `queries/supplier-share-governance.rq`：查询预留的平台供应商份额治理策略及启用状态
- `docs/customer-supplier-profile-mapping.md`：客户画像与平台供应商画像对应关系
- `docs/product-supplier-market-model.md`：产品、供应商、组合方案和AI市场推荐价格模型
- `docs/ai-market-solution-priority-change-log.md`：方案优先改造的字段、排序口径、页面输出与验证记录
- `app/main.py`：简单接口服务
- `app/market/`：过滤、评分、定价和解释型推荐引擎
- `app/mock_data.py`：本地数据目录、动态 Mock 生成和内存重置
- `tests/`：本体、查询、决策和回归测试
- `docker-compose.yml`：启动 Fuseki 本体数据库

## 第一步检查

在 Cursor 终端里运行：

```bash
python3 tests/basic_check.py
```

如果看到：

```text
基础检查通过
```

说明文件是完整的。

## 第二步运行完整测试

```bash
source .venv/bin/activate
python -m unittest discover -s tests
```

## 第三步启动本地 Demo

首次运行时在本目录执行：

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m uvicorn app.main:app --reload
```

打开：

```text
http://localhost:8000
```

默认进入 AI 市场中枢，可提交客户询价并查看：

```text
硬条件过滤过程
方案优选、关系优选与价格参考候选方案
方案保障、合作关系、现舱、履约、客户适配、时效与价格七项评分
与具体供应商的合作关系、低价获取概率、优先舱位概率、现舱状态和可订 TEU
AI市场推荐价格、客户调整和最终报价
淘汰原因与决策审计
```

当前排序以可执行方案为首要目标：方案保障 27%、合作关系优势 23%、现舱保障 15%、供应履约 18%、客户适配 10%、时效 4%、价格 3%。价格仍参与利润校验和候选比较，但不会单独主导推荐。印度那瓦舍瓦港和金奈港样本用于直观验证该口径：战略合作直营且有现舱的方案可以高于最低采购价方案排序。

顶部可以切换到 Mock 数据台和原有履约操作台。Mock 数据台可以查看客户、路线、产品、供应商、报价和策略，也可以向当前进程临时添加印度目的港的供应商报价和客户画像。单次可生成 1–8 家供应商、0–5 个客户；动态数据不会写入 TTL，服务重启或点击“重置内存数据”后消失。

Fuseki 和 `docker-compose.yml` 继续保留，仅用于后续远程数据服务实验，不是本地 Demo 的运行前置条件。

## 给你的判断标准

如果 Cursor 左边看不到 `README.md`、`ontology`、`data`、`queries`，说明打开的不是这个文件夹。
