Who's Got Dirt API
A goal of the IM project is to make it easier for researchers and investigators to aggregate and reconcile data from external sources in order to enrich their own databases and ultimately to reduce the time and effort required to do their work. The project developed a draft data specification to serve as a standard way of representing this data, which various tools can implement to achieve interoperability – including importers, exporters, reconciliation services and visualization tools.
For example, Morgan, a researcher in Ghana, is investigating the awarding of oil entitlements in the Jubilee oil field. From the published contracts, Morgan already has the names of the companies having received an award. Morgan uses a reconciliation service to match the companies with those in OpenCorporates and then uses an importer to add the companies’ directors from OpenCorporates to her database. Morgan then uses another service to query for any links between company directors and government ministers and imports any matches. Morgan then explores this database using a visualization tool authored by another organization.
Presently, fulfilling this example would require writing custom “glue” code at each step, because each service and tool uses a different data interchange format for its inputs and outputs. Switching to a new visualization tool would require reformatting the data to match the tool’s expectations. Small projects in particular are unlikely to have the resources to perform this integration. The result is duplicated effort or orphaned labor, because the barriers to reuse of others’ work is too great.
If, on the other hand, each component of this workflow were to use a standard way of representing data, it would be easier to join the components together and to substitute one component for an alternative.
The work so far
As a real use case for the standards development process, an API is being developed, called “Who’s got dirt?” (WGD). The API behaves as a single point of access to multiple APIs and databases of influence data, allowing a user to query for entities, relations and lists. The WGD API has a single request format and single response format for all the APIs and databases it connects to. Through the process of transforming the various API-specific request and response formats into one common format, a draft specification emerged, upon which further standardization efforts can be pursued by consensus with the broader community.