CINXE.COM
Who's On First | Spelunker | About
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="x-ua-compatible" content="ie=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta property="og:type" content="Article" /> <meta property="og:site_name" content="Who's On First Spelunker " /> <meta property="og:title" content="Who's On First Spelunker – About" /> <meta property="og:description" content="" /> <meta property="og:image" content="" /> <title>Who's On First | Spelunker | About</title> <link rel="stylesheet" type="text/css" href="/static//css/bootstrap.5.3.2.min.css" /> <link rel="stylesheet" type="text/css" href="/static//css/leaflet.1.9.4.css" /> <link rel="stylesheet" type="text/css" href="/static//css/whosonfirst.css" /> <link rel="stylesheet" type="text/css" href="/static//css/whosonfirst.spelunker.css" /> <link rel="stylesheet" type="text/css" href="/static//css/whosonfirst.spelunker.yesnofix.css" /> <link rel="stylesheet" type="text/css" href="/static//css/whosonfirst.spelunker.mobile.css" /> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch" title="Who's On First Spelunker Search" /> </head> <body> <header> <div id="nav" class="container"> <ul class="list-inline pull-left" id="nav-links"> <li>who's on first <a href="/" class="hey-look">spelunker</a></li> </ul> <div id="search" class="pull-right"> <form class="d-flex" action="/search" style="margin-bottom:.75em;"> <input class="form-control me-2" type="search" name="q" id="q" placeholder="Search for a place" value="" aria-label="Search"> <button class="btn btn-outline" type="submit">Search</button> </form> </form> </div> <div> <small class="italic pull-right not-a-geocoder">remember — this is a simple full-text search tool and <span class="hey-look">not</span> an <a href="https://geocode.earth/">actual geocoder</a></small> </div> </div> </header> <div class="container"> <h2>The Who's On First Spelunker</h2> <h3>What is this thing?</h3> <p>The <a href="https://en.wikipedia.org/wiki/Caving" class="hey-look">act of spelunking</a> is defined as:</p> <blockquote> <p><span class="hey-look">spelunking</span> |spiˈləNGkiNG| nounN. Amer. <span class="hey-look">the exploration of caves, especially as a hobby.</span></p> </blockquote> <p>The Who's On First spelunker is a tool for looking around the <a href="https://github.com/whosonfirst/whosonfirst-data/" class="hey-look">Who's On First database</a>. It is also a tool for confirming the details about a specific record. Sometimes it's just used to do a simple fulltext query when looking for one or more places. The Spelunker is <em>not</em> a full-fledge geocoder. Geocoders are a whole other beast and the spelunker serves a diffferent purpose.</p> <p>We are also using the spelunker to think about how and what a more complex and sophisticated tool might work and generally how tools might be built using the Who's On First data and where any stress-points in that task remain.</p> <h3>Wait... What is Who's On First?</h3> <p>There is <a href="https://www.whosonfirst.org/blog/2015/08/18/who-s-on-first/" class="hey-look">a very detailed (and not short) blog post</a> discussing what Who's On First is and why Mapzen created it. Briefly, Who's On First is what's sometimes called a <q>gazetteer</q>. A gazetteer is a big list of places, each with a stable identifier and some number of descriptive properties about that location. An interesting way to think about a gazetteer is to consider it as the space where debate about a place is managed but not decided.</p> <h3>How do I use the spelunker?</h3> <p>By poking around! You can start being entering a query string to search for in the form at the top of each page, or start by <a href="/placetypes/" class="hey-look">browsing the different placetypes</a> or all the different ways that <a href="/tags/" class="hey-look">places have been tagged</a> or all the places <a href="/concordances/" class="hey-look">that have concordances with other place identifiers</a> in the Who's On First database. Every place record has links to its relations (ancestors and descendants) as well other metadata, where appropriate.</p> <h3>Can I update data using the spelunker?</h3> <p>Nope. The spelunker is a read-only tool, by design. Eventually there will be a web-based tool for editing Who's On First data but this is not that tool. In the meantime, have a look at the <a href="https://writefield.nextzen.org" class="hey-look">Write Field</a> Who's On First editing tool.</p> <h3>Can I run my own copy of the Spelunker?</h3> <p>Yes. Have a look at the <a href="/code" class="hey-look">Code</a> section for details.</p> <h3>Can I get a copy of all the data in the Spelunker?</h3> <p>Yes! All of the data is currently available on GitHub:</p> <p class="biglink hey-look"><a href="https://github.com/whosonfirst-data">https://github.com/whosonfirst-data</a></p> <h3>Can I put other kinds of data in the spelunker?</h3> <p>Probably? The Spelunker is designed to consume simple <a href="http://www.geojson.org/" class="hey-look">GeoJSON</a> files so there's nothing to prevent you from trying to import data from a different source. That said, the templates and much of the JavaScript used to transform data expects specific properties to be present in the data. More specifically, nothing has been taught to behave nicely when that data isn't present. That's something we should do but it just hasn't happened yet. If you're feeling adventurous we'd love to hear what happens when you try to import a different dataset.</p> </div> <div class="footer" id="footer"> <div class="pull-right">this is a <a href="https://www.whosonfirst.org/" class="hey-look">who's on first</a> gig / you can <span class="hey-look">read all the details</span> on the handy <a href="/about" class="hey-look">about</a> page / see also <a href="https://mapstodon.space/home" class="hey-look" target="mastodon">@whosonfirst</a></div> </div> </body> </html> <script type="text/javascript" src="/static//javascript/localforage.nopromises.min.js"></script> <script type="text/javascript" src="/static//javascript/leaflet.1.9.4.min.js"></script> <script type="text/javascript" src="/static//javascript/protomaps-leaflet.min.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.uri.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.uris.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.geojson.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.maps.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.leaflet.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.leaflet.styles.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.leaflet.handlers.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.cache.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.feature.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.php.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.namify.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.properties.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.countries.js"></script> <script type="text/javascript" src="/static//javascript/whosonfirst.spelunker.yesnofix.js"></script>