URI_Replacement/sparql.R
2021-09-02 11:08:10 +02:00

58 lines
1.2 KiB
R

library("SPARQL")
library("stringi")
### Gets the bibliographicCitations which are currently in the db ##################
read_current_geoera_lit_db <- function() {
## http verwenden - https funktioniert nicht ##
endpoint = "http://resource.geolba.ac.at/PoolParty/sparql/geoera"
query <-
"PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms:<http://purl.org/dc/terms/>
select *
where {
?uri a skos:Concept; skos:prefLabel ?L; dcterms:bibliographicCitation ?citation .
filter(regex(str(?uri),\"/ref/\")) filter(lang(?L)=\"en\")
optional {?uri dcterms:source ?downloadLink}
}
order by ?L
"
qd <- SPARQL(endpoint, query)
inDB <- qd$results
for (j in 1:length (inDB[1, ])) {
for (i in 1:length(inDB[, j])) {
Encoding(inDB[i, j]) <- "UTF-8"
}
}
pfad <- paste("data/inDB-", format(Sys.Date(), "%Y_%m_%d"), ".xlsx", sep="")
write_xlsx(inDB, pfad)
}
get_current_geoera_lit_db <- function() {
pfad <- paste("data/inDB-", format(Sys.Date(), "%Y_%m_%d"), ".xlsx", sep="")
if (file.exists(pfad)) {
inDB <- read_excel(pfad)
return(inDB)
}
else {
read_current_geoera_lit_db()
get_current_geoera_lit_db()
}
}