61 lines
1.2 KiB
R
61 lines
1.2 KiB
R
library("SPARQL")
|
|
library("stringi")
|
|
|
|
### Konfiguration einbinden
|
|
source("config/config.R")
|
|
|
|
### 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(PFAD_DB_OUT, "inDB-", format(Sys.Date(), "%Y_%m_%d"), ".xlsx", sep="")
|
|
|
|
write_xlsx(inDB, pfad)
|
|
|
|
}
|
|
|
|
|
|
get_current_geoera_lit_db <- function() {
|
|
|
|
pfad <- paste(PFAD_DB_OUT, "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()
|
|
}
|
|
|
|
}
|
|
|