R client for Pleiades
Pleiades gives scholars, students, and enthusiasts worldwide the ability to use, create, and share historical geographic information about the ancient world in digital form. At present, Pleiades has extensive coverage for the Greek and Roman world, and is expanding into Ancient Near Eastern, Byzantine, Celtic, and Early Medieval geography.
More stable CRAN version
install.packages("pleiades")
Dev version
devtools::install_github("ropensci/pleiades")
library("pleiades")
pl_status()
#> $num_places
#> [1] 35338
#>
#> $num_locations
#> [1] 39348
#>
#> $num_names
#> [1] 31282
pl_places
uses the Pleiades API. Just a subst of output for brevity
pl_places(place_id = 579885)[1:2]
#> $features
#> list()
#>
#> $contributors
#> $contributors[[1]]
#> $contributors[[1]]$username
#> [1] "pmotylewicz"
#>
#> $contributors[[1]]$homepage
#> NULL
#>
#> $contributors[[1]]$name
#> [1] "Pierre Motylewicz"
#>
#> $contributors[[1]]$uri
#> [1] "https://pleiades.stoa.org/author/pmotylewicz"
#>
#>
#> $contributors[[2]]
#> $contributors[[2]]$username
#> [1] "sgillies"
#>
#> $contributors[[2]]$homepage
#> NULL
#>
#> $contributors[[2]]$name
#> [1] "Sean Gillies"
#>
#> $contributors[[2]]$uri
#> [1] "https://pleiades.stoa.org/author/sgillies"
#>
#>
#> $contributors[[3]]
#> $contributors[[3]]$username
#> [1] "jahlfeldt"
#>
#> $contributors[[3]]$homepage
#> NULL
#>
#> $contributors[[3]]$name
#> [1] "Johan Åhlfeldt"
#>
#> $contributors[[3]]$uri
#> [1] "https://pleiades.stoa.org/author/jahlfeldt"
#>
#>
#> $contributors[[4]]
#> $contributors[[4]]$username
#> NULL
#>
#> $contributors[[4]]$name
#> [1] "Chelsea Lee"
#>
#>
#> $contributors[[5]]
#> $contributors[[5]]$username
#> [1] "alecpm"
#>
#> $contributors[[5]]$homepage
#> NULL
#>
#> $contributors[[5]]$name
#> [1] "Alec Mitchell"
#>
#> $contributors[[5]]$uri
#> [1] "https://pleiades.stoa.org/author/alecpm"
#>
#>
#> $contributors[[6]]
#> $contributors[[6]]$username
#> [1] "jbecker"
#>
#> $contributors[[6]]$homepage
#> NULL
#>
#> $contributors[[6]]$name
#> [1] "Jeffrey Becker"
#>
#> $contributors[[6]]$uri
#> [1] "https://pleiades.stoa.org/author/jbecker"
#>
#>
#> $contributors[[7]]
#> $contributors[[7]]$username
#> [1] "arabinowitz"
#>
#> $contributors[[7]]$homepage
#> NULL
#>
#> $contributors[[7]]$name
#> [1] "Adam Rabinowitz"
#>
#> $contributors[[7]]$uri
#> [1] "https://pleiades.stoa.org/author/arabinowitz"
#>
#>
#> $contributors[[8]]
#> $contributors[[8]]$username
#> [1] "thomase"
#>
#> $contributors[[8]]$homepage
#> NULL
#>
#> $contributors[[8]]$name
#> [1] "Tom Elliott"
#>
#> $contributors[[8]]$uri
#> [1] "https://pleiades.stoa.org/author/thomase"
#>
#>
#> $contributors[[9]]
#> $contributors[[9]]$username
#> NULL
#>
#> $contributors[[9]]$name
#> [1] "DARMC"
#>
#>
#> $contributors[[10]]
#> $contributors[[10]]$username
#> [1] "rbrowning"
#>
#> $contributors[[10]]$homepage
#> NULL
#>
#> $contributors[[10]]$name
#> [1] "Rachaelle L Browning"
#>
#> $contributors[[10]]$uri
#> [1] "https://pleiades.stoa.org/author/rbrowning"
#>
#>
#> $contributors[[11]]
#> $contributors[[11]]$username
#> NULL
#>
#> $contributors[[11]]$name
#> [1] "April Kissinger"
#>
#>
#> $contributors[[12]]
#> $contributors[[12]]$username
#> NULL
#>
#> $contributors[[12]]$name
#> [1] "Eric Shea"
#>
#>
#> $contributors[[13]]
#> $contributors[[13]]$username
#> NULL
#>
#> $contributors[[13]]$name
#> [1] "R. Talbert"
#>
#>
#> $contributors[[14]]
#> $contributors[[14]]$username
#> [1] "rmhorne"
#>
#> $contributors[[14]]$homepage
#> NULL
#>
#> $contributors[[14]]$name
#> [1] "Ryan Horne"
#>
#> $contributors[[14]]$uri
#> [1] "https://pleiades.stoa.org/author/rmhorne"
#>
#>
#> $contributors[[15]]
#> $contributors[[15]]$username
#> [1] "swright"
#>
#> $contributors[[15]]$homepage
#> NULL
#>
#> $contributors[[15]]$name
#> [1] "Sterling Wright"
#>
#> $contributors[[15]]$uri
#> [1] "https://pleiades.stoa.org/author/swright"
Pleiades nicely provides their bulk data (for locations, names, and places) in various formats, including .csv
. We’ve created three functions pl_search_loc()
, pl_search_names()
, and pl_search_places()
to search each of those datasets. As these are relatively large (approx 40K rows by 30 columns), dplyr
is a nice approach to dealing with big-ish data. At this time dplyr
is a dependency.
You can run pl_cache()
first to get the raw data files from Pleiades
pl_cache()
Or, that function is run internally in pl_search*()
functions for you.
Search across all tables in one database, or separately locations, names, or places. You can return the data (that is, a dplyr
representation of the data) if you don’t pass anything to the function call:
Gives each table in a list
pl_search()
#> [[1]]
#> # Source: table<locations> [?? x 25]
#> # Database: sqlite 3.11.1
#> # [/Users/sacmac/Library/Caches/pleiades/pleiades_all.sqlite3]
#> authors
#> <chr>
#> 1 Becker, J.
#> 2 Becker, J.
#> 3 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> 4 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 5 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> 6 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> 7 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> 8 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> 9 Becker, J., T. Elliott
#> 10 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> # ... with more rows, and 24 more variables: bbox <chr>, created <chr>,
#> # creators <chr>, currentVersion <int>, description <chr>,
#> # featureType <chr>, geometry <chr>, id <chr>, locationPrecision <chr>,
#> # locationType <chr>, maxDate <int>, minDate <int>, modified <chr>,
#> # path <chr>, pid <chr>, reprLat <dbl>, reprLatLong <chr>,
#> # reprLong <dbl>, tags <chr>, timePeriods <chr>, timePeriodsKeys <chr>,
#> # timePeriodsRange <chr>, title <chr>, uid <chr>
#>
#> [[2]]
#> # Source: table<names> [?? x 26]
#> # Database: sqlite 3.11.1
#> # [/Users/sacmac/Library/Caches/pleiades/pleiades_all.sqlite3]
#> authors
#> <chr>
#> 1 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 2 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 3 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 4 Becker, J.
#> 5 Spann, P., R. Warner, R. Talbert, S. Gillies, T. Elliott, J. Becker
#> 6 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 7 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 8 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 9 Becker, J.
#> 10 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> # ... with more rows, and 25 more variables: bbox <chr>, created <chr>,
#> # creators <chr>, currentVersion <int>, description <chr>, extent <chr>,
#> # id <chr>, locationPrecision <chr>, maxDate <int>, minDate <int>,
#> # modified <chr>, nameAttested <chr>, nameLanguage <chr>,
#> # nameTransliterated <chr>, path <chr>, pid <chr>, reprLat <dbl>,
#> # reprLatLong <chr>, reprLong <dbl>, tags <chr>, timePeriods <chr>,
#> # timePeriodsKeys <chr>, timePeriodsRange <chr>, title <chr>, uid <chr>
#>
#> [[3]]
#> # Source: table<places> [?? x 26]
#> # Database: sqlite 3.11.1
#> # [/Users/sacmac/Library/Caches/pleiades/pleiades_all.sqlite3]
#> authors
#> <chr>
#> 1 Becker, J., T. Elliott
#> 2 Becker, J., T. Elliott
#> 3 Spann, P., DARMC, R. Talbert, S. Gillies, R. Warner, J. Becker, T. Elliott
#> 4 Spann, P., R. Warner, R. Talbert, S. Gillies, T. Elliott, J. Becker
#> 5 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 6 Spann, P., DARMC, R. Talbert, R. Warner, J. Becker, S. Gillies, T. Elliott
#> 7 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 8 Spann, P., DARMC, R. Talbert, R. Warner, J. Becker, S. Gillies, T. Elliott
#> 9 Spann, P., R. Warner, R. Talbert, S. Gillies, T. Elliott, J. Becker
#> 10 Spann, P., DARMC, R. Talbert, J. Becker, R. Warner, S. Gillies, T. Elliott
#> # ... with more rows, and 25 more variables: bbox <chr>,
#> # connectsWith <chr>, created <chr>, creators <chr>,
#> # currentVersion <int>, description <chr>, extent <chr>,
#> # featureTypes <chr>, geoContext <chr>, hasConnectionsWith <chr>,
#> # id <dbl>, locationPrecision <chr>, maxDate <int>, minDate <int>,
#> # modified <chr>, path <chr>, reprLat <dbl>, reprLatLong <chr>,
#> # reprLong <dbl>, tags <chr>, timePeriods <chr>, timePeriodsKeys <chr>,
#> # timePeriodsRange <chr>, title <chr>, uid <chr>
Locations only
pl_search_loc()
#> # Source: table<locations> [?? x 25]
#> # Database: sqlite 3.11.1
#> # [/Users/sacmac/Library/Caches/pleiades/pleiades_locations.sqlite3]
#> authors
#> <chr>
#> 1 Becker, J.
#> 2 Becker, J.
#> 3 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> 4 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 5 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> 6 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> 7 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> 8 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> 9 Becker, J., T. Elliott
#> 10 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> # ... with more rows, and 24 more variables: bbox <chr>, created <chr>,
#> # creators <chr>, currentVersion <int>, description <chr>,
#> # featureType <chr>, geometry <chr>, id <chr>, locationPrecision <chr>,
#> # locationType <chr>, maxDate <int>, minDate <int>, modified <chr>,
#> # path <chr>, pid <chr>, reprLat <dbl>, reprLatLong <chr>,
#> # reprLong <dbl>, tags <chr>, timePeriods <chr>, timePeriodsKeys <chr>,
#> # timePeriodsRange <chr>, title <chr>, uid <chr>
Or you can submit a query:
pl_search_loc("SELECT * FROM locations limit 5")
#> # Source: SQL [?? x 25]
#> # Database: sqlite 3.11.1
#> # [/Users/sacmac/Library/Caches/pleiades/pleiades_locations.sqlite3]
#> authors
#> <chr>
#> 1 Becker, J.
#> 2 Becker, J.
#> 3 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> 4 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 5 Spann, P., D. R. Talbert, T. Elliott, S. Gillies
#> # ... with 24 more variables: bbox <chr>, created <chr>, creators <chr>,
#> # currentVersion <int>, description <chr>, featureType <chr>,
#> # geometry <chr>, id <chr>, locationPrecision <chr>, locationType <chr>,
#> # maxDate <int>, minDate <int>, modified <chr>, path <chr>, pid <chr>,
#> # reprLat <dbl>, reprLatLong <chr>, reprLong <dbl>, tags <chr>,
#> # timePeriods <chr>, timePeriodsKeys <chr>, timePeriodsRange <chr>,
#> # title <chr>, uid <chr>
Search names
pl_search_names("SELECT * FROM names limit 5")
#> # Source: SQL [?? x 26]
#> # Database: sqlite 3.11.1
#> # [/Users/sacmac/Library/Caches/pleiades/pleiades_names.sqlite3]
#> authors
#> <chr>
#> 1 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 2 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 3 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> 4 Becker, J.
#> 5 Spann, P., R. Warner, R. Talbert, S. Gillies, T. Elliott, J. Becker
#> # ... with 25 more variables: bbox <chr>, created <chr>, creators <chr>,
#> # currentVersion <int>, description <chr>, extent <chr>, id <chr>,
#> # locationPrecision <chr>, maxDate <int>, minDate <int>, modified <chr>,
#> # nameAttested <chr>, nameLanguage <chr>, nameTransliterated <chr>,
#> # path <chr>, pid <chr>, reprLat <dbl>, reprLatLong <chr>,
#> # reprLong <dbl>, tags <chr>, timePeriods <chr>, timePeriodsKeys <chr>,
#> # timePeriodsRange <chr>, title <chr>, uid <chr>
Search places
pl_search_places("SELECT * FROM places limit 5")
#> # Source: SQL [?? x 26]
#> # Database: sqlite 3.11.1
#> # [/Users/sacmac/Library/Caches/pleiades/pleiades_places.sqlite3]
#> authors
#> <chr>
#> 1 Becker, J., T. Elliott
#> 2 Becker, J., T. Elliott
#> 3 Spann, P., DARMC, R. Talbert, S. Gillies, R. Warner, J. Becker, T. Elliott
#> 4 Spann, P., R. Warner, R. Talbert, S. Gillies, T. Elliott, J. Becker
#> 5 Spann, P., R. Warner, R. Talbert, T. Elliott, S. Gillies
#> # ... with 25 more variables: bbox <chr>, connectsWith <chr>,
#> # created <chr>, creators <chr>, currentVersion <int>,
#> # description <chr>, extent <chr>, featureTypes <chr>, geoContext <chr>,
#> # hasConnectionsWith <chr>, id <dbl>, locationPrecision <chr>,
#> # maxDate <int>, minDate <int>, modified <chr>, path <chr>,
#> # reprLat <dbl>, reprLatLong <chr>, reprLong <dbl>, tags <chr>,
#> # timePeriods <chr>, timePeriodsKeys <chr>, timePeriodsRange <chr>,
#> # title <chr>, uid <chr>
res <- pl_places(place_id = 462471)
pl_gist(res)
Which opens up the gist in your default browser, as long as browse=TRUE
(default).
pleiades
in R doing citation(package = 'pleiades')