In what follows I will document key examples of of the format as it is evolving. This is organized along the lines of each of the top level URL components that are used to control it.
REST
The overall scheme of things is that I am trying to describe a unified set of REST URL patterns. Some of theroutes return information
about
the data sets (i.e.
discovery
) and some of them return actual data.N.B. There are many ways to skin this cat - as is evidenced by the fact that each Publisher who designed a RESTAPI for their data approached it in a slightly different way. In a way that is the problem that I am trying to address.
Data RSS patterns
In what follows, I will use “.” (a single period) to denote the Data RSS endpoint. So when you see “,”, substitute,for example, http://www.followthemoney.org/datarss(another fictional endpoint.)
Request url: .
The base Data RSS Endpoint returns a basic “hello world” response to prove that there is, in fact, a Data RSSEndpoint here. It indicates the version of DataRSS and the name of the publisher, as well as whatever versionnumber they might set for their implementation.Example:
---datarss:version: 0.1source:name: Sunlight Labsversion: 1---
Request url: ./info
Request performance and feature information about this particular endpoint. An accessor might call this at thevery start to learn something about the particular implementation.Example:
Request: ./infoResponse:features:api-key-required: Yesformats: [JSON, XML]
Request url: ./datasets
Return a list of all the distinct data sets that this endpoint publishes. Each dataset corresponds more or less to a table or database or list of information. Datasets also may present various canned queries and default behaviors.Example:
REQUEST: ./datasets
Data RSS - Technical Overview
Pito Salas -rps@salas.com- April 9, 2009
Add a Comment