3

我正在使用通用信息模型,我们正在使用 RDF 文件来表示变电站。但是我发现使用您的 RDF Schema 验证文件 RDF 时存在一些问题。我需要帮助解决这个问题。有人知道如何使用 JAVA 来做到这一点。

4

1 回答 1

1

我将首先指出我对公共信息模型一无所知,而且我一般是针对 RDF、RDFS 和“验证”...

解析有效是非常容易的,所以我假设这不是你的意思。我的猜测是您来自 XML,并且您认为 RDFS 是 RDF,就像 XML 模式对于 XML 文档一样。

它不是。

你必须记住,如果你为一个属性指定了两个范围(我们称它们为 A 和 B),这并不意味着该属性的值应该是 A 或 B。它实际上意味着它们是两者,即 A 和 B 的交集。域的工作方式类似,没有什么可以阻止您使用规定域/范围之外的值。因此,您可能需要小心您对验证的期望。

此外,如果您开始冒险进入 OWL 世界,您会增加对模式(也称为本体)的一致性及其可满足性的关注。这些与数据的有效性一样有效。

更不用说在 OWL 中很难验证一张桌子有 4 条腿的限制。您可以定义三个腿并假设它是有效的;只有第四条腿系统还不知道。同样,如果您定义五条腿,它将假定其中两条腿可能相同,因此它并非严格无效。

如果您想使用 RDFS 或真正的 OWL 作为约束语言,您可能想要查看的是Pellet 的 Integrity Constraint Validator (ICV)。它允许您使用 OWL 作为语言来形式化模式对数据施加的约束。它通过稍微改变 OWL 的语义来使它更适合这个用例来做到这一点。该软件实际上已被移植到Stardog上,它可以与数据库中的事务支持相结合以保持数据完整性。Stardog 站点还参考了如何评估完整性约束的形式语义,如果您有足够的好奇心来进一步研究定义。

除此之外,假设这是您感兴趣的验证类型,您将需要定制软件来为您进行验证。或者您可以查看一个与 ICV 类似但功能较少(正式)的软件,称为Jena Eyeball .

于 2012-10-24T13:08:34.683 回答