neography 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,52 +3,35 @@ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
3
3
  describe Neography::Rest do
4
4
  before(:each) do
5
5
  @neo = Neography::Rest.new
6
+ @new_node1 = @neo.create_node("age" => 31, "name" => "Max")
7
+ @new_node2 = @neo.create_node("age" => 30, "name" => "Helene")
8
+ @new_node3 = @neo.create_node("age" => 17, "name" => "Alex")
9
+ @new_node4 = @neo.create_node("age" => 24, "name" => "Eric")
10
+ @new_node5 = @neo.create_node("age" => 32, "name" => "Leslie")
6
11
  end
7
12
 
8
13
  describe "traverse" do
9
14
  it "can traverse the graph and return nodes" do
10
- new_node1 = @neo.create_node
11
- new_node1[:id] = new_node1["self"].split('/').last
12
- new_node2 = @neo.create_node
13
- new_node2[:id] = new_node2["self"].split('/').last
14
- new_node3 = @neo.create_node
15
- new_node3[:id] = new_node3["self"].split('/').last
16
- new_node4 = @neo.create_node
17
- new_node4[:id] = new_node4["self"].split('/').last
18
- new_node5 = @neo.create_node
19
- new_node5[:id] = new_node5["self"].split('/').last
20
- @neo.create_relationship("friends", new_node1[:id], new_node2[:id])
21
- @neo.create_relationship("friends", new_node2[:id], new_node3[:id])
22
- @neo.create_relationship("friends", new_node3[:id], new_node4[:id])
23
- @neo.create_relationship("friends", new_node4[:id], new_node5[:id])
24
- @neo.create_relationship("friends", new_node3[:id], new_node5[:id])
25
- nodes = @neo.traverse(new_node1[:id], "nodes", {"relationships" => {"type"=> "friends", "direction" => "out"}, "depth" => 4} )
15
+ @neo.create_relationship("friends", @new_node1, @new_node2)
16
+ @neo.create_relationship("friends", @new_node2, @new_node3)
17
+ @neo.create_relationship("friends", @new_node3, @new_node4)
18
+ @neo.create_relationship("friends", @new_node4, @new_node5)
19
+ @neo.create_relationship("friends", @new_node3, @new_node5)
20
+ nodes = @neo.traverse(@new_node1, "nodes", {"relationships" => {"type"=> "friends", "direction" => "out"}, "depth" => 4} )
26
21
  nodes.should_not be_nil
27
- nodes[0]["self"].should == new_node2["self"]
28
- nodes[1]["self"].should == new_node3["self"]
29
- nodes[2]["self"].should == new_node4["self"]
30
- nodes[3]["self"].should == new_node5["self"]
22
+ nodes[0]["self"].should == @new_node2["self"]
23
+ nodes[1]["self"].should == @new_node3["self"]
24
+ nodes[2]["self"].should == @new_node4["self"]
25
+ nodes[3]["self"].should == @new_node5["self"]
31
26
  end
32
-
33
27
  it "can traverse the graph and return relationships" do
34
- new_node1 = @neo.create_node
35
- new_node1[:id] = new_node1["self"].split('/').last
36
- new_node2 = @neo.create_node
37
- new_node2[:id] = new_node2["self"].split('/').last
38
- new_node3 = @neo.create_node
39
- new_node3[:id] = new_node3["self"].split('/').last
40
- new_node4 = @neo.create_node
41
- new_node4[:id] = new_node4["self"].split('/').last
42
- new_node5 = @neo.create_node
43
- new_node5[:id] = new_node5["self"].split('/').last
44
-
45
- new_relationship1= @neo.create_relationship("friends", new_node1[:id], new_node2[:id])
46
- new_relationship2= @neo.create_relationship("friends", new_node2[:id], new_node3[:id])
47
- new_relationship3= @neo.create_relationship("friends", new_node3[:id], new_node4[:id])
48
- new_relationship4= @neo.create_relationship("friends", new_node4[:id], new_node5[:id])
49
- new_relationship5= @neo.create_relationship("friends", new_node3[:id], new_node5[:id])
50
-
51
- relationships = @neo.traverse(new_node1[:id], "relationships", {"relationships" => {"type"=> "friends", "direction" => "out"}, "depth" => 4} )
28
+ new_relationship1= @neo.create_relationship("friends", @new_node1, @new_node2)
29
+ new_relationship2= @neo.create_relationship("friends", @new_node2, @new_node3)
30
+ new_relationship3= @neo.create_relationship("friends", @new_node3, @new_node4)
31
+ new_relationship4= @neo.create_relationship("friends", @new_node4, @new_node5)
32
+ new_relationship5= @neo.create_relationship("friends", @new_node3, @new_node5)
33
+
34
+ relationships = @neo.traverse(@new_node1, "relationships", {"relationships" => {"type"=> "friends", "direction" => "out"}, "depth" => 4} )
52
35
  relationships.should_not be_nil
