Anzo.*: Building Semantic Applications in Heterogeneous Environments

At Cambridge Semantics we're busy working on what will become version 3 of Open Anzo. As I've written about before, our interest in Semantic Web technologies lies in the powerful applications that can be built by taking advantage of RDF's data model. To this end, we've continually sought RDF programming models that contain features necessary to building these applications:

  • Named graphs (quads) support, for modularizing applications' data
  • Replication, for offline applications and snappy user experience
  • Notification, for real-time collaborative updates
  • Role-based access control, to facilitate a multi-user environment
  • Versioning, to maintain an auditable history of data changes

To promote a consistent development experience between the various environments that we support--Java development, Web development, Windows development--we've worked to define a core set of abstract, client-side APIs (documentation is currently sound but not complete) for building semantic applications that can take advantage of these enterprise features. Currently, we have three concrete instantiations of this API: Anzo.java, Anzo.js, and Anzo.NET. Version 3 of Anzo includes many other architectural improvements intended to help us realize Anzo's status as an open-source semantic middleware platform, and we're not done yet. We do our best to keep the latest version of the code in subversion stable, however, so feel free to check it out. The mailing list is a great place to ask questions. As we get closer to a formal release of Anzo 3, we'll have more code samples, tutorials, and demos to share, so stay tuned...