蕴涵规则清单
本文件是生成的,请勿手工编辑。 它由 cargo run -p purrdf-entail --example gen_rule_inventory 依据 purrdf_entail::RuleId、rules(regime) 与 implemented(regime) 输出;当提交的副本与一次新运行的结果不一致时,scripts/check-generated.sh 会使构建失败。用 make metadata 重新生成。
**Defined(已定义)**是规范据以定义该蕴涵机制(entailment regime)的规则表(rules(regime))。**Implemented(已实现)**是本工作区的求值器实际触发的子集(implemented(regime))。两者之差就是该蕴涵机制的缺口,也正是 ReasoningReport 在 missing 下列出的集合。
两列都不计入扩展——即本工作区会触发、但任何规范表都未陈述的规则。扩展单独列在下文它们自己的一节中(extensions(regime)),绝不并入覆盖率数字,因此像 OWL-RL 78 / 78 这样的数字始终只是关于 OWL 2 Profiles §4.3 表 4–9 的陈述,不涉及其他任何内容。
78 / 78 与 50 / 50 是两种不同的度量
本页是规则清单:78 / 78 表示 OWL 2 Profiles §4.3 表 4–9 陈述的每条规则都是 chase 会触发的规则。它并不说明由此能到达多少已发布的蕴涵;这两个数字针对不同的对象度量,可以各自独立变化。
第二种度量是蕴涵一致性,针对随库固化的 W3C OWL 2 RL 蕴涵语料:50 个用例中有 50 个与 W3C 发布的裁决一致,其中正例 27/27、负例 23/23,分歧台账为空。这个数字属于 crates/sparql-conformance/entailment-suite/w3c-owl2-rl/,以该处随库固化的内容为界——参见 docs/CONFORMANCE.md,它把该数字与其所度量的语料并列给出。
这 50 个中有 15 个,是通过某种判定手段到达的;这些判定手段之所以存在,是因为规则表无法判定任何该形态的结论:反驳、冻结后 chase、概括(comprehension)、自反性以及数据类型包含,每一种都在 purrdf_entail::EntailmentMechanism 上有文档说明。它们都不增加规则,这就是本清单与它们出现之前逐字节相同的原因——它们改变的是规则表被运行多少次以及其 false 被如何解读,而不是规则表陈述了什么。
这五种机制可以组合。结论图是一个合取式,而蕴涵在合取式上是单调的,因此一个在模式公理旁陈述否定事实的结论,当其每一半都被蕴涵时即被蕴涵:purrdf_entail::entails() 依次让残余部分穿过每一条通道,只匹配幸存下来的部分;需要其中两种或更多机制才能得到的答案,渲染为 composite,而不是任何单一组成机制的名称。没有任何随库固化的用例需要它——50 个用例中的每一个都由一条通道到达,或者无一到达——因此语料并不度量它,而由该 crate 自身的测试来度量。
按蕴涵机制的覆盖情况
| 机制 | --regime | 定义数 | 已实现 |
|---|---|---|---|
| Simple | simple | 0 | 0 |
| RDF | rdf | 3 | 3 |
| RDFS | rdfs | 18 | 18 |
| OWL-RL | owl-rl | 78 | 78 |
| OWL-Direct | owl-direct | 0 | 0 |
| RIF | rif | 0 | 0 |
| D | d | 5 | 5 |
规则表长度为零的蕴涵机制,是本 crate 不为其枚举规则的机制:Simple 是恒等闭包,而 OWL-Direct 与 RIF 分别由 tableau 与调用方提供的规则集提供服务,两者都不是固定的表。
扩展
本工作区的求值器会触发、但任何规范表都未陈述的规则。对任何蕴涵机制,扩展都不出现在上面的任一列中:rules(regime) 与 implemented(regime) 只指名规范规则,extensions(regime) 只指名这些扩展规则。RuleId::is_extension 决定哪条属于哪一类,ReasoningReport 则在 missing 列表旁的 extension 下渲染该列表——因此,只能依据规范性结论行事的调用方可以从报告中判断,而不必依赖文字说明。
每个条目在其所读取词汇的语义下都是可靠的;对于一条没有规范可依的规则,这是它唯一能达到的标准。
| 机制 | --regime | 规则 |
|---|---|---|
| OWL-RL | owl-rl | ext-eq-diff-sym |
RDF——3 条规则中已实现 3 条
| 规则 | 规范 | 已实现 |
|---|---|---|
rdfD1 | RDF 1.2 Semantics §8.1.1(RDF patterns) | 是 |
rdfD1a | RDF 1.2 Semantics §8.1.1(RDF patterns) | 是 |
rdfD2 | RDF 1.2 Semantics §8.1.1(RDF patterns) | 是 |
RDFS——18 条规则中已实现 18 条
| 规则 | 规范 | 已实现 |
|---|---|---|
rdfD1 | RDF 1.2 Semantics §8.1.1(RDF patterns) | 是 |
rdfD1a | RDF 1.2 Semantics §8.1.1(RDF patterns) | 是 |
rdfD2 | RDF 1.2 Semantics §8.1.1(RDF patterns) | 是 |
rdfs1 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs2 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs3 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs4 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs5 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs6 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs7 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs8 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs9 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs10 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs11 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs12 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs13 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs14 | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
rdfs14a | RDF 1.2 Semantics §9.2.1(RDFS patterns) | 是 |
OWL-RL——78 条规则中已实现 78 条
| 规则 | 规范 | 已实现 |
|---|---|---|
eq-ref | OWL 2 Profiles §4.3 表 4(相等性) | 是 |
eq-sym | OWL 2 Profiles §4.3 表 4(相等性) | 是 |
eq-trans | OWL 2 Profiles §4.3 表 4(相等性) | 是 |
eq-rep-s | OWL 2 Profiles §4.3 表 4(相等性) | 是 |
eq-rep-p | OWL 2 Profiles §4.3 表 4(相等性) | 是 |
eq-rep-o | OWL 2 Profiles §4.3 表 4(相等性) | 是 |
eq-diff1 | OWL 2 Profiles §4.3 表 4(相等性) | 是 |
eq-diff2 | OWL 2 Profiles §4.3 表 4(相等性) | 是 |
eq-diff3 | OWL 2 Profiles §4.3 表 4(相等性) | 是 |
prp-ap | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-dom | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-rng | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-fp | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-ifp | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-irp | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-symp | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-asyp | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-trp | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-spo1 | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-spo2 | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-eqp1 | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-eqp2 | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-pdw | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-adp | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-inv1 | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-inv2 | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-key | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-npa1 | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
prp-npa2 | OWL 2 Profiles §4.3 表 5(属性公理) | 是 |
cls-thing | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-nothing1 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-nothing2 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-int1 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-int2 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-uni | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-com | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-svf1 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-svf2 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-avf | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-hv1 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-hv2 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-maxc1 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-maxc2 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-maxqc1 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-maxqc2 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-maxqc3 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-maxqc4 | OWL 2 Profiles §4.3 表 6(类) | 是 |
cls-oo | OWL 2 Profiles §4.3 表 6(类) | 是 |
cax-sco | OWL 2 Profiles §4.3 表 7(类公理) | 是 |
cax-eqc1 | OWL 2 Profiles §4.3 表 7(类公理) | 是 |
cax-eqc2 | OWL 2 Profiles §4.3 表 7(类公理) | 是 |
cax-dw | OWL 2 Profiles §4.3 表 7(类公理) | 是 |
cax-adc | OWL 2 Profiles §4.3 表 7(类公理) | 是 |
dt-type1 | OWL 2 Profiles §4.3 表 8(数据类型) | 是 |
dt-type2 | OWL 2 Profiles §4.3 表 8(数据类型) | 是 |
dt-eq | OWL 2 Profiles §4.3 表 8(数据类型) | 是 |
dt-diff | OWL 2 Profiles §4.3 表 8(数据类型) | 是 |
dt-not-type | OWL 2 Profiles §4.3 表 8(数据类型) | 是 |
scm-cls | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-sco | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-eqc1 | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-eqc2 | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-op | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-dp | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-spo | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-eqp1 | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-eqp2 | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-dom1 | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-dom2 | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-rng1 | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-rng2 | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-hv | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-svf1 | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-svf2 | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-avf1 | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-avf2 | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-int | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
scm-uni | OWL 2 Profiles §4.3 表 9(模式词汇) | 是 |
D——5 条规则中已实现 5 条
| 规则 | 规范 | 已实现 |
|---|---|---|
dt-type1 | OWL 2 Profiles §4.3 表 8(数据类型) | 是 |
dt-type2 | OWL 2 Profiles §4.3 表 8(数据类型) | 是 |
dt-eq | OWL 2 Profiles §4.3 表 8(数据类型) | 是 |
dt-diff | OWL 2 Profiles §4.3 表 8(数据类型) | 是 |
dt-not-type | OWL 2 Profiles §4.3 表 8(数据类型) | 是 |