53
36
 
54
37
  relationships[0]["self"].should == new_relationship1["self"]
@@ -58,173 +41,109 @@ describe Neography::Rest do
58
41
  end
59
42
 
60
43
  it "can traverse the graph and return paths" do
61
- new_node1 = @neo.create_node
62
- new_node1[:id] = new_node1["self"].split('/').last
63
- new_node2 = @neo.create_node
64
- new_node2[:id] = new_node2["self"].split('/').last
65
- new_node3 = @neo.create_node
66
- new_node3[:id] = new_node3["self"].split('/').last
67
- new_node4 = @neo.create_node
68
- new_node4[:id] = new_node4["self"].split('/').last
69
- new_node5 = @neo.create_node
70
- new_node5[:id] = new_node5["self"].split('/').last
71
-
72
- new_relationship1= @neo.create_relationship("friends", new_node1[:id], new_node2[:id])
73
- new_relationship2= @neo.create_relationship("friends", new_node2[:id], new_node3[:id])
74
- new_relationship3= @neo.create_relationship("friends", new_node3[:id], new_node4[:id])
75
- new_relationship4= @neo.create_relationship("friends", new_node4[:id], new_node5[:id])
76
- new_relationship5= @neo.create_relationship("friends", new_node3[:id], new_node5[:id])
77
-
78
- paths = @neo.traverse(new_node1[:id], "paths", {"relationships" => {"type"=> "friends", "direction" => "out"}, "depth" => 4} )
44
+ new_relationship1= @neo.create_relationship("friends", @new_node1, @new_node2)
45
+ new_relationship2= @neo.create_relationship("friends", @new_node2, @new_node3)
46
+ new_relationship3= @neo.create_relationship("friends", @new_node3, @new_node4)
47
+ new_relationship4= @neo.create_relationship("friends", @new_node4, @new_node5)
48
+ new_relationship5= @neo.create_relationship("friends", @new_node3, @new_node5)
49
+
50
+ paths = @neo.traverse(@new_node1, "paths", {"relationships" => {"type"=> "friends", "direction" => "out"}, "depth" => 4} )
79
51
  paths.should_not be_nil
80
52
 
81
- paths[0]["nodes"].should == [new_node1["self"], new_node2["self"]]
82
- paths[1]["nodes"].should == [new_node1["self"], new_node2["self"], new_node3["self"]]
83
- paths[2]["nodes"].should == [new_node1["self"], new_node2["self"], new_node3["self"], new_node4["self"]]
84
- paths[3]["nodes"].should == [new_node1["self"], new_node2["self"], new_node3["self"], new_node4["self"], new_node5["self"]]
53
+ paths[0]["nodes"].should == [@new_node1["self"], @new_node2["self"]]
54
+ paths[1]["nodes"].should == [@new_node1["self"], @new_node2["self"], @new_node3["self"]]
55
+ paths[2]["nodes"].should == [@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node4["self"]]
56
+ paths[3]["nodes"].should == [@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node4["self"], @new_node5["self"]]
85
57
  end
86
58
 
87
59
  it "can traverse the graph up to a certain depth" do
88
- new_node1 = @neo.create_node
89
- new_node1[:id] = new_node1["self"].split('/').last
90
- new_node2 = @neo.create_node
91
- new_node2[:id] = new_node2["self"].split('/').last
92
- new_node3 = @neo.create_node
93
- new_node3[:id] = new_node3["self"].split('/').last
94
- new_node4 = @neo.create_node
95
- new_node4[:id] = new_node4["self"].split('/').last
96
- new_node5 = @neo.create_node
97
- new_node5[:id] = new_node5["self"].split('/').last
98
-
99
- new_relationship1= @neo.create_relationship("friends", new_node1[:id], new_node2[:id])
100
- new_relationship2= @neo.create_relationship("friends", new_node2[:id], new_node3[:id])
101
- new_relationship3= @neo.create_relationship("friends", new_node3[:id], new_node4[:id])
102
- new_relationship4= @neo.create_relationship("friends", new_node4[:id], new_node5[:id])
103
- new_relationship5= @neo.create_relationship("friends", new_node3[:id], new_node5[:id])
104
-
105
- paths = @neo.traverse(new_node1[:id], "paths", {"relationships" => {"type"=> "friends", "direction" => "out"}, "depth" => 3} )
60
+ new_relationship1= @neo.create_relationship("friends", @new_node1, @new_node2)
61
+ new_relationship2= @neo.create_relationship("friends", @new_node2, @new_node3)
62
+ new_relationship3= @neo.create_relationship("friends", @new_node3, @new_node4)
63
+ new_relationship4= @neo.create_relationship("friends", @new_node4, @new_node5)
64
+ new_relationship5= @neo.create_relationship("friends", @new_node3, @new_node5)
65
+
66
+ paths = @neo.traverse(@new_node1, "paths", {"relationships" => {"type"=> "friends", "direction" => "out"}, "depth" => 3} )
106
67
  paths.should_not be_nil
