EventRank
Overview
Usage Notes
This library uses the es2015 Set
type, Object.assign
, and Array.from
, so you may need an es6/es2015 polyfill if your environment does not support those features.
Algorithms
EventRank
provides an implementation of the EventRank algorithm put forth by O’Madadhain & Smyth, 2005.
Installation
npm
npm install --save event-rank
Usage
To calculate EventRanks of correspondents
involved in a series of events
sorted by time...
; /** * Events should be an Array of objects of the form... * { time: <Number>, to: <String|Array<String>>, from: <String> } * sorted by the time property. * * NOTE: default parameters assume time is in milliseconds since the epoch */const events = /* Add events here... */ ; const R = events ; // compute EventRank valuesR; console; // => { ranks... } /** * To lazily compute a stream of events, call step()... * * Note, the model will need to be initially fed a set of * correspondents to track */ const correspondents = // email address (or whatever is in the to/from properties of the events) 1... // email address 2...; const R = correspondents ; eventStream; // if lazily computing, the ranks need to be finished by calling done();R; console; // => { ranks... } /** * If 2 (or more) events can occur at the exact same time, * EventRank can process "bucketed" events... */ const correspondents = // email address 1... // email address 2...; const R = correspondents ; let bucket;eventStream; // include last bucket...R; // if lazily computing, the ranks need to be finished by calling done();R; console; // => { ranks... }