Bag datastructure with QUID operations. Core capability is to provide all the relational algebra on bags.
To create a new quid datastructure (referred as bag or quid)
var quid = require('quid');
var bag1 = new quid();
All the following basic operations would work on this datastructure.
- clone() - returns a new copy of the quid
- update??
- insert(element) - adds element to the quid
- delete??
Following are the core operations
- union(quid) - returns a new quid with union of this and quid (arg)
- intersection(quid) - returns a new quid with intersecting elements of this and quid (arg)
- difference(quid) - returns elements only in this and not in quid (arg)
- projection(keys) - returns a new quid with fields passed in keys (array of fields)
- selection(cond) - returns a new quid with filtered results based on condition
- distinct ??
- sorting ??
- grouping ??
- aggregation ??
- js_cols - lib for datastructures (http://code.google.com/p/jscols/)
- js_cols - Apache License
- for rest of the stuff, please refer to LICENSE file