REST和LDP有什么区别?

时间:2016-03-18 08:04:23

标签: 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)获得结果。那么什么是LDP? - 它是否以某种方式使用HTTP方法更新XML。 不能在普通架构中完成。自民党以外?

1 个答案:

答案 0 :(得分:4)

LDP,Linked Data Platform,是一种W3C规范,定义了服务器和客户端通过HTTP与资源(主要是RDF资源)交互的标准方法。特别是,它引入了Containers,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或文档。相反,它有一组三元组(成员三元组)定义或链接到其成员。您可以将Container视为容器或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的更多信息以及超链接和链接数据链接之间的巨大差异,请参阅The Awesome Power of the Link in Linked Data

您还可以在Introduction to: Linked Data Platform中找到有关LDP的技术介绍,这篇文章是我为Dataversity撰写的一篇文章。

相关问题