---
title: "Download Data from the Energy Databus for use with MADRaT"
author: "Anastasis Giannousakis"
date: "`r Sys.Date()`"
output: pdf_document
vignette: >
%\VignetteEngine{knitr::knitr}
%\VignetteIndexEntry{Download Data from the Energy Databus for use with MADRaT}
%\usepackage[UTF-8]{inputenc}
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
This document describes an R tool for easy download of a dataset from
the Energy Databus () and direct use of said
dataset in the `madrat`/`mrPACKAGE` universe.
An extensive documentation of the Databus
can be found here:
.
The R package `r2databus` contains the function `toolDatabusDownload`, which, when
called inside a `mrPACKAGE:::downloadYXZ` ("YXZ" being the name of the dataset) function
will download the dataset and its metadata, and make them available for further
processing with `madrat` (see an example `downloadYXZ` function and how it is used
in `madrat` here:
https://pik-piam.r-universe.dev/ui#view:madrat/madrat.html).
Developers of the `madrat`/`mrPACKAGE` universe can write
their own `mrPACKAGE:::downloadYXZ` functions based on this example:
```
#' @title Download DatabusExample
#' @description Provides an example on how to write a function that downloads
#' a dataset from the Energy Databus for use with madrat
#'
#' @author Anastasis Giannousakis
#' @seealso [downloadSource()]
#' @examples \dontrun{
#' a <- downloadSource("DatabusExample")
#' }
#'
#' @importFrom r2databus toolDatabusDownload
downloadDatabusExample <- function() {
tmp <- toolDatabusDownload(artifact = "https://energy.databus.dbpedia.org/
pik-piam/GROUPNAME/ARTIFACT/",
subtype = "https://energy.databus.dbpedia.org/pik-piam/GROUPNAME/
ARTIFACT/YOURVERSION/ARTIFACT_FOO=BAR_TYPE=SOMEDATATYPE.rdf")
return(tmp)
}
```
`toolDatabusDownload` will download the dataset and the metadata and pass on the
metadata to `downloadYXZ`, which will further pass on the metadata to `madrat::downloadSource`.
An explanation of the necessary arguments in the call to `toolDatabusDownload`
can be found in the documentation of `toolDatabusDownload`.
NOTE: `toolDatabusDownload` performs SPARQL queries on the Databus to find your
dataset and its metadata. An R `SPARQL` package is used to perform these queries,
but since it's not included in the official R-CRAN (status of 7 Nov 2022), the
`SPARQL` package is distributed by the PIK-PIAM R-CRAN, found here:
https://rse.pik-potsdam.de/
You might need to explicitely load the `SPARQL` package (via `library(SPARQL)` in
order for your script to function properly).