跳到目录

一个友好且周到的用户界面,用于对rdf数据执行常见任务,例如在rdfxml、turtle、nquads、ntriples和trig等格式之间进行解析和转换,创建rdf图,以及执行SPARQL查询。此程序包包装redlandR程序包,该程序包提供到redlandC库的直接绑定。此外,该包支持通过json-ld包将rdf解析和序列化为json-ld,该包绑定了官方的json-ldjavascript API。包接口的灵感来自Python rdflib库。

安装

您可以使用以下工具从GitHub安装rdflib:

#install.packages(“devtools”)
开发工具::安装_工具(“ropensci/rdflib”)

基本用途

虽然不是必需的,rdflib公司是为了配合%>%管道,因此我们将加载马格里特包装以及:

分析文件并序列化为其他格式:

系统文件(“extdata/dc.rdf”,程序包=“雷德兰”) %>%
  rdf解析() %>%
  rdf序列化(“test.nquads”,“nquads”(nquads))

执行SPARQL查询:

斯巴克尔 <-
 '前缀dc:<http://purl.org/dc/engins/1.1/>
选择?a?c(c)
何处{?a dc:creator?c.}'

system.file(系统文件)(“extdata/dc.rdf”,程序包=“雷德兰”) %>%
rdf解析() %>%
rdf查询(斯巴克尔)
#>#A兼容:1×2
#>一个c
#><chr><chr>
#>1个网址:http://www.dajobe.org/戴夫·贝克特

初始化新对象的图形或向现有图形添加三元组语句:

x个 <- 无线数字滤波器()
x个 <- rdf添加(x个,
主题="网址:http://www.dajobe.org/",
谓语="http://purl.org/dc/elements/1.1/language",
对象=“en”(英语))
x个
#>总共1个三元组,存储在哈希中
#> -------------------------------
#> <网址:http://www.dajobe.org/> <http://purl.org/dc/elements/1.1/language>“en”。

更改默认显示格式(nquads(四边形))对于图形对象:

选项(rdf打印格式= “jsonld”)
x个
#>总共1个三元组,存储在哈希中
#> -------------------------------
#> {
#>“@id”:“网址:http://www.dajobe.org/",
#>   "http://purl.org/dc/elements/1.1/language:“en”
#> }

JSON-LD格式

我们还可以通过R包中提供的其他函数使用JSON-LD格式,jsonld公司.

外面的 <- 临时文件()
rdf序列化(x个,外面的,“jsonld”)
rdf解析(外面的,格式= “jsonld”)
#>总共1个三元组,以哈希形式存储
#> -------------------------------
#> {
#>“@id”:“网址:http://www.dajobe.org/",
#>   "http://purl.org/dc/elements/1.1/language:“en”
#> }

有关JSON-LD RDF API的更多信息,请参阅https://json-ld.org/spec/latest/json-ld-rdf/.

高级使用

请参见条款从高级使用文档(包括应用程序到大型三重存储)、SPARQL查询示例以及有关其他数据库后端的信息。


引用rdflib

还请引用以下内容红土地引用时库rdflib公司

卡尔·博蒂格尔(Carl Boettiger)。(2018). rdflib:通用rdf应用程序(0.1.0版)的redland包的高级包装器。泽诺。https://doi.org/10.5281/zenodo.1098478

Jones M、Slaugter P、Ooms J、Boettiger C、Chamberlain S(2022)。redland:R中的RDF库绑定.doi:10.5063/F1VM496B https://doi.org/10.5063/F1VM496B,R包版本1.0.17-16,https://github.com/ropensci/redland-bindings/tree/master/R/redland.