Skip to content
forked from socrata/soda-js

A Javascript-based library for accessing the SODA2 API.

Notifications You must be signed in to change notification settings

ryan-hall/soda-js

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

soda-js

A client implementation of the Socrata Open Data API in Coffeescript and Javascript.

Important Note

In order to access the SODA API via HTTPS, clients must now support the Server Name Indication extension to the TLS protocol. What does this mean? It means that if you’re using soda-js, you must use a JavaScript VM that supports SNI:

Supported Operations

Supports both consumer and producer API, but does not currently support creating datasets or the import workflow.

Usage

See the sample/ directory for sample code, but here’s the general idea:

var soda = require('soda-js');

Consumer API

You can query a dataset by SODA2 clauses, or supply a custom SoQL query to be run.

var consumer = new soda.Consumer('explore.data.gov');

consumer.query()
  .withDataset('644b-gaut')
  .limit(5)
  .where({ namelast: 'SMITH' })
  .order('namelast')
  .getRows()
    .on('success', function(rows) { console.log(rows); })
    .on('error', function(error) { console.error(error); });

Using ‘like’ in a where clause:

.where("namelast like '%MITH'")

Producer API

You can add, update, replace, delete, and upsert rows, as well as truncate a dataset.

Note: This library uses the Socrata Open Data API (SODA), which differs in functionality from the Socrata Data Management API. When automating updates to Socrata datasets that utilize one or more on-platform Data Transforms, use the Data Management API to consistently apply those specified transforms. For more on the difference between SODA and the Data Management API, see the latter API’s documentation.

var producer = new soda.Producer('sandbox.demo.socrata.com', sodaConnectionOptions);

var data = { mynum : 42, mytext: "hello world" }

producer.operation()
  .withDataset('rphc-ayt9')
  .add(data)
    .on('success', function(row) { console.log(row); })
    .on('error', function(error) { console.error(error); })

License

Provided under the MIT license.

About

A Javascript-based library for accessing the SODA2 API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 82.2%
  • CoffeeScript 17.8%