R client for Pleiades
More stable CRAN version
install.packages("pleiades")
Dev version
remotes::install_github("ropensci/pleiades")
library("pleiades")
pl_status() #> $num_places #> [1] 37283 #> #> $num_locations #> [1] 40274 #> #> $num_names #> [1] 33346
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] "bkiesling" #> #> $contributors[[1]]$homepage #> NULL #> #> $contributors[[1]]$name #> [1] "Brady Kiesling" #> #> $contributors[[1]]$uri #> [1] "https://pleiades.stoa.org/author/bkiesling" #> #> #> $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 #> NULL #> #> $contributors[[3]]$name #> [1] "Chelsea Lee" #> #> #> $contributors[[4]] #> $contributors[[4]]$username #> [1] "jbecker" #> #> $contributors[[4]]$homepage #> NULL #> #> $contributors[[4]]$name #> [1] "Jeffrey Becker" #> #> $contributors[[4]]$uri #> [1] "https://pleiades.stoa.org/author/jbecker" #> #> #> $contributors[[5]] #> $contributors[[5]]$username #> [1] "rbrowning" #> #> $contributors[[5]]$homepage #> NULL #> #> $contributors[[5]]$name #> [1] "Rachaelle L Browning" #> #> $contributors[[5]]$uri #> [1] "https://pleiades.stoa.org/author/rbrowning" #> #> #> $contributors[[6]] #> $contributors[[6]]$username #> NULL #> #> $contributors[[6]]$name #> [1] "DARMC" #> #> #> $contributors[[7]] #> $contributors[[7]]$username #> NULL #> #> $contributors[[7]]$name #> [1] "R. Talbert" #> #> #> $contributors[[8]] #> $contributors[[8]]$username #> [1] "jahlfeldt" #> #> $contributors[[8]]$homepage #> NULL #> #> $contributors[[8]]$name #> [1] "Johan Åhlfeldt" #> #> $contributors[[8]]$uri #> [1] "https://pleiades.stoa.org/author/jahlfeldt" #> #> #> $contributors[[9]] #> $contributors[[9]]$username #> [1] "alecpm" #> #> $contributors[[9]]$homepage #> NULL #> #> $contributors[[9]]$name #> [1] "Alec Mitchell" #> #> $contributors[[9]]$uri #> [1] "https://pleiades.stoa.org/author/alecpm" #> #> #> $contributors[[10]] #> $contributors[[10]]$username #> [1] "arabinowitz" #> #> $contributors[[10]]$homepage #> NULL #> #> $contributors[[10]]$name #> [1] "Adam Rabinowitz" #> #> $contributors[[10]]$uri #> [1] "https://pleiades.stoa.org/author/arabinowitz" #> #> #> $contributors[[11]] #> $contributors[[11]]$username #> [1] "thomase" #> #> $contributors[[11]]$homepage #> NULL #> #> $contributors[[11]]$name #> [1] "Tom Elliott" #> #> $contributors[[11]]$uri #> [1] "https://pleiades.stoa.org/author/thomase" #> #> #> $contributors[[12]] #> $contributors[[12]]$username #> [1] "pmotylewicz" #> #> $contributors[[12]]$homepage #> NULL #> #> $contributors[[12]]$name #> [1] "Pierre Motylewicz" #> #> $contributors[[12]]$uri #> [1] "https://pleiades.stoa.org/author/pmotylewicz" #> #> #> $contributors[[13]] #> $contributors[[13]]$username #> NULL #> #> $contributors[[13]]$name #> [1] "April Kissinger" #> #> #> $contributors[[14]] #> $contributors[[14]]$username #> NULL #> #> $contributors[[14]]$name #> [1] "Eric Shea" #> #> #> $contributors[[15]] #> $contributors[[15]]$username #> [1] "rmhorne" #> #> $contributors[[15]]$homepage #> NULL #> #> $contributors[[15]]$name #> [1] "Ryan Horne" #> #> $contributors[[15]]$uri #> [1] "https://pleiades.stoa.org/author/rmhorne" #> #> #> $contributors[[16]] #> $contributors[[16]]$username #> [1] "swright" #> #> $contributors[[16]]$homepage #> NULL #> #> $contributors[[16]]$name #> [1] "Sterling Wright" #> #> $contributors[[16]]$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.33.0 #> # [/Users/sckott/Library/Caches/pleiades/pleiades_all.sqlite3] #> authors bbox created creators currentVersion description featureType #> <chr> <chr> <chr> <chr> <int> <chr> <chr> #> 1 Becker… 13.4… 2013-0… jbecker 4 "The post-… settlement, #> 2 Becker… 11.6… 2013-0… jbecker 3 "A major u… temple-2, #> 3 Spann,… -3.6… 2011-0… P.O. Sp… 1 "1M scale … unknown #> 4 Spann,… -2.0… 2010-0… P.O. Sp… 0 "" unknown #> 5 Spann,… -2.4… 2011-0… P.O. Sp… 1 "1M scale … unknown #> 6 Spann,… 0.10… 2011-0… P.O. Sp… 1 "1:1 milli… unknown #> 7 Spann,… -3.9… 2011-0… P.O. Sp… 1 "1M scale … unknown #> 8 Spann,… 1.43… 2011-0… P.O. Sp… 1 "1M scale … unknown #> 9 Becker… 1.43… 2013-0… jbecker 1 "verified … island #> 10 Spann,… -3.3… 2011-0… P.O. Sp… 1 "1M scale … unknown #> # … with more rows, and 18 more variables: 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.33.0 #> # [/Users/sckott/Library/Caches/pleiades/pleiades_all.sqlite3] #> authors bbox created creators currentVersion description extent id #> <chr> <chr> <chr> <chr> <int> <chr> <chr> <chr> #> 1 Spann,… "-3.… 2010-0… P.O. Sp… NA "" "{\"t… cons… #> 2 Spann,… "-3.… 2010-0… P.O. Sp… NA "" "{\"t… cons… #> 3 Spann,… "-3.… 2010-0… P.O. Sp… NA "" "{\"t… kond… #> 4 Becker… "-3.… 2016-0… jbecker 1 "An ethnic… "{\"t… cons… #> 5 Spann,… "-2.… 2010-0… P.O. Sp… 1 "" "{\"t… cont… #> 6 Spann,… "-2.… 2010-0… P.O. Sp… NA "" "{\"t… cont… #> 7 Spann,… "0.1… 2010-0… P.O. Sp… 0 "" "{\"t… dian… #> 8 Spann,… "0.1… 2010-0… P.O. Sp… 1 "" "{\"t… heme… #> 9 Becker… "" 2012-1… jbecker 1 "" "" denia #> 10 Spann,… "-3.… 2010-0… P.O. Sp… NA "" "{\"t… ebura #> # … with more rows, and 18 more variables: 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.33.0 #> # [/Users/sckott/Library/Caches/pleiades/pleiades_all.sqlite3] #> authors bbox connectsWith created creators currentVersion description extent #> <chr> <chr> <chr> <chr> <chr> <int> <chr> <chr> #> 1 Becker… 13.4… "413005" 2016-1… jbecker… 1 The post-R… "{\"t… #> 2 Becker… 11.6… "413393" 2016-1… jbecker… 2 A major ur… "{\"t… #> 3 Spann,… -3.6… "" 2010-0… P.O. Sp… 15 An ancient… "{\"t… #> 4 Spann,… -0.5… "" 2010-0… P.O. Sp… 4 Contestani… "{\"t… #> 5 Spann,… -2.4… "" 2010-0… P.O. Sp… 6 An ancient… "{\"t… #> 6 Spann,… 0.10… "269561" 2018-0… P.O. Sp… 8 An ancient… "{\"t… #> 7 Spann,… -3.9… "" 2010-0… P.O. Sp… 3 An ancient… "{\"t… #> 8 Spann,… 1.43… "265884" 2010-0… P.O. Sp… 5 An ancient… "{\"t… #> 9 Spann,… 1.43… "266001" 2010-0… P.O. Sp… 7 Ebusus Ins… "{\"t… #> 10 Spann,… -3.3… "" 2010-0… P.O. Sp… 5 An ancient… "{\"t… #> # … with more rows, and 18 more variables: 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.33.0 #> # [/Users/sckott/Library/Caches/pleiades/pleiades_locations.sqlite3] #> authors bbox created creators currentVersion description featureType #> <chr> <chr> <chr> <chr> <int> <chr> <chr> #> 1 Becker… 13.4… 2013-0… jbecker 4 "The post-… settlement, #> 2 Becker… 11.6… 2013-0… jbecker 3 "A major u… temple-2, #> 3 Spann,… -3.6… 2011-0… P.O. Sp… 1 "1M scale … unknown #> 4 Spann,… -2.0… 2010-0… P.O. Sp… 0 "" unknown #> 5 Spann,… -2.4… 2011-0… P.O. Sp… 1 "1M scale … unknown #> 6 Spann,… 0.10… 2011-0… P.O. Sp… 1 "1:1 milli… unknown #> 7 Spann,… -3.9… 2011-0… P.O. Sp… 1 "1M scale … unknown #> 8 Spann,… 1.43… 2011-0… P.O. Sp… 1 "1M scale … unknown #> 9 Becker… 1.43… 2013-0… jbecker 1 "verified … island #> 10 Spann,… -3.3… 2011-0… P.O. Sp… 1 "1M scale … unknown #> # … with more rows, and 18 more variables: 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.33.0 #> # [/Users/sckott/Library/Caches/pleiades/pleiades_locations.sqlite3] #> authors bbox created creators currentVersion description featureType geometry #> <chr> <chr> <chr> <chr> <int> <chr> <chr> <chr> #> 1 Becker… 13.4… 2013-0… jbecker 4 "The post-… settlement, "{\"typ… #> 2 Becker… 11.6… 2013-0… jbecker 3 "A major u… temple-2, "{\"typ… #> 3 Spann,… -3.6… 2011-0… P.O. Sp… 1 "1M scale … unknown "{\"typ… #> 4 Spann,… -2.0… 2010-0… P.O. Sp… 0 "" unknown "{\"typ… #> 5 Spann,… -2.4… 2011-0… P.O. Sp… 1 "1M scale … unknown "{\"typ… #> # … with 17 more variables: 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.33.0 #> # [/Users/sckott/Library/Caches/pleiades/pleiades_names.sqlite3] #> authors bbox created creators currentVersion description extent id #> <chr> <chr> <chr> <chr> <int> <chr> <chr> <chr> #> 1 Spann,… -3.6… 2010-0… P.O. Sp… NA "" "{\"t… cons… #> 2 Spann,… -3.6… 2010-0… P.O. Sp… NA "" "{\"t… cons… #> 3 Spann,… -3.6… 2010-0… P.O. Sp… NA "" "{\"t… kond… #> 4 Becker… -3.6… 2016-0… jbecker 1 "An ethnic… "{\"t… cons… #> 5 Spann,… -2.0… 2010-0… P.O. Sp… 1 "" "{\"t… cont… #> # … with 18 more variables: 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.33.0 #> # [/Users/sckott/Library/Caches/pleiades/pleiades_places.sqlite3] #> authors bbox connectsWith created creators currentVersion description extent #> <chr> <chr> <chr> <chr> <chr> <int> <chr> <chr> #> 1 Becker… 13.4… "413005" 2016-1… jbecker… 1 The post-R… "{\"t… #> 2 Becker… 11.6… "413393" 2016-1… jbecker… 2 A major ur… "{\"t… #> 3 Spann,… -3.6… "" 2010-0… P.O. Sp… 15 An ancient… "{\"t… #> 4 Spann,… -0.5… "" 2010-0… P.O. Sp… 4 Contestani… "{\"t… #> 5 Spann,… -2.4… "" 2010-0… P.O. Sp… 6 An ancient… "{\"t… #> # … with 18 more variables: 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).
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.