The Who's On First Spelunker

What is this thing?

The act of spelunking is defined as:

spelunking |spiˈləNGkiNG| nounN. Amer. the exploration of caves, especially as a hobby.

The Who's On First spelunker is a tool for looking around the Who's On First database. 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 not a full-fledge geocoder. Geocoders are a whole other beast and the spelunker serves a diffferent purpose.

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.

Wait... What is Who's On First?

There is a very detailed (and not short) blog post discussing what Who's On First is and why Mapzen created it. Briefly, Who's On First is what's sometimes called a gazetteer. 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.

How do I use the spelunker?

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 browsing the different placetypes or all the different ways that places have been tagged or all the places that have concordances with other place identifiers in the Who's On First database. Every place record has links to its relations (ancestors and descendants) as well other metadata, where appropriate.

Can I update data using the spelunker?

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 Write Field Who's On First editing tool.

Can I run my own copy of the Spelunker?

Yes. Have a look at the Code section for details.

Can I get a copy of all the data in the Spelunker?

Yes! All of the data is currently available on GitHub:

Can I put other kinds of data in the spelunker?

Probably? The Spelunker is designed to consume simple GeoJSON 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.