Polydata is an unconventional, poly-archical, addressable database loosely based on XRI identifiers. The Polydata library provides authentication and translation of Ruby objects to arbitrary data formats for servers and clients.
Ruby Java
Switch branches/tags
Nothing to show
Clone or download
Michael Mell
Michael Mell tweak README
Latest commit 880f269 Mar 24, 2012



Polydata takes its name from the idea of multiple hierarchies or “poly-archical” structure of related bits of data. In a hierarchical data structure, information can be nested. In a polyarchy, information can be located in multiple hierarchies, in other words, a multidimensional data structure.

This Polydata library defines a domain specific language (DSL) to implement a query-like RESTful api to data residing on a server. Authentication uses the requesting party's private key to encrypt (not sign) a timestamp. The server and client have public and private key pairs residing on the server. The public keys are discoverable via XRI resolution.

A polydata request is in the form of Endpoint/Authority/Type[/Action/[Requester]].

  • Endpoint is generally a web application available at an https url.

  • Authority can be an XRI Canonical Id or Iname.

  • Type, Query and Action implement the DSL.

  • Type can be anything the server and client agree on. The only implementation

extant plays fast and loose with XRIs as described here: en.wikipedia.org/wiki/XRI

Client Installation

Set up the Gemfile

Include the TaskScheduler gem in your Rails application Gemfile:

gem 'polydata'


The Polydata server has not been released.