为什么RDF被认为是无计划的



人们认为资源描述框架(RDF)是一个无模式的数据模型。然而,有一种叫做RDFSSchema的东西。那么,为什么RDF是一个无模式的数据模型呢?

RDF模式有点命名错误。它不是一种真正的模式语言,至少与XML模式或ER模型是模式的意义不同。

主要区别在于:模式是规定性的:它们规定了数据必须采用的确切形式:这一列必须存在,这一列可以省略,这一与其他内容必须

另一方面,RDF模式应该更准确地称为"词汇描述语言":它本质上是描述性的。换言之,它为您的数据提供了定义词汇表的方法("这些类和关系存在,这就是它们连接在一起的方式"),但它并不强制您的数据符合该模式:拥有一个RDF数据集使用特定RDF模式的某些部分,但不使用其他部分是完全可以的,或者它还使用来自某个其他模式的其他词汇表(甚至是在任何RDF模式中未明确定义的词汇表)。

这样想吧;对于关系数据库,这里有一个典型的过于简化的工作流程:

  1. 创建表(架构)
  2. 插入一些行

使用RDF,就像使用其他无(仅限t)SQL解决方案一样,您可以反过来做。您只需开始创建一些数据,就可以动态创建模式。

毕竟,如果你有一个文档数据库,并插入一些JSON对象

{
  "type": "User",
  "id:" "123",
  "name": "John Doe"
}

有人可能会说typeidname键形成了某种模式,你的应用程序可能依赖于这种模式。唯一的区别是我在上面写的,模式不必预先声明。

RDF只进一步在各处引入URI,但在其他方面的工作方式类似。在决定使用RDF术语(属性和类)时,实际上是边构建或重用模式。

RDF的唯一好处是无计划性,我指的是RDF作为一个建模框架;构成链接数据堆栈的许多词汇、本体和工具不是"RDF",但它们是由RDF提供的。这些对于以分布式、类似Web的方式在Web上处理数据是必不可少的,但它们不需要RDF就可以工作。

--一篇关于RDF 的异常明智的帖子

另一方面,RDF模式为RDF提供了一个词汇表。

在我看来,一旦您专门使用某些词汇表来验证RDF,它就不再是无模式的了。在这方面,它就像XML:您可以在没有模式的情况下使用它,但大多数人不会。

相关内容

  • 没有找到相关文章

最新更新