107
68
 
108
- paths[0]["nodes"].should == [new_node1["self"], new_node2["self"]]
109
- paths[1]["nodes"].should == [new_node1["self"], new_node2["self"], new_node3["self"]]
110
- paths[2]["nodes"].should == [new_node1["self"], new_node2["self"], new_node3["self"], new_node4["self"]]
111
- paths[3]["nodes"].should == [new_node1["self"], new_node2["self"], new_node3["self"], new_node5["self"]]
69
+ paths[0]["nodes"].should == [@new_node1["self"], @new_node2["self"]]
70
+ paths[1]["nodes"].should == [@new_node1["self"], @new_node2["self"], @new_node3["self"]]
71
+ paths[2]["nodes"].should == [@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node4["self"]]
72
+ paths[3]["nodes"].should == [@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node5["self"]]
112
73
  end
113
74
 
114
75
  it "can traverse the graph in a certain order" do
115
- new_node1 = @neo.create_node
116
- new_node1[:id] = new_node1["self"].split('/').last
117
- new_node2 = @neo.create_node
118
- new_node2[:id] = new_node2["self"].split('/').last
119
- new_node3 = @neo.create_node
120
- new_node3[:id] = new_node3["self"].split('/').last
121
- new_node4 = @neo.create_node
122
- new_node4[:id] = new_node4["self"].split('/').last
123
- new_node5 = @neo.create_node
124
- new_node5[:id] = new_node5["self"].split('/').last
125
-
126
- new_relationship1= @neo.create_relationship("friends", new_node1[:id], new_node2[:id])
127
- new_relationship2= @neo.create_relationship("friends", new_node2[:id], new_node3[:id])
128
- new_relationship3= @neo.create_relationship("friends", new_node3[:id], new_node4[:id])
129
- new_relationship4= @neo.create_relationship("friends", new_node4[:id], new_node5[:id])
130
- new_relationship5= @neo.create_relationship("friends", new_node3[:id], new_node5[:id])
131
-
132
- paths = @neo.traverse(new_node1[:id], "paths", {"order" => "breadth first", "relationships" => {"type"=> "friends", "direction" => "out"}, "depth" => 4} )
76
+ new_relationship1= @neo.create_relationship("friends", @new_node1, @new_node2)
77
+ new_relationship2= @neo.create_relationship("friends", @new_node2, @new_node3)
78
+ new_relationship3= @neo.create_relationship("friends", @new_node3, @new_node4)
79
+ new_relationship4= @neo.create_relationship("friends", @new_node4, @new_node5)
80
+ new_relationship5= @neo.create_relationship("friends", @new_node3, @new_node5)
81
+
82
+ paths = @neo.traverse(@new_node1, "paths", {"order" => "breadth first", "relationships" => {"type"=> "friends", "direction" => "out"}, "depth" => 4} )
133
83
  paths.should_not be_nil
134
84
 
135
- paths[0]["nodes"].should == [new_node1["self"], new_node2["self"]]
136
- paths[1]["nodes"].should == [new_node1["self"], new_node2["self"], new_node3["self"]]
137
- paths[2]["nodes"].should == [new_node1["self"], new_node2["self"], new_node3["self"], new_node4["self"]]
138
- paths[3]["nodes"].should == [new_node1["self"], new_node2["self"], new_node3["self"], new_node5["self"]]
85
+ paths[0]["nodes"].should == [@new_node1["self"], @new_node2["self"]]
86
+ paths[1]["nodes"].should == [@new_node1["self"], @new_node2["self"], @new_node3["self"]]
87
+ paths[2]["nodes"].should == [@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node4["self"]]
88
+ paths[3]["nodes"].should == [@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node5["self"]]
139
89
  end
140
90
 
141
91
  it "can traverse the graph with a specific uniqueness" do
