Disclaimer: I'm a developer of Cytoscape.js
Cytoscape.js is a HTML5 graph visualisation library. The API is sophisticated and follows jQuery conventions, including
- selectors for querying and filtering (
cy.elements("node[weight >= 50].someClass")
does much as you would expect),
- chaining (e.g.
cy.nodes().unselect().trigger("mycustomevent")
),
- jQuery-like functions for binding to events,
- elements as collections (like jQuery has collections of HTMLDomElements),
- extensibility (can add custom layouts, UI, core & collection functions, and so on),
- and more.
If you're thinking about building a serious webapp with graphs, you should at least consider Cytoscape.js. It's free and open-source:
http://js.cytoscape.org