Graph engine prototype.
I'm trying to build a graph engine, which works on any database supported by it. I know it will be necessary to build mediators for this. So will be the next step, but before anything else, I will build features that deal with the abstract concept of it.
Some of the features that will be included:
- Comparison graphs
- difference
- union
- intersection
- Tree decisions
- Walk through the tree
- versioning
- Kicking actions performed
Are things, basic I work for the "jug" support. And be more if i can.
npm install jug
var wire = jug.init();
var wire = jug.init({
interest: {
cloth: 't-shirt',
color: 'red',
size: 'medium'
}
});
wire.seed();
wire.seed({
info: {
cloth: 't-shirt',
color: 'red',
size: 'medium'
}
});
wire.edge( 0 );
// first argument is 'from' object
// second argument is 'to' object
wire.proximity('interest', 'info');
wire.find( 'info', { color: 'red' } );
wire.edge( 0 ).level();
wire.isRoot();
wire.getChildsOf( 0 );
wire.getParentsFrom( 1, 0 );
wire.getScopeOf( 0 );
wire.getSiblingsOf( 1 );
var Jug = require('jug');
var util = require('util');
var root = Jug.init();
root
.seed()
.seed();
root.data({
interest: {
genre: 'Action',
year: 2014,
stars: [ 'Eva Green', 'Duck Dogers' ]
}
});
root.edge( 0 ).data({
info: {
name: '300: Rise of an Empire',
genre: 'Action',
stars: [ 'Eva Green', 'Duck Dogers' ],
year: 2014
}
});
root.edge( 1 ).data({
info: {
name: 'Man of Steel',
genre: 'Action',
stars: [ 'Henry Cavill' ],
year: 2013
}
});
var distance = root.proximity('interest', 'info');
var close = distance.indexOf( 0 );
var nodeData = root.edge( close ).data();
console.log(
'distance: %s\ndata: %s',
distance.join(', '),
util.inspect( nodeData['info'] )
);
First of all:
git clone https://github.com/kaiquewdev/Graph
enter in the Graph
directory and run:
sudo npm install
after all dependencies was solved, install the mocha
:
sudo npm install -g mocha
and test:
mocha -u tdd lib/index.test.js
Yeah, read the code and contribute with ideas or coding.
git checkout -b feature/name-of-the-responsability
git checkout -b fix/name-of-the-responsability
* Title of the feature or fix
* 80 columns