REST 和 LDP 有什么区别?

GP9*_*P92 3 rest rdf linked-data linked-data-platform

首先,我是新手……REST、RDF、LDP 等。

我能够以一种模糊的方式了解 REST 和 RDF:

  • REST是一个框架,其中一切都是资源,复杂的客户端请求被转换为基于 URI 的结构请求,并使用 HTTP 方法,我们将获得 RDF 资源格式的结果:XML 或 json 格式。
  • RDF是一个解释关系结构的框架,换句话说,就是一个网络资源的概念模型。
  • LDP似乎与 REST 相同,使用 HTTP 协议与 RDF 资源进行交互。我所理解的是 HTTP 协议用于与 Web 服务通信并以 HTML、jpeg、png 或任何其他格式,甚至 XML 格式获取结果。那么什么是自民党?- 它是否以某种方式使用 HTTP 方法更新 XML。这不能在正常的架构中完成。除了自民党?

Cod*_*son 5

LDP,链接数据平台,是 W3C 规范,定义了服务器和客户端通过 HTTP 与资源(主要是 RDF 资源)交互的标准方式。特别是,它引入了容器、RDFSources 和 Non-RDFSources(或二进制文件)的概念。

将 RDFSource 视为一个文档,有点像 HTML 网页,可能会有所帮助。只是,内容不是 HTML,而是共享相同主题 URI 的图形(一组 RDF 三元组)。本文档中的三元组通常一起描述或组成给定的实体或对象。所以,这些可以被认为是对象的属性。该文档可以用 RDF XML、Turtle、JSON-LD 或其他可能的格式表示。这些属性可能是文字值,也可能是指向其他资源的链接。

LDP 实现了 RESTful 架构,因此您如何查看此 RDFSource 取决于您在对服务器的请求中如何请求它。如果您要求以 JSON-LD 表示资源,您应该返回资源的 JSON-LD 表示。如果你以 Turtle 的身份要求它,你应该得到一个 Turtle 代表。这是通过在请求中传递某些 HTTP 标头来完成的。此外,LDP 的 RESTful 特性允许您使用 HTTP 方法(GET、POST、PUT、DELETE)以各种方式与资源进行交互。

Container 也是 RDFSource,但它允许您管理成员资格。容器可以拥有成员资源。你可以把 Container 想象成一个文件夹。只是,它实际上并不包含 RDFSources 或文档。相反,它有一组定义或链接到其成员的三元组(成员资格三元组)。您可以将容器视为容器或 RDFSource,具体取决于您在请求标头中指定的首选交互模型。

因此,基本上,您可以将 LDP 视为一种与 RDF 资源交互的方式,其方式类似于具有文件夹和文档的网站。只有一切都是 RDF,而不是 XHTML。在后端,服务器实际上可以将每个资源作为一个真正的文档(文件)进行管理。或者,就像 Carbon LDP 的情况一样,它可能会将所有内容都放在一个三元组(RDF 存储/数据库)中。然后它只返回一组看起来像“文档”的三元组,因为它们共享相同的主题 URI,这是您在发出 RESTful 请求时使用的。由于 Carbon LDP 在一个三元组中管理所有这些“文档”,因此它还可以提供跨所有内容的 SPARQL 查询支持(尽管 SPARQL 支持不是 LDP 规范的一部分)。

因此,本质上,LDP 启用了一种非常“webby”(或 RESTful)的方式来处理 RDF 数据。您向 URI 发出 HTTP 请求,然后将它们解析为资源(容器或 RDFSource),然后您可以使用这些资源来获取所有三元组。当然,您可以创建资源、更新它们、列出容器的成员等。通过这种方式,您可以构建使用 RESTful 请求(可能是异步 JavaScript 或 AJAX 请求)的 Web 应用程序。

您赢得的一个优势是,即使您正在处理的数据可能非常特定于您在 LDP 上构建的任何给定应用程序,但您用于处理该数据的 REST API 是标准且一致的。

另一个优点是您正在使用 RDF,因此您的对象的属性,即谓词,可以在您的企业或万维网上链接数据。这可以帮助您整合数据并发现您的应用程序可能没有专门设计支持的内容。而且,因为您正在使用 RDF 数据模型,所以您可以将预先存在的词汇表用于您的三元组,但您不会像模式一样麻烦。

在 RDF 中,您可以添加新的三元组(新的属性或链接),而无需更新某些数据库模式和解释它所需的相关代码。LDP 以一种非常通用的方式处理 RDF 资源——它不关心定义或组成资源的三元组实际上是什么。当您构建 LDP 应用程序时,您可以将这种通用质量扩展到应用程序中,这样您的数据就可以不断变化和发展,而不会对应用程序本身的维护和发展造成沉重的成本。

这种技术可以帮助您弥合当前的超链接文档网络与链接数据网络之间的差距,这使计算机更容易理解和互操作。有关 RDF 的更多信息以及超链接和链接数据链接之间的巨大差异,请参阅链接数据中链接的强大力量

您还可以在Introduction to: Linked Data Platform 中找到对 LDP 的一些技术性介绍,这是我不久前为 Dataversity 写的一篇文章。