-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathREADME.md~
More file actions
175 lines (115 loc) · 3.22 KB
/
README.md~
File metadata and controls
175 lines (115 loc) · 3.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# Graph
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.
## Installation
npm install jug
## Init the graph
var wire = jug.init();
## Init the graph with data
var wire = jug.init({
interest: {
cloth: 't-shirt',
color: 'red',
size: 'medium'
}
});
## Seed node
wire.seed();
## Seed node with data
wire.seed({
info: {
cloth: 't-shirt',
color: 'red',
size: 'medium'
}
});
## Access node
wire.edge( 0 );
## Get distance between nodes
// first argument is 'from' object
// second argument is 'to' object
wire.proximity('interest', 'info');
## Find a node
wire.find( 'info', { color: 'red' } );
## Verify the level
wire.edge( 0 ).level();
## Verify if the current node is the root
wire.isRoot();
## Getting childs of an specified edge
wire.getChildsOf( 0 );
## Getting parents of an specified level and edge
wire.getParentsFrom( 1, 0 );
## Getting the length of childs of an specified edge
wire.getScopeOf( 0 );
## Getting siblings of current level, excluding the index indicated
wire.getSiblingsOf( 1 );
## Example
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'] )
);
## To contribute with anithing
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.
## Branch pattern
### Feature
git checkout -b feature/name-of-the-responsability
### Fix
git checkout -b fix/name-of-the-responsability
## Commit pattern
* Title of the feature or fix
* 80 columns
#### Make a good art, with the code.