142
- new_node1 = @neo.create_node
143
- new_node1[:id] = new_node1["self"].split('/').last
144
- new_node2 = @neo.create_node
145
- new_node2[:id] = new_node2["self"].split('/').last
146
- new_node3 = @neo.create_node
147
- new_node3[:id] = new_node3["self"].split('/').last
148
- new_node4 = @neo.create_node
149
- new_node4[:id] = new_node4["self"].split('/').last
150
- new_node5 = @neo.create_node
151
- new_node5[:id] = new_node5["self"].split('/').last
152
-
153
- new_relationship1= @neo.create_relationship("roommates", new_node1[:id], new_node2[:id])
154
- new_relationship2= @neo.create_relationship("roommates", new_node2[:id], new_node3[:id])
155
- new_relationship1= @neo.create_relationship("friends", new_node3[:id], new_node2[:id])
156
- new_relationship2= @neo.create_relationship("friends", new_node2[:id], new_node5[:id])
157
- new_relationship3= @neo.create_relationship("friends", new_node3[:id], new_node4[:id])
158
- new_relationship4= @neo.create_relationship("friends", new_node4[:id], new_node5[:id])
159
- new_relationship5= @neo.create_relationship("friends", new_node3[:id], new_node5[:id])
160
-
161
- paths = @neo.traverse(new_node1[:id], "paths", {"order" => "breadth first", "uniqueness" => "node global", "relationships" => [{"type"=> "roommates", "direction" => "all"},{"type"=> "friends", "direction" => "out"}], "depth" => 4} )
92
+ new_relationship1= @neo.create_relationship("roommates", @new_node1, @new_node2)
93
+ new_relationship2= @neo.create_relationship("roommates", @new_node2, @new_node3)
94
+ new_relationship1= @neo.create_relationship("friends", @new_node3, @new_node2)
95
+ new_relationship2= @neo.create_relationship("friends", @new_node2, @new_node5)
96
+ new_relationship3= @neo.create_relationship("friends", @new_node3, @new_node4)
97
+ new_relationship4= @neo.create_relationship("friends", @new_node4, @new_node5)
98
+ new_relationship5= @neo.create_relationship("friends", @new_node3, @new_node5)
99
+
100
+ paths = @neo.traverse(@new_node1, "paths", {"order" => "breadth first", "uniqueness" => "node global", "relationships" => [{"type"=> "roommates", "direction" => "all"},{"type"=> "friends", "direction" => "out"}], "depth" => 4} )
162
101
  paths.should_not be_nil
163
102
 
164
- paths[0]["nodes"].should == [new_node1["self"], new_node2["self"]]
165
- paths[1]["nodes"].should == [new_node1["self"], new_node2["self"], new_node3["self"]]
166
- paths[2]["nodes"].should == [new_node1["self"], new_node2["self"], new_node5["self"]]
167
- paths[3]["nodes"].should == [new_node1["self"], new_node2["self"], new_node3["self"], new_node4["self"]]
103
+ paths[0]["nodes"].should == [@new_node1["self"], @new_node2["self"]]
104
+ paths[1]["nodes"].should == [@new_node1["self"], @new_node2["self"], @new_node3["self"]]
105
+ paths[2]["nodes"].should == [@new_node1["self"], @new_node2["self"], @new_node5["self"]]
106
+ paths[3]["nodes"].should == [@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node4["self"]]
168
107
  end
169
108
 
170
109
  it "can traverse the graph with a prune evaluator" do
