neography 0.0.19 → 0.0.20
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.
- data/Gemfile.lock +1 -2
- data/README.rdoc +5 -1
- data/lib/neography/rest.rb +8 -3
- data/lib/neography/version.rb +1 -1
- data/neography.gemspec +2 -2
- data/spec/integration/rest_plugin_spec.rb +41 -0
- metadata +19 -19
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
neography (0.0.
|
4
|
+
neography (0.0.19)
|
5
5
|
httparty (= 0.7.8)
|
6
6
|
json
|
7
7
|
os
|
@@ -15,7 +15,6 @@ GEM
|
|
15
15
|
httparty (0.7.8)
|
16
16
|
crack (= 0.1.8)
|
17
17
|
json (1.6.4)
|
18
|
-
json (1.6.4-java)
|
19
18
|
net-http-spy (0.2.1)
|
20
19
|
os (0.9.5)
|
21
20
|
rake (0.8.7)
|
data/README.rdoc
CHANGED
@@ -30,6 +30,8 @@ in order to access the functionality.
|
|
30
30
|
=== Dependencies
|
31
31
|
|
32
32
|
for use:
|
33
|
+
os
|
34
|
+
rake
|
33
35
|
json
|
34
36
|
httparty
|
35
37
|
|
@@ -133,8 +135,10 @@ To Use:
|
|
133
135
|
@neo.get_relationship_index(index, key, value) # exact query of the relationship index with the given key/value pair
|
134
136
|
@neo.find_relationship_index(index, key, value) # advanced query of the relationship index with the given key/value pair
|
135
137
|
@neo.find_relationship_index(index, query) # advanced query of the relationship index with the given query
|
136
|
-
@neo.execute_script("g.v(0)") # sends a Groovy script(through the Gremlin plugin)
|
138
|
+
@neo.execute_script("g.v(0)") # sends a Groovy script (through the Gremlin plugin)
|
139
|
+
@neo.execute_script("g.v(id)", {:id => 3}) # sends a parameterized Groovy script (optimized for repeated calls)
|
137
140
|
@neo.execute_query("start n=node(0) return n") # sends a Cypher query (through the Cypher plugin)
|
141
|
+
@neo.execute_query("start n=node(id) return n", {:id => 3}) # sends a parameterized Cypher query (optimized for repeated calls)
|
138
142
|
|
139
143
|
@neo.get_path(node1, node2, relationships, depth=4, algorithm="shortestPath") # finds the shortest path between two nodes
|
140
144
|
@neo.get_paths(node1, node2, relationships, depth=3, algorithm="allPaths") # finds all paths between two nodes
|
data/lib/neography/rest.rb
CHANGED
@@ -341,13 +341,18 @@ module Neography
|
|
341
341
|
paths = post("/node/#{get_id(from)}/paths", options) || Array.new
|
342
342
|
end
|
343
343
|
|
344
|
-
def
|
344
|
+
def execute_query_old(query)
|
345
345
|
options = { :body => {:query => query}.to_json, :headers => {'Content-Type' => 'application/json'} }
|
346
346
|
result = post("/ext/CypherPlugin/graphdb/execute_query", options)
|
347
347
|
end
|
348
|
+
|
349
|
+
def execute_query(query, params = {})
|
350
|
+
options = { :body => {:query => query, :params => params}.to_json, :headers => {'Content-Type' => 'application/json'} }
|
351
|
+
result = post("/ext/CypherPlugin/graphdb/execute_query", options)
|
352
|
+
end
|
348
353
|
|
349
|
-
def execute_script(script)
|
350
|
-
options = { :body =>
|
354
|
+
def execute_script(script, params = {})
|
355
|
+
options = { :body => {:script => script, :params => params}.to_json , :headers => {'Content-Type' => 'application/json'} }
|
351
356
|
result = post("/ext/GremlinPlugin/graphdb/execute_script", options)
|
352
357
|
result == "null" ? nil : result
|
353
358
|
end
|
data/lib/neography/version.rb
CHANGED
data/neography.gemspec
CHANGED
@@ -21,8 +21,8 @@ Gem::Specification.new do |s|
|
|
21
21
|
|
22
22
|
s.add_development_dependency "rspec"
|
23
23
|
s.add_development_dependency "net-http-spy", "0.2.1"
|
24
|
-
s.
|
25
|
-
s.add_dependency "httparty", "0.7.8"
|
24
|
+
s.add_dependency "rake", ">= 0.8.7"
|
25
|
+
s.add_dependency "httparty", "~> 0.7.8"
|
26
26
|
s.add_dependency "json"
|
27
27
|
s.add_dependency "os"
|
28
28
|
s.add_dependency "rubyzip"
|
@@ -11,6 +11,24 @@ describe Neography::Rest do
|
|
11
11
|
root_node.should have_key("self")
|
12
12
|
root_node["self"].split('/').last.should == "0"
|
13
13
|
end
|
14
|
+
|
15
|
+
it "can get the a node" do
|
16
|
+
new_node = @neo.create_node
|
17
|
+
id = new_node["self"].split('/').last
|
18
|
+
existing_node = @neo.execute_script("g.v(#{id})")
|
19
|
+
existing_node.should_not be_nil
|
20
|
+
existing_node.should have_key("self")
|
21
|
+
existing_node["self"].split('/').last.should == id
|
22
|
+
end
|
23
|
+
|
24
|
+
it "can get the a node with a variable" do
|
25
|
+
new_node = @neo.create_node
|
26
|
+
id = new_node["self"].split('/').last
|
27
|
+
existing_node = @neo.execute_script("g.v(id)", {:id => id.to_i})
|
28
|
+
existing_node.should_not be_nil
|
29
|
+
existing_node.should have_key("self")
|
30
|
+
existing_node["self"].split('/').last.should == id
|
31
|
+
end
|
14
32
|
end
|
15
33
|
|
16
34
|
describe "execute cypher query" do
|
@@ -21,6 +39,29 @@ describe Neography::Rest do
|
|
21
39
|
root_node["data"][0][0].should have_key("self")
|
22
40
|
root_node["data"][0][0]["self"].split('/').last.should == "0"
|
23
41
|
end
|
42
|
+
|
43
|
+
it "can get the a node" do
|
44
|
+
new_node = @neo.create_node
|
45
|
+
id = new_node["self"].split('/').last
|
46
|
+
existing_node = @neo.execute_query("start n=node(#{id}) return n")
|
47
|
+
existing_node.should_not be_nil
|
48
|
+
existing_node.should have_key("data")
|
49
|
+
existing_node.should have_key("columns")
|
50
|
+
existing_node["data"][0][0].should have_key("self")
|
51
|
+
existing_node["data"][0][0]["self"].split('/').last.should == id
|
52
|
+
end
|
53
|
+
|
54
|
+
it "can get the a node with a variable" do
|
55
|
+
new_node = @neo.create_node
|
56
|
+
id = new_node["self"].split('/').last
|
57
|
+
existing_node = @neo.execute_query("start n=node({id}) return n", {:id => id.to_i})
|
58
|
+
existing_node.should_not be_nil
|
59
|
+
existing_node.should have_key("data")
|
60
|
+
existing_node.should have_key("columns")
|
61
|
+
existing_node["data"][0][0].should have_key("self")
|
62
|
+
existing_node["data"][0][0]["self"].split('/').last.should == id
|
63
|
+
end
|
64
|
+
|
24
65
|
end
|
25
66
|
|
26
67
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neography
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.20
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-07 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &73293220 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *73293220
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: net-http-spy
|
27
|
-
requirement: &
|
27
|
+
requirement: &73292790 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - =
|
@@ -32,32 +32,32 @@ dependencies:
|
|
32
32
|
version: 0.2.1
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *73292790
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &73292370 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
|
-
- -
|
41
|
+
- - ! '>='
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: 0.8.7
|
44
|
-
type: :
|
44
|
+
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *73292370
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: httparty
|
49
|
-
requirement: &
|
49
|
+
requirement: &73291920 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.7.8
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *73291920
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: json
|
60
|
-
requirement: &
|
60
|
+
requirement: &73291510 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *73291510
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: os
|
71
|
-
requirement: &
|
71
|
+
requirement: &73290970 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *73290970
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rubyzip
|
82
|
-
requirement: &
|
82
|
+
requirement: &73290680 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *73290680
|
91
91
|
description: A Ruby wrapper to the Neo4j Rest API see http://components.neo4j.org/neo4j-rest/
|
92
92
|
for more details.
|
93
93
|
email: maxdemarzi@gmail.com
|