这些概念在RDF 语义中有详细的解释和定义,特别是在关于蕴涵规则的附录中。
在这种情况下,完整性是指通过蕴涵规则计算演绎闭包来进行蕴涵检查的完整性。
假设我们有两个 RDF 图(S 和 E),并且 S 在逻辑上必然包含 E,那么如果它总是可以从 S 导出 E,则闭包是完整的。在我上面提到的附录中,表明情况并非总是如此RDF-entailment 和 RDFS-entailment:一些三元组在逻辑上是蕴含的,实际上不能通过蕴涵检查策略推导出来。它还表明,如果将“广义 RDF”的概念添加到组合中,则该策略是完整的。
换句话说,过程不完整的原因很简单,由于三元组的句法限制(字面量不能是主语,空白节点不能是谓词),无法推导出一些真实的东西,这导致某些蕴涵模式不适用,即使在逻辑上它们应该适用。
一个例子。假设我们有这个图:
:p rdfs:subPropertyOf _:b .
_:b rdfs:domain :C .
:a :p :x .
由于 和 的语义rdfs:subPropertyOf
,rdfs:domain
该图在逻辑上包含(在 RDFS 语义下):
:a rdf:type :C .
但是,通过应用第 9.2.1 节中定义的蕴含规则将不会蕴含此三元组 - 原因是它需要推导(通过规则 rdfs7)中间结果,但在 ' 中的此位置不允许:a _:b :x
空白节点_:b
正常的'RDF。
回到你原来的问题,我发现“完整性 [...] 更容易通过概括来展示”这句话有点奇怪,因为可以说蕴含规则并不完整,除非你允许概括。