171
- new_node1 = @neo.create_node("age" => 31, "name" => "Max")
172
- new_node1[:id] = new_node1["self"].split('/').last
173
- new_node2 = @neo.create_node("age" => 30, "name" => "Helene")
174
- new_node2[:id] = new_node2["self"].split('/').last
175
- new_node3 = @neo.create_node("age" => 17, "name" => "Alex")
176
- new_node3[:id] = new_node3["self"].split('/').last
177
- new_node4 = @neo.create_node("age" => 24, "name" => "Eric")
178
- new_node4[:id] = new_node4["self"].split('/').last
179
- new_node5 = @neo.create_node("age" => 32, "name" => "Leslie")
180
- new_node5[:id] = new_node5["self"].split('/').last
181
-
182
- new_relationship1= @neo.create_relationship("friends", new_node1[:id], new_node2[:id])
183
- new_relationship2= @neo.create_relationship("friends", new_node2[:id], new_node3[:id])
184
- new_relationship3= @neo.create_relationship("friends", new_node3[:id], new_node4[:id])
185
- new_relationship4= @neo.create_relationship("friends", new_node4[:id], new_node5[:id])
186
- new_relationship5= @neo.create_relationship("friends", new_node3[:id], new_node5[:id])
187
-
188
- paths = @neo.traverse(new_node1[:id],
110
+ new_relationship1= @neo.create_relationship("friends", @new_node1, @new_node2)
111
+ new_relationship2= @neo.create_relationship("friends", @new_node2, @new_node3)
112
+ new_relationship3= @neo.create_relationship("friends", @new_node3, @new_node4)
113
+ new_relationship4= @neo.create_relationship("friends", @new_node4, @new_node5)
114
+ new_relationship5= @neo.create_relationship("friends", @new_node3, @new_node5)
115
+
116
+ paths = @neo.traverse(@new_node1,
189
117
  "paths",
190
118
  {"relationships" => {"type"=> "friends", "direction" => "out"},
191
119
  "depth" => 3,
192
120
  "prune evaluator" => {"language" => "javascript", "body" => "position.endNode().getProperty('age') < 21;"
193
121
  }} )
194
122
  paths.should_not be_nil
195
- paths[0]["nodes"].should == [new_node1["self"], new_node2["self"]]
196
- paths[1]["nodes"].should == [new_node1["self"], new_node2["self"], new_node3["self"]]
123
+ paths[0]["nodes"].should == [@new_node1["self"], @new_node2["self"]]
124
+ paths[1]["nodes"].should == [@new_node1["self"], @new_node2["self"], @new_node3["self"]]
197
125
  paths[2].should be_nil
198
126
  end
199
127
 
200
128
  it "can traverse the graph with a return filter" do
201
- new_node1 = @neo.create_node
202
- new_node1[:id] = new_node1["self"].split('/').last
203
- new_node2 = @neo.create_node
204
- new_node2[:id] = new_node2["self"].split('/').last
205
- new_node3 = @neo.create_node
206
- new_node3[:id] = new_node3["self"].split('/').last
207
- new_node4 = @neo.create_node
208
- new_node4[:id] = new_node4["self"].split('/').last
209
- new_node5 = @neo.create_node
210
- new_node5[:id] = new_node5["self"].split('/').last
211
- @neo.create_relationship("friends", new_node1[:id], new_node2[:id])
212
- @neo.create_relationship("friends", new_node2[:id], new_node3[:id])
213
- @neo.create_relationship("friends", new_node3[:id], new_node4[:id])
214
- @neo.create_relationship("friends", new_node4[:id], new_node5[:id])
215
- @neo.create_relationship("friends", new_node3[:id], new_node5[:id])
216
- nodes = @neo.traverse(new_node1[:id], "nodes", {"relationships" => {"type"=> "friends", "direction" => "out"},
129
+ @neo.create_relationship("friends", @new_node1, @new_node2)
130
+ @neo.create_relationship("friends", @new_node2, @new_node3)
131
+ @neo.create_relationship("friends", @new_node3, @new_node4)
132
+ @neo.create_relationship("friends", @new_node4, @new_node5)
133
+ @neo.create_relationship("friends", @new_node3, @new_node5)
134
+ nodes = @neo.traverse(@new_node1, "nodes", {"relationships" => {"type"=> "friends", "direction" => "out"},
217
135
  "return filter" => {"language" => "builtin", "name" => "all"},
218
136
  "depth" => 4} )
219
137
  nodes.should_not be_nil
220
- nodes[0]["self"].should == new_node1["self"]
221
- nodes[1]["self"].should == new_node2["self"]
222
- nodes[2]["self"].should == new_node3["self"]
223
- nodes[3]["self"].should == new_node4["self"]
224
- nodes[4]["self"].should == new_node5["self"]
138
+ nodes[0]["self"].should == @new_node1["self"]
139
+ nodes[1]["self"].should == @new_node2["self"]
140
+ nodes[2]["self"].should == @new_node3["self"]
141
+ nodes[3]["self"].should == @new_node4["self"]
142
+ nodes[4]["self"].should == @new_node5["self"]
225
143
  end
226
144
 
227
145
 
146
+
228
147
  end
229
148
 
230
149
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 2
9
- version: 0.0.2
8
+ - 3
9
+ version: 0.0.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Max De Marzi
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-11-20 00:00:00 -08:00
17
+ date: 2010-11-21 00:00:00 -08:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -102,6 +102,7 @@ extra_rdoc_files: []
102
102
 
103
103
  files:
104
104
  - .gitignore
105
+ - CONTRIBUTORS
105
106
  - Gemfile
106
107
  - Gemfile.lock
107
108
  - LICENSE