

先说这一版最实在的一处变化。
这里的本体,说的是把一张张表格里的东西,以及它们之间的关系,写成机器能推算的结构。以前要接一个新领域,得先在配置里把数据目录、实体、词典都写好,再重启服务,问答才认这个库。现在把 CSV 目录挑好,系统按参数自动匹配,建完就能直接问,重启也不丢。
这带来一个立刻能感觉到的差别:库与库不再互相顶替。原来那个阀门库原封不动,新库单独存在,界面和接口都跟着当前激活的那个库走。

PART 01

新增了什么

自助建模。数据目录可以在界面里浏览挑选,只列目录名和 CSV 数量,而且只在本机打开时可用;也可以手打路径。系统按库与目录的对应关系自动匹配、给出候选,选完校验再落库。库里每个实体都带定义,类与类之间的层次由规则自动派生,每条都写出依据,你确认过才写进本体。
建库即生效,而且是同一个来源。激活哪个库落到磁盘上的一个文件,服务重启照样认这个库;按国家标准打分的那项、标准导出、问答三条路都读同一个当前库,不会出现有人读新库、有人读旧库。
商用化那一侧的加固,自用也直接受益。一套系统可以同时服务多个客户,彼此的数据互不可见,数据进出时那道闸门强制带上归属,缺了归属直接拒绝,而不是悄悄返回空;最严的一档鉴权做了开关,默认关闭,打开后本体结构和结构图需要凭据;上传体积上限默认 50MB,超限直接拒绝且不落盘;登录凭证可以随时作废、旧凭证用一次就失效、同一个人反复试探密码会被限速;也支持接企业已有的统一登录,纯标准库实现,本地账号优先。

PART 02

修掉了什么

修掉的这几件事,根因都不在表面。
-
合规面板一片空白,看着像"建模是断的"。真因有两层。一层是后端没配密钥时直接拒绝请求,面板把 401 显示成了空;另一层更隐蔽,前端和后端之间那层转发只代理了四个接口前缀,合规接口根本不在其中,请求被悄悄换成了一张首页 HTML。现在这条转发补上了,密钥落进配置文件,拒绝的文案也如实写"未登录或会话已过期",不再拿"后端建模失败"敷衍。
-
自助建的库不生效,状态看着混乱。根因是激活态存在服务的会话内存里,重启就回落到默认库。现在改成落盘,另开了读写激活库的接口。
-
新建的库让自检报了错。自检里把库的数量写死成 33,你新建一个就报 34 不等于 33。现在按注册表里的真实内容校验。
-
按国家标准给本体打分的那项,一开始算错了对象。面板显示的是全局本体,不是当前库;更麻烦的是,找不到当前库的本体时会悄悄回落到全局那份。现在按当前库算,找不到就明说找不到。
-
本体是"实体平铺"。自动建模产出的一堆实体全摊在同一层,不分父子,机器推不出谁属于谁,而国标要求有派生层次。现在建模时自动派生类层次并补定义,每条都有依据、可复算、要人确认才写进本体。当前库的合规度从 84.2 升到 100。
-
数据目录写死成某一个库。现在按参数自动匹配,并提供可选空间与自由浏览三条路。
PART 03

数字

按国家标准给本体打分的那项,从 84.2 到 100;实体核心描述项从 83% 到 100%,类层次从 0 到 38。
问答回归基线命中率从 0.568 升到 0.628,误答率从 0.296 降到 0.184,编造从 4 条降到 0 条。
仓库自带的 8 项自检全绿,持续集成的三个检查全绿。

PART 04

还差什么,如实说

最严的一档鉴权默认是关的,上线前你要自己决定打不打开;多进程部署时,作废凭证的名单和限速计数不共享,要共享得引 Redis 或数据库;MySQL 真库还没验过,多客户数据隔离目前只有代码层面的结论;统一登录里的 LDAP 通道只是接口占位,没有实现也没有实测。这些都没藏,CHANGELOG 里逐条列着。
开源地址
代码在 GitHub:https://github.com/data3oil/factory-ontology ,Apache-2.0 许可,可以商用。安装方法、架构说明、评测口径都在 README 里。有问题提 issue;用得顺手,给个 star。