neo4j-wrapper 0.0.1-java

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.
Files changed (88) hide show
  1. data/Gemfile +10 -0
  2. data/README.rdoc +64 -0
  3. data/lib/db/active_tx_log +1 -0
  4. data/lib/db/index/lucene/node/Person_exact/_0.fdt +0 -0
  5. data/lib/db/index/lucene/node/Person_exact/_0.fdx +0 -0
  6. data/lib/db/index/lucene/node/Person_exact/_0.fnm +1 -0
  7. data/lib/db/index/lucene/node/Person_exact/_0.frq +0 -0
  8. data/lib/db/index/lucene/node/Person_exact/_0.nrm +1 -0
  9. data/lib/db/index/lucene/node/Person_exact/_0.prx +0 -0
  10. data/lib/db/index/lucene/node/Person_exact/_0.tii +0 -0
  11. data/lib/db/index/lucene/node/Person_exact/_0.tis +0 -0
  12. data/lib/db/index/lucene/node/Person_exact/_1.fdt +0 -0
  13. data/lib/db/index/lucene/node/Person_exact/_1.fdx +0 -0
  14. data/lib/db/index/lucene/node/Person_exact/_1.fnm +1 -0
  15. data/lib/db/index/lucene/node/Person_exact/_1.frq +0 -0
  16. data/lib/db/index/lucene/node/Person_exact/_1.nrm +1 -0
  17. data/lib/db/index/lucene/node/Person_exact/_1.prx +0 -0
  18. data/lib/db/index/lucene/node/Person_exact/_1.tii +0 -0
  19. data/lib/db/index/lucene/node/Person_exact/_1.tis +0 -0
  20. data/lib/db/index/lucene/node/Person_exact/_2.fdt +0 -0
  21. data/lib/db/index/lucene/node/Person_exact/_2.fdx +0 -0
  22. data/lib/db/index/lucene/node/Person_exact/_2.fnm +1 -0
  23. data/lib/db/index/lucene/node/Person_exact/_2.frq +0 -0
  24. data/lib/db/index/lucene/node/Person_exact/_2.nrm +1 -0
  25. data/lib/db/index/lucene/node/Person_exact/_2.prx +0 -0
  26. data/lib/db/index/lucene/node/Person_exact/_2.tii +0 -0
  27. data/lib/db/index/lucene/node/Person_exact/_2.tis +0 -0
  28. data/lib/db/index/lucene/node/Person_exact/segments.gen +0 -0
  29. data/lib/db/index/lucene/node/Person_exact/segments_3 +0 -0
  30. data/lib/db/index/lucene-store.db +0 -0
  31. data/lib/db/index/lucene.log.active +0 -0
  32. data/lib/db/index.db +0 -0
  33. data/lib/db/messages.log +826 -0
  34. data/lib/db/neostore +0 -0
  35. data/lib/db/neostore.id +0 -0
  36. data/lib/db/neostore.nodestore.db +0 -0
  37. data/lib/db/neostore.nodestore.db.id +0 -0
  38. data/lib/db/neostore.propertystore.db +0 -0
  39. data/lib/db/neostore.propertystore.db.arrays +0 -0
  40. data/lib/db/neostore.propertystore.db.arrays.id +0 -0
  41. data/lib/db/neostore.propertystore.db.id +0 -0
  42. data/lib/db/neostore.propertystore.db.index +0 -0
  43. data/lib/db/neostore.propertystore.db.index.id +0 -0
  44. data/lib/db/neostore.propertystore.db.index.keys +0 -0
  45. data/lib/db/neostore.propertystore.db.index.keys.id +0 -0
  46. data/lib/db/neostore.propertystore.db.strings +0 -0
  47. data/lib/db/neostore.propertystore.db.strings.id +0 -0
  48. data/lib/db/neostore.relationshipstore.db +0 -0
  49. data/lib/db/neostore.relationshipstore.db.id +0 -0
  50. data/lib/db/neostore.relationshiptypestore.db +0 -0
  51. data/lib/db/neostore.relationshiptypestore.db.id +0 -0
  52. data/lib/db/neostore.relationshiptypestore.db.names +0 -0
  53. data/lib/db/neostore.relationshiptypestore.db.names.id +0 -0
  54. data/lib/db/nioneo_logical.log.active +0 -0
  55. data/lib/db/tm_tx_log.1 +0 -0
  56. data/lib/example.rb +34 -0
  57. data/lib/neo4j/identity_map.rb +109 -0
  58. data/lib/neo4j/node_mixin.rb +74 -0
  59. data/lib/neo4j/relationship_mixin.rb +62 -0
  60. data/lib/neo4j/type_converters/type_converters.rb +333 -0
  61. data/lib/neo4j-wrapper/class_methods.rb +27 -0
  62. data/lib/neo4j-wrapper/find.rb +65 -0
  63. data/lib/neo4j-wrapper/has_n/class_methods.rb +131 -0
  64. data/lib/neo4j-wrapper/has_n/decl_rel.rb +261 -0
  65. data/lib/neo4j-wrapper/has_n/instance_methods.rb +12 -0
  66. data/lib/neo4j-wrapper/has_n/nodes.rb +83 -0
  67. data/lib/neo4j-wrapper/node_mixin/class_methods.rb +53 -0
  68. data/lib/neo4j-wrapper/node_mixin/delegates.rb +140 -0
  69. data/lib/neo4j-wrapper/node_mixin/initialize.rb +43 -0
  70. data/lib/neo4j-wrapper/properties/class_methods.rb +150 -0
  71. data/lib/neo4j-wrapper/relationship_mixin/class_methods.rb +30 -0
  72. data/lib/neo4j-wrapper/relationship_mixin/delegates.rb +110 -0
  73. data/lib/neo4j-wrapper/relationship_mixin/initialize.rb +35 -0
  74. data/lib/neo4j-wrapper/rule/class_methods.rb +204 -0
  75. data/lib/neo4j-wrapper/rule/event_listener.rb +66 -0
  76. data/lib/neo4j-wrapper/rule/functions/count.rb +45 -0
  77. data/lib/neo4j-wrapper/rule/functions/function.rb +76 -0
  78. data/lib/neo4j-wrapper/rule/functions/sum.rb +31 -0
  79. data/lib/neo4j-wrapper/rule/instance_methods.rb +16 -0
  80. data/lib/neo4j-wrapper/rule/neo4j_core_ext/traverser.rb +29 -0
  81. data/lib/neo4j-wrapper/rule/rule.rb +134 -0
  82. data/lib/neo4j-wrapper/rule/rule_node.rb +205 -0
  83. data/lib/neo4j-wrapper/version.rb +5 -0
  84. data/lib/neo4j-wrapper/wrapper.rb +38 -0
  85. data/lib/neo4j-wrapper.rb +35 -0
  86. data/lib/test.rb +61 -0
  87. data/neo4j-wrapper.gemspec +31 -0
  88. metadata +162 -0
