RDF 格式之间的转换

来源:互联网 发布:godaddy域名转到万网 编辑:程序博客网 时间:2024/06/07 00:24
N-Triples 格式不是非常人性化。在以某种易于解析的方式转储事实时,这种格式非常合理,但所有的重复会让您很难了解与某个特定主题相关的内容。现在,我将向您展示一种更好的格式,该格式称为 Turtle,它支持 Terse RDF Triple 语言。(其他格式也可以使用,其中包括一种称为 RDF/XML 的基于 XML 的丑陋格式。)

格式之间的转换很简单。一种方法是使用来自 Apache Jena 项目的一个称为 rdfcat 的工具。在这里,我请求 rdfcat 将 triples 格式转换为 Turtle 格式:

> rdfcat -out ttl basic.nt<https://w3id.org/people/bsletten>  a <http://xmlns.com/foaf/0.1/Person> ;  <http://xmlns.com/foaf/0.1/birthday> "05-26" ;  <http://xmlns.com/foaf/0.1/name> "Brian Sletten" .

您可以在 Turtle 中看到这种转换,每个主题都只被作为一个主题提到一次(相同的标识符可能位于另一个关系的对象位置上)。分号分隔开了关于主题的每一个事实。一个句点终止了我们所知的这个文件中的关于该主题的事实。当然,您可以了解来自其他来源的其他事实。

假设我已经在 Web 上发布了另一个 Turtle 文件,该文件夹包含一个关于我的额外事实。此文件使用了http://xmlns.com/foaf/0.1/depiction 属性来表明,我的图像可以在 Web 上获得。该属性也有类似的格式,但只有一个事实:

> http get http://bosatsu.net/turtle/brian.ttlHTTP/1.1 200 OKAccept-Ranges: bytesAccess-Control-Allow-Origin: *Content-Length: 124Content-Type: text/turtleDate: Mon, 10 Mar 2015 04:56:39 GMTETag: "1049e7-7c-50fd9f13a4140"Last-Modified: Tue, 24 Feb 2015 18:46:53 GMTServer: Apache/2.2.16 (Debian)<https://w3id.org/people/bsletten> <http://xmlns.com/foaf/0.1/depiction>               <http://bosatsu.net/images/briansletten.jpg> .

如您所料,本地文件中的数据和远程文件中的数据很容易合并到一个通用模型中。因为我在这两个地方使用了相同的标识符,所以数据集变得非常容易:

> rdfcat -out ttl basic.nt http://bosatsu.net/turtle/brian.ttl<https://w3id.org/people/bsletten>        a       <http://xmlns.com/foaf/0.1/Person> ;        <http://xmlns.com/foaf/0.1/birthday> "05-26" ;        <http://xmlns.com/foaf/0.1/depiction>                <http://bosatsu.net/images/briansletten.jpg> ;        <http://xmlns.com/foaf/0.1/name> "Brian Sletten" .

rdfcat 是了解如何在数据源之间操作标准和合并数据的众多工具和库之一。通过使用这些标准,数据集成的成本下降到几乎为零。例如,您可以想象一下将销售表内容连接到第三方数据源的好处,包括已销售产品的评级。结合使用这些数据源,可以明显快速加强对部门需要的支持,因为您正在销售许多差评产品。

0 0
原创粉丝点击