58 lines
No EOL
1.1 KiB
R
58 lines
No EOL
1.1 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("inDB-",format(Sys.Date(), "%Y_%m_%d"),".xlsx", sep="")
|
|
|
|
write_xlsx(inDB, pfad)
|
|
|
|
}
|
|
|
|
|
|
get_current_geoera_lit_db <- function() {
|
|
|
|
pfad = paste("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()
|
|
}
|
|
|
|
}
|
|
|
|
#a change |