@@ -0,0 +1,205 @@
1
+ module Neo4j
2
+ module Wrapper
3
+ module Rule
4
+
5
+ # This is the node that has relationships to all nodes of a given class.
6
+ # For example if the PersonNode has a rule then it will also have one RuleNode
7
+ # from where it will create relationships to each created node of type PersonNode.
8
+ # The RuleNode can also be used to hold properties for functions, like sum and count.
9
+ #
10
+ class RuleNode
11
+ include Neo4j::Core::ToJava
12
+ attr_reader :rules
13
+ attr_reader :model_class
14
+ @@rule_nodes = {}
15
+
16
+ def initialize(clazz)
17
+ classname = clazz.to_s
18
+ @model_class = Neo4j::Wrapper.to_class(classname)
19
+ @classname = clazz
20
+ @rules = []
21
+ @ref_node_key = ("rule_ref_for_" + clazz.to_s).to_sym
22
+ end
23
+
24
+ def to_s
25
+ "RuleNode #{@classname}, @@rule_nodes #{@@rule_nodes.size} #rules: #{@rules.size}"
26
+ end
27
+
28
+ def rule_node
29
+ ref_node._java_node.synchronized do
30
+ @@rule_nodes[key] ||= find_node || create_node
31
+ end
32
+ end
33
+
34
+ def rule_node?(node)
35
+ @@rule_nodes[key] == node
36
+ end
37
+
38
+ def key
39
+ "#{ref_node.neo_id}#{@ref_node_key}".to_sym
40
+ end
41
+
42
+ def ref_node
43
+ if @model_class.respond_to? :ref_node_for_class
44
+ @model_class.ref_node_for_class
45
+ else
46
+ Neo4j.ref_node
47
+ end
48
+ end
49
+
50
+ def create_node
51
+ Neo4j::Transaction.run do
52
+ node = Neo4j::Node.new
53
+ ref_node.create_relationship_to(node, type_to_java(@classname))
54
+ node
55
+ end
56
+ end
57
+
58
+ def inherit(subclass)
59
+ @rules.each do |rule|
60
+ subclass.rule rule.rule_name, rule.props, &rule.filter
61
+ end
62
+ end
63
+
64
+ def find_node
65
+ ref_node.rel?(:outgoing, @classname.to_s) && ref_node._node(:outgoing, @classname.to_s)
66
+ end
67
+
68
+ def ref_node_changed?
69
+ if ref_node != Thread.current[@ref_node_key]
70
+ Thread.current[@ref_node_key] = ref_node
71
+ true
72
+ else
73
+ false
74
+ end
75
+ end
76
+
77
+ def clear_rule_node
78
+ @@rule_nodes[key] = nil
79
+ end
80
+
81
+ def rule_names
82
+ @rules.map { |r| r.rule_name }
83
+ end
84
+
85
+ def find_rule(rule_name)
86
+ @rules.find { |rule| rule.rule_name == rule_name }
87
+ end
88
+
89
+ def add_rule(rule)
90
+ @rules << rule
91
+ end
92
+
93
+ def remove_rule(rule_name)
94
+ r = find_rule(rule_name)
95
+ r && @rules.delete(r)
96
+ end
97
+
98
+ # Return a traversal object with methods for each rule and function.
99
+ # E.g. Person.all.old or Person.all.sum(:age)
100
+ def traversal(rule_name)
101
+ traversal = rule_node.outgoing(rule_name)
102
+ @rules.each do |rule|
103
+ traversal.filter_method(rule.rule_name) do |path|
104
+ path.end_node.rel?(:incoming, rule.rule_name)
105
+ end
106
+ rule.functions && rule.functions.each do |func|
107
+ traversal.functions_method(func, self, rule_name)
108
+ end
109
+ end
110
+ traversal
111
+ end
112
+
113
+ def find_function(rule_name, function_name, function_id)
114
+ rule = find_rule(rule_name)
115
+ rule.find_function(function_name, function_id)
116
+ end
117
+
118
+ def execute_rules(node, *changes)
119
+ @rules.each do |rule|
120
+ execute_rule(rule, node, *changes)
121
+ execute_other_rules(rule, node)
122
+ end
123
+ end
124
+
125
+ def execute_other_rules(rule, node)
126
+ rule.triggers && rule.triggers.each do |rel_type|
127
+ node.incoming(rel_type).each { |n| n.trigger_rules }
128
+ end
129
+ end
130
+
131
+ def execute_rule(rule, node, *changes)
132
+ if rule.execute_filter(node)
133
+ if connected?(rule.rule_name, node)
134
+ # it was already connected - the node is in the same rule group but a property has changed
135
+ execute_update_functions(rule, *changes)
136
+ else
137
+ # the node has changed or is in a new rule group
138
+ connect(rule.rule_name, node)
139
+ execute_add_functions(rule, *changes)
140
+ end
141
+ else
142
+ if break_connection(rule.rule_name, node)
143
+ # the node has been removed from a rule group
144
+ execute_delete_functions(rule, *changes)
145
+ end
146
+ end
147
+ end
148
+
149
+ def execute_update_functions(rule, *changes)
150
+ if functions = find_functions_for_changes(rule, *changes)
151
+ functions && functions.each { |f| f.update(rule.rule_name, rule_node, changes[1], changes[2]) }
152
+ end
153
+ end
154
+
155
+ def execute_add_functions(rule, *changes)
156
+ if functions = find_functions_for_changes(rule, *changes)
157
+ functions && functions.each { |f| f.add(rule.rule_name, rule_node, changes[2]) }
158
+ end
159
+ end
160
+
161
+ def execute_delete_functions(rule, *changes)
162
+ if functions = find_functions_for_changes(rule, *changes)
163
+ functions.each { |f| f.delete(rule.rule_name, rule_node, changes[1]) }
164
+ end
165
+ end
166
+
167
+ def find_functions_for_changes(rule, *changes)
168
+ !changes.empty? && rule.functions_for(changes[0])
169
+ end
170
+
171
+ # work out if two nodes are connected by a particular relationship
172
+ # uses the end_node to start with because it's more likely to have less relationships to go through
173
+ # (just the number of superclasses it has really)
174
+ def connected?(rule_name, end_node)
175
+ end_node.nodes(:incoming, rule_name).find { |n| n == rule_node }
176
+ end
177
+
178
+ def connect(rule_name, end_node)
179
+ rule_node._java_node.create_relationship_to(end_node._java_node, type_to_java(rule_name))
180
+ end
181
+
182
+ # sever a direct one-to-one relationship if it exists
183
+ def break_connection(rule_name, end_node)
184
+ rel = end_node._rels(:incoming, rule_name).find { |r| r._start_node == rule_node }
185
+ rel && rel.del
186
+ !rel.nil?
187
+ end
188
+
189
+ def bulk_update?
190
+ @rules.size == 1 && @rules.first.bulk_update?
191
+ end
192
+
193
+ def classes_changed(total)
194
+ @rules.each do |rule|
195
+ if rule.bulk_update?
196
+ rule.functions.first.classes_changed(rule.rule_name, rule_node, total)
197
+ total.added.each { |node| connect(rule.rule_name, node) }
198
+ total.deleted.each { |node| break_connection(rule.rule_name, node) }
199
+ end
200
+ end
201
+ end
202
+ end
203
+ end
204
+ end
205
+ end
@@ -0,0 +1,5 @@
1
+ module Neo4j
2
+ module Wrapper
3
+ VERSION = '0.0.1'
4
+ end
5
+ end
@@ -0,0 +1,38 @@
1
+ module Neo4j
2
+ module Wrapper
3
+
4
+ # This method is used when loading Neo4j::Node objects
5
+ #
6
+ # Reads the <tt>_classname</tt> property and tries to load the ruby class.
7
+ # The Neo4j::Core gem will use this method, because the following:
8
+ # Neo4j::Node.wrapper_proc=method(:wrapper)
9
+ #
10
+ # @param [Neo4j::Node, Neo4j:Relationship] entity the entity which might be wrapped
11
+ # @return [Object] a Ruby class wrapping the given entity
12
+ # @see Neo4j::Core::Wrapper.wrapper_proc=
13
+ def wrapper(entity)
14
+ return entity unless entity.property?(:_classname)
15
+ existing_instance = Neo4j::IdentityMap.get(entity)
16
+ return existing_instance if existing_instance
17
+ new_instance = to_class(entity[:_classname])._load_wrapper(entity)
18
+ Neo4j::IdentityMap.add(entity, new_instance)
19
+ new_instance
20
+ end
21
+
22
+ # @param [String] class_name the name we want the Class for
23
+ # @return [Class] the class corresponding to the given name
24
+ def to_class(class_name)
25
+ class_name.split("::").inject(Kernel) { |container, name| container.const_get(name.to_s) }
26
+ end
27
+
28
+ extend self
29
+
30
+ Neo4j::Node.wrapper_proc=method(:wrapper)
31
+ Neo4j::Relationship.wrapper_proc=method(:wrapper)
32
+
33
+
34
+ end
35
+
36
+
37
+ end
38
+
@@ -0,0 +1,35 @@
1
+ require 'neo4j-core'
2
+
3
+ require 'neo4j-wrapper/wrapper'
4
+ require 'neo4j-wrapper/class_methods'
5
+ require 'neo4j-wrapper/version'
6
+ require 'neo4j-wrapper/node_mixin/delegates'
7
+ require 'neo4j-wrapper/node_mixin/class_methods'
8
+ require 'neo4j-wrapper/node_mixin/initialize'
9
+
10
+ require 'neo4j-wrapper/properties/class_methods'
11
+
12
+ require 'neo4j-wrapper/has_n/class_methods'
13
+ require 'neo4j-wrapper/has_n/decl_rel'
14
+ require 'neo4j-wrapper/has_n/nodes'
15
+ require 'neo4j-wrapper/has_n/instance_methods'
16
+
17
+ require 'neo4j-wrapper/relationship_mixin/class_methods'
18
+ require 'neo4j-wrapper/relationship_mixin/initialize'
19
+ require 'neo4j-wrapper/relationship_mixin/delegates'
20
+ require 'neo4j-wrapper/find'
21
+
22
+ require 'neo4j-wrapper/rule/neo4j_core_ext/traverser'
23
+ require 'neo4j-wrapper/rule/class_methods'
24
+ require 'neo4j-wrapper/rule/instance_methods'
25
+ require 'neo4j-wrapper/rule/event_listener'
26
+ require 'neo4j-wrapper/rule/rule'
27
+ require 'neo4j-wrapper/rule/rule_node'
28
+ require 'neo4j-wrapper/rule/functions/function'
29
+ require 'neo4j-wrapper/rule/functions/count'
30
+ require 'neo4j-wrapper/rule/functions/sum'
31
+
32
+ require 'neo4j/type_converters/type_converters'
33
+ require 'neo4j/node_mixin'
34
+ require 'neo4j/relationship_mixin'
35
+ require 'neo4j/identity_map'
data/lib/test.rb ADDED
@@ -0,0 +1,61 @@
1
+ def calc(x)
2
+ x + 1
3
+ end
4
+
5
+ p = method(:calc)
6
+ t = Time.now
7
+ (0..10000).each { |x| calc(x) }
8
+ total = Time.now - t
9
+ puts "1. total = #{total}"
10
+
11
+ #p = Proc.new {|x| x + 1}
12
+ t = Time.now
13
+ (0..10000).each { |x| p.call(x) }
14
+ total = Time.now - t
15
+ puts "2. total = #{total}"
16
+
17
+ puts "================="
18
+ t = Time.now
19
+ (0..10000).each { |x| calc(x) }
20
+ total = Time.now - t
21
+ puts "1. total = #{total}"
22
+
23
+ t = Time.now
24
+ (0..10000).each { |x| p.call(x) }
25
+ total = Time.now - t
26
+ puts "2. total = #{total}"
27
+
28
+ puts "================="
29
+ t = Time.now
30
+ (0..10000).each { |x| calc(x) }
31
+ total = Time.now - t
32
+ puts "1. total = #{total}"
33
+
34
+ t = Time.now
35
+ (0..10000).each { |x| p.call(x) }
36
+ total = Time.now - t
37
+ puts "2. total = #{total}"
38
+
39
+ p = method(:calc).to_proc
40
+
41
+ puts "================= TO PROC"
42
+ t = Time.now
43
+ (0..10000).each { |x| calc(x) }
44
+ total = Time.now - t
45
+ puts "1. total = #{total}"
46
+
47
+ t = Time.now
48
+ (0..10000).each { |x| p.call(x) }
49
+ total = Time.now - t
50
+ puts "2. total = #{total}"
51
+
52
+ puts "================= TO PROC"
53
+ t = Time.now
54
+ (0..10000).each { |x| calc(x) }
55
+ total = Time.now - t
56
+ puts "1. total = #{total}"
57
+
58
+ t = Time.now
59
+ (0..10000).each { |x| p.call(x) }
60
+ total = Time.now - t
61
+ puts "2. total = #{total}"
@@ -0,0 +1,31 @@
1
+ lib = File.expand_path('../lib/', __FILE__)
2
+ $:.unshift lib unless $:.include?(lib)
3
+
4
+ require 'neo4j-wrapper/version'
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "neo4j-wrapper"
8
+ s.version = Neo4j::Wrapper::VERSION
9
+ s.platform = 'java'
10
+ s.required_ruby_version = ">= 1.8.7"
11
+
12
+ s.authors = "Andreas Ronge"
13
+ s.email = 'andreas.ronge@gmail.com'
14
+ s.homepage = "http://github.com/andreasronge/neo4j-wrapper/tree"
15
+ s.rubyforge_project = 'neo4j-wrapper'
16
+ s.summary = "A graph database for JRuby"
17
+ s.description = <<-EOF
18
+ You can think of Neo4j as a high-performance graph engine with all the features of a mature and robust database.
19
+ The programmer works with an object-oriented, flexible network structure rather than with strict and static tables
20
+ yet enjoys all the benefits of a fully transactional, enterprise-strength database.
21
+ It comes included with the Apache Lucene document database.
22
+ EOF
23
+
24
+ s.require_path = 'lib'
25
+ s.files = Dir.glob("{bin,lib,config}/**/*") + %w(README.rdoc Gemfile neo4j-wrapper.gemspec)
26
+ s.has_rdoc = true
27
+ s.extra_rdoc_files = %w( README.rdoc )
28
+ s.rdoc_options = ["--quiet", "--title", "Neo4j.rb", "--line-numbers", "--main", "README.rdoc", "--inline-source"]
29
+
30
+ s.add_dependency("neo4j-core", "0.0.6")
31
+ end
metadata ADDED
@@ -0,0 +1,162 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: neo4j-wrapper
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.1
6
+ platform: java
7
+ authors:
8
+ - Andreas Ronge
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2012-04-03 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: neo4j-core
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - "="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.6
24
+ type: :runtime
25
+ version_requirements: *id001
26
+ description: |
27
+ You can think of Neo4j as a high-performance graph engine with all the features of a mature and robust database.
28
+ The programmer works with an object-oriented, flexible network structure rather than with strict and static tables
29
+ yet enjoys all the benefits of a fully transactional, enterprise-strength database.
30
+ It comes included with the Apache Lucene document database.
31
+
32
+ email: andreas.ronge@gmail.com
33
+ executables: []
34
+
35
+ extensions: []
36
+
37
+ extra_rdoc_files:
38
+ - README.rdoc
39
+ files:
40
+ - lib/test.rb
41
+ - lib/neo4j-wrapper.rb
42
+ - lib/example.rb
43
+ - lib/neo4j-wrapper/find.rb
44
+ - lib/neo4j-wrapper/wrapper.rb
45
+ - lib/neo4j-wrapper/class_methods.rb
46
+ - lib/neo4j-wrapper/version.rb
47
+ - lib/neo4j-wrapper/relationship_mixin/initialize.rb
48
+ - lib/neo4j-wrapper/relationship_mixin/delegates.rb
49
+ - lib/neo4j-wrapper/relationship_mixin/class_methods.rb
50
+ - lib/neo4j-wrapper/properties/class_methods.rb
51
+ - lib/neo4j-wrapper/has_n/nodes.rb
52
+ - lib/neo4j-wrapper/has_n/instance_methods.rb
53
+ - lib/neo4j-wrapper/has_n/decl_rel.rb
54
+ - lib/neo4j-wrapper/has_n/class_methods.rb
55
+ - lib/neo4j-wrapper/node_mixin/initialize.rb
56
+ - lib/neo4j-wrapper/node_mixin/delegates.rb
57
+ - lib/neo4j-wrapper/node_mixin/class_methods.rb
58
+ - lib/neo4j-wrapper/rule/rule.rb
59
+ - lib/neo4j-wrapper/rule/rule_node.rb
60
+ - lib/neo4j-wrapper/rule/instance_methods.rb
61
+ - lib/neo4j-wrapper/rule/class_methods.rb
62
+ - lib/neo4j-wrapper/rule/event_listener.rb
63
+ - lib/neo4j-wrapper/rule/functions/function.rb
64
+ - lib/neo4j-wrapper/rule/functions/count.rb
65
+ - lib/neo4j-wrapper/rule/functions/sum.rb
66
+ - lib/neo4j-wrapper/rule/neo4j_core_ext/traverser.rb
67
+ - lib/neo4j/identity_map.rb
68
+ - lib/neo4j/node_mixin.rb
69
+ - lib/neo4j/relationship_mixin.rb
70
+ - lib/neo4j/type_converters/type_converters.rb
71
+ - lib/db/neostore.relationshiptypestore.db.names
72
+ - lib/db/neostore.id
73
+ - lib/db/neostore.relationshiptypestore.db.names.id
74
+ - lib/db/neostore.nodestore.db.id
75
+ - lib/db/neostore.propertystore.db.index
76
+ - lib/db/neostore.propertystore.db.strings.id
77
+ - lib/db/nioneo_logical.log.active
78
+ - lib/db/neostore.propertystore.db.strings
79
+ - lib/db/neostore.relationshiptypestore.db.id
80
+ - lib/db/neostore
81
+ - lib/db/neostore.nodestore.db
82
+ - lib/db/neostore.propertystore.db.index.keys.id
83
+ - lib/db/neostore.propertystore.db.arrays.id
84
+ - lib/db/messages.log
85
+ - lib/db/neostore.relationshipstore.db.id
86
+ - lib/db/neostore.propertystore.db.arrays
87
+ - lib/db/neostore.relationshipstore.db
88
+ - lib/db/neostore.propertystore.db.index.id
89
+ - lib/db/neostore.propertystore.db.id
90
+ - lib/db/index.db
91
+ - lib/db/neostore.propertystore.db
92
+ - lib/db/tm_tx_log.1
93
+ - lib/db/neostore.relationshiptypestore.db
94
+ - lib/db/active_tx_log
95
+ - lib/db/neostore.propertystore.db.index.keys
96
+ - lib/db/index/lucene-store.db
97
+ - lib/db/index/lucene.log.active
98
+ - lib/db/index/lucene/node/Person_exact/_1.prx
99
+ - lib/db/index/lucene/node/Person_exact/_1.tii
100
+ - lib/db/index/lucene/node/Person_exact/_0.fdx
101
+ - lib/db/index/lucene/node/Person_exact/segments.gen
102
+ - lib/db/index/lucene/node/Person_exact/_0.frq
103
+ - lib/db/index/lucene/node/Person_exact/_2.tii
104
+ - lib/db/index/lucene/node/Person_exact/_1.nrm
105
+ - lib/db/index/lucene/node/Person_exact/_0.nrm
106
+ - lib/db/index/lucene/node/Person_exact/_1.tis
107
+ - lib/db/index/lucene/node/Person_exact/_2.frq
108
+ - lib/db/index/lucene/node/Person_exact/_2.nrm
109
+ - lib/db/index/lucene/node/Person_exact/_2.fdt
110
+ - lib/db/index/lucene/node/Person_exact/_0.fdt
111
+ - lib/db/index/lucene/node/Person_exact/_0.tis
112
+ - lib/db/index/lucene/node/Person_exact/_1.fnm
113
+ - lib/db/index/lucene/node/Person_exact/_1.frq
114
+ - lib/db/index/lucene/node/Person_exact/_0.tii
115
+ - lib/db/index/lucene/node/Person_exact/_2.tis
116
+ - lib/db/index/lucene/node/Person_exact/_2.prx
117
+ - lib/db/index/lucene/node/Person_exact/_2.fdx
118
+ - lib/db/index/lucene/node/Person_exact/_0.prx
119
+ - lib/db/index/lucene/node/Person_exact/_2.fnm
120
+ - lib/db/index/lucene/node/Person_exact/_1.fdt
121
+ - lib/db/index/lucene/node/Person_exact/_0.fnm
122
+ - lib/db/index/lucene/node/Person_exact/_1.fdx
123
+ - lib/db/index/lucene/node/Person_exact/segments_3
124
+ - README.rdoc
125
+ - Gemfile
126
+ - neo4j-wrapper.gemspec
127
+ homepage: http://github.com/andreasronge/neo4j-wrapper/tree
128
+ licenses: []
129
+
130
+ post_install_message:
131
+ rdoc_options:
132
+ - --quiet
133
+ - --title
134
+ - Neo4j.rb
135
+ - --line-numbers
136
+ - --main
137
+ - README.rdoc
138
+ - --inline-source
139
+ require_paths:
140
+ - lib
141
+ required_ruby_version: !ruby/object:Gem::Requirement
142
+ none: false
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: 1.8.7
147
+ required_rubygems_version: !ruby/object:Gem::Requirement
148
+ none: false
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: "0"
153
+ requirements: []
154
+
155
+ rubyforge_project: neo4j-wrapper
156
+ rubygems_version: 1.8.15
157
+ signing_key:
158
+ specification_version: 3
159
+ summary: A graph database for JRuby
160
+ test_files: []
161
+
162
+ has_rdoc: true