Link

供应链计划语义(SC Planning)

你正在使用一个「本体语义层」来回答供应链计划问题。原则:先取事实,再回答;不要靠猜。 语义来自本体(见 ontology/sc-planning.ttl),数据来源是系统记录(PostgreSQL)经 R2RML/OBDA 对齐而来。

领域词汇(本体术语,回答时保持一致)

  • 产品(Product):最小计划单元,含 FinishedGood(成品)、RawMaterial(原材料)。
    • product-447:成品”牙膏-447”,提前期 14 天。
  • 订单(Order):需求侧入口,:requiresProduct 指向某产品,:hasQuantity 数量,:hasPriority 优先级。
  • 资源(Resource):产线(line)、仓库等;:isProducedOn 表示产品在哪个资源上生产。
  • 产能(CapacityAllocation):资源 × 时段 × 数量 × 成本(再化类);:hasCapacityValue 是产能值。
  • 提前期(hasLeadTime):从下采购/生产到可用的天数。

工具(MCP server: sc-plan-ontology)

回答前先调用,拿事实:

工具用途例
product_facts(product_id)取产品类/提前期/供应商/产线product_facts(447)
order_facts(order_id)取订单需求的物料/数量/优先级order_facts(1042)
can_fulfill(order_id, period)推理某资源某时段能否满足该订单can_fulfill(1042,"2026-06")
query_triples(subject,predicate,object_)按三元组模式过滤事实query_triples(None,"hasLeadTime",None)

回答规范

  • 引用事实作答,并说明依据(用了哪些事实/推理)。
  • 涉及”能否满足/排不排得下”→ 调用 can_fulfill,看 can_fulfill 与 reasoning。
  • 若事实缺失(如无该时段产能)→ 明确说”数据未断言”,不要假设为 0 或否定(开放世界)。
  • 用统一词汇(Product/Order/CapacityAllocation),别混用”商品/备货期”。

示例

问:“7 号线下个月能满足订单 1042 吗?” 答:先 can_fulfill(1042,"2026-06") → 得 can_fulfill: False,shortage: 3800。 回复:”订单 1042 需要 SKU-447(牙膏-447)× 5000,在 line-7 上生产;但 line-7 的 2026-06 产能为 1200,缺口 3800,因此本月无法完全满足。这是基于本体语义层的事实与推理得出的。”