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
Query also implements the DSL. See github.com/mmell/polydata/blob/master/lib/polydata/type_segment.rb
Action is $get or $post with an optional minor action.
Requester, like Authority, can be an XRI Canonical Id or Iname.
Include the TaskScheduler gem in your Rails application Gemfile:
gem'polydata'
The Polydata server has not been released.