GraphDB是否提供任何类似于Stardog Integrity Constraint Validation (ICV



我正在寻找一个大型三重存储数据库管理系统,该系统提供了一种机制来保证提交的事务不会以与其 TBox 不一致的方式改变本体的 ABox。

到目前为止,我唯一确定提供这种机制的是Stardog(https://www.stardog.com/docs/#_validating_constraints(。

GraphDB是否提供了与此类似的机制?

GraphDB的规则语言支持推理和一致性检查规则。您可以使用 GraphDB 的 PIE 语法重写相同的已发布完整性验证约束 (ICV(,如下所示:

经理必须是员工

此规则的更通用版本是替换"RDFS 范围"推理规则:

Id: prp_rng
a <rdfs:range> b
c a d
------------------------------------
d <rdf:type> b

使用一致性检查等效项:

Consistency: prp_rng_constraint
a <rdf:type> b
a <rdfs:range> c [Constraint b != c]
------------------------------------

如果触发具有空结果的规则,它将生成验证错误。

只有员工才能拥有 SSN

我会以更通用的方式表达规则,例如每个类型必须至少有一个属性:

Consistency: min_cardinality
a <owl:minCardinalityConstraint> "1"^^xsd:nonNegativeInteger
a <owl:onType> b
c <rdf:type> b
------------------------------------
c a y

然后在本体中陈述:

INSERT DATA {
:ssn owl:minCardinalityConstraint "1"^^xsd:nonNegativeInteger;
owl:onType :Employee.
};

具有后果的规则指示如果规则触发,该语句必须存在于存储库中。

您可以在内置规则集中查看更多示例。

相关内容

  • 没有找到相关文章

最新更新