neo4j 1.0.0.beta.27-java → 1.0.0.beta.28-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 (85) hide show
  1. data/CONTRIBUTORS +1 -0
  2. data/lib/neo4j.rb +38 -72
  3. data/lib/neo4j/{algo.rb → algo/algo.rb} +5 -1
  4. data/lib/neo4j/batch/batch.rb +2 -0
  5. data/lib/neo4j/batch/indexer.rb +108 -0
  6. data/lib/neo4j/batch/inserter.rb +168 -0
  7. data/lib/neo4j/database.rb +13 -8
  8. data/lib/neo4j/{mapping/class_methods/list.rb → has_list/class_methods.rb} +2 -4
  9. data/lib/neo4j/has_list/has_list.rb +3 -0
  10. data/lib/neo4j/{mapping/has_list.rb → has_list/mapping.rb} +2 -2
  11. data/lib/neo4j/{mapping/class_methods/relationship.rb → has_n/class_methods.rb} +42 -12
  12. data/lib/neo4j/has_n/decl_relationship_dsl.rb +216 -0
  13. data/lib/neo4j/has_n/has_n.rb +3 -0
  14. data/lib/neo4j/{mapping/has_n.rb → has_n/mapping.rb} +16 -7
  15. data/lib/neo4j/index/index.rb +5 -0
  16. data/lib/neo4j/index/indexer.rb +27 -22
  17. data/lib/neo4j/index/lucene_query.rb +3 -1
  18. data/lib/neo4j/jars/core/neo4j-graph-algo-0.8-1.3.M01.jar +0 -0
  19. data/lib/neo4j/jars/core/neo4j-index-1.3-1.3.M01.jar +0 -0
  20. data/lib/neo4j/jars/core/neo4j-kernel-1.3-1.3.M01.jar +0 -0
  21. data/lib/neo4j/jars/core/neo4j-lucene-index-0.5-1.3.M01.jar +0 -0
  22. data/lib/neo4j/jars/ha/{neo4j-ha-0.6-SNAPSHOT.jar → neo4j-ha-0.6-1.3.M01.jar} +0 -0
  23. data/lib/neo4j/jars/ha/neo4j-management-1.3-1.3.M01.jar +0 -0
  24. data/lib/neo4j/jars/ha/neo4j-shell-1.3-1.3.M01.jar +0 -0
  25. data/lib/neo4j/migrations/class_methods.rb +102 -0
  26. data/lib/neo4j/migrations/extensions.rb +10 -9
  27. data/lib/neo4j/migrations/lazy_node_mixin.rb +50 -0
  28. data/lib/neo4j/migrations/migration.rb +84 -81
  29. data/lib/neo4j/migrations/migrations.rb +6 -100
  30. data/lib/neo4j/migrations/node_mixin.rb +80 -0
  31. data/lib/neo4j/migrations/ref_node_wrapper.rb +32 -0
  32. data/lib/neo4j/neo4j.rb +11 -0
  33. data/lib/neo4j/node.rb +55 -25
  34. data/lib/neo4j/{mapping/class_methods/init_node.rb → node_mixin/class_methods.rb} +3 -3
  35. data/lib/neo4j/{mapping → node_mixin}/node_mixin.rb +35 -18
  36. data/lib/neo4j/{mapping/class_methods/property.rb → property/class_methods.rb} +5 -4
  37. data/lib/neo4j/{property.rb → property/property.rb} +2 -0
  38. data/lib/neo4j/rails/finders.rb +21 -7
  39. data/lib/neo4j/rails/rails.rb +19 -0
  40. data/lib/neo4j/rails/timestamps.rb +1 -1
  41. data/lib/neo4j/relationship.rb +7 -0
  42. data/lib/neo4j/{mapping/class_methods/init_rel.rb → relationship_mixin/class_methods.rb} +4 -4
  43. data/lib/neo4j/{mapping → relationship_mixin}/relationship_mixin.rb +23 -5
  44. data/lib/neo4j/rels/rels.rb +85 -0
  45. data/lib/neo4j/rels/traverser.rb +102 -0
  46. data/lib/neo4j/{mapping/class_methods/rule.rb → rule/class_methods.rb} +11 -11
  47. data/lib/neo4j/rule/functions/count.rb +37 -0
  48. data/lib/neo4j/rule/functions/function.rb +74 -0
  49. data/lib/neo4j/rule/functions/functions.rb +3 -0
  50. data/lib/neo4j/rule/functions/sum.rb +29 -0
  51. data/lib/neo4j/rule/rule.rb +5 -0
  52. data/lib/neo4j/rule/rule_event_listener.rb +162 -0
  53. data/lib/neo4j/rule/rule_node.rb +182 -0
  54. data/lib/neo4j/to_java.rb +0 -14
  55. data/lib/neo4j/traversal/filter_predicate.rb +25 -0
  56. data/lib/neo4j/traversal/prune_evaluator.rb +14 -0
  57. data/lib/neo4j/traversal/rel_expander.rb +31 -0
  58. data/lib/neo4j/traversal/traversal.rb +90 -0
  59. data/lib/neo4j/traversal/traverser.rb +173 -0
  60. data/lib/neo4j/{type_converters.rb → type_converters/type_converters.rb} +0 -0
  61. data/lib/neo4j/version.rb +1 -1
  62. data/lib/test.rb~ +2 -0
  63. data/neo4j.gemspec +11 -10
  64. metadata +48 -37
  65. data/lib/neo4j/functions/count.rb +0 -33
  66. data/lib/neo4j/functions/function.rb +0 -72
  67. data/lib/neo4j/functions/sum.rb +0 -27
  68. data/lib/neo4j/jars/core/neo4j-graph-algo-0.8-SNAPSHOT.jar +0 -0
  69. data/lib/neo4j/jars/core/neo4j-index-1.3-SNAPSHOT.jar +0 -0
  70. data/lib/neo4j/jars/core/neo4j-kernel-1.3-SNAPSHOT.jar +0 -0
  71. data/lib/neo4j/jars/core/neo4j-lucene-index-0.5-SNAPSHOT.jar +0 -0
  72. data/lib/neo4j/jars/ha/neo4j-management-1.3-SNAPSHOT.jar +0 -0
  73. data/lib/neo4j/jars/ha/neo4j-shell-1.3-SNAPSHOT.jar +0 -0
  74. data/lib/neo4j/mapping/decl_relationship_dsl.rb +0 -214
  75. data/lib/neo4j/mapping/rule.rb +0 -158
  76. data/lib/neo4j/mapping/rule_node.rb +0 -176
  77. data/lib/neo4j/migrations.rb +0 -12
  78. data/lib/neo4j/migrations/global_migration.rb +0 -29
  79. data/lib/neo4j/migrations/lazy_migration_mixin.rb +0 -47
  80. data/lib/neo4j/migrations/migration_mixin.rb +0 -78
  81. data/lib/neo4j/node_mixin.rb +0 -4
  82. data/lib/neo4j/node_relationship.rb +0 -161
  83. data/lib/neo4j/node_traverser.rb +0 -224
  84. data/lib/neo4j/relationship_mixin.rb +0 -4
  85. data/lib/neo4j/relationship_traverser.rb +0 -92
data/lib/neo4j/to_java.rb CHANGED
@@ -28,17 +28,3 @@ module Neo4j
28
28
  end
29
29
  end
30
30
  end
31
-
32
-
33
- org.neo4j.kernel.impl.core.IntArrayIterator.class_eval do
34
- def each_wrapped
35
- while(hasNext())
36
- yield self.next().wrapper
37
- end
38
- end
39
-
40
- def wrapped
41
- Enumerator.new(self, :each_wrapped)
42
- end
43
-
44
- end
@@ -0,0 +1,25 @@
1
+ module Neo4j
2
+ module Traversal
3
+ class FilterPredicate # :nodoc:
4
+ include org.neo4j.helpers.Predicate
5
+ def initialize
6
+ @procs = []
7
+ end
8
+
9
+ def add(proc)
10
+ @procs << proc
11
+ end
12
+
13
+ def include_start_node
14
+ @include_start_node = true
15
+ end
16
+
17
+ def accept(path)
18
+ return false if @include_start_node && path.length == 0
19
+ # find the first filter which returns false
20
+ # if not found then we will accept this path
21
+ @procs.find {|p| !p.call(path)}.nil?
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,14 @@
1
+ module Neo4j
2
+ module Traversal
3
+ class PruneEvaluator # :nodoc:
4
+ include org.neo4j.graphdb.traversal.PruneEvaluator
5
+ def initialize(proc)
6
+ @proc = proc
7
+ end
8
+
9
+ def prune_after(path)
10
+ @proc.call(path)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,31 @@
1
+ module Neo4j
2
+ module Traversal
3
+ class RelExpander
4
+ include org.neo4j.graphdb.RelationshipExpander
5
+
6
+ attr_accessor :reversed
7
+
8
+ def initialize(&block)
9
+ @block = block
10
+ @reverse = false
11
+ end
12
+
13
+ def self.create_pair(&block)
14
+ normal = RelExpander.new(&block)
15
+ reversed = RelExpander.new(&block)
16
+ normal.reversed = reversed
17
+ reversed.reversed = normal
18
+ reversed.reverse!
19
+ normal
20
+ end
21
+
22
+ def expand(node)
23
+ @block.arity == 1 ? @block.call(node) : @block.call(node, @reverse)
24
+ end
25
+
26
+ def reverse!
27
+ @reverse = true
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,90 @@
1
+ require 'neo4j/traversal/filter_predicate'
2
+ require 'neo4j/traversal/prune_evaluator'
3
+ require 'neo4j/traversal/rel_expander'
4
+ require 'neo4j/traversal/traverser'
5
+
6
+ module Neo4j
7
+ module Traversal
8
+ include ToJava
9
+
10
+ # A more powerful alternative of #outgoing, #incoming and #both method.
11
+ # You can use this method for example to only traverse nodes based on properties on the relationships
12
+ #
13
+ # ==== Example
14
+ #
15
+ # some_node.expand { |n| n._rels.find_all { |r| r[:age] > 5 } }.depth(:all).to_a
16
+ #
17
+ # The above traverse all relationships with a property of age > 5
18
+ #
19
+ def expand(&expander)
20
+ Traverser.new(self).expander(&expander)
21
+ end
22
+
23
+
24
+ # Returns the outgoing nodes for this node.
25
+ #
26
+ # ==== Returns
27
+ # a Neo4j::NodeTraverser which can be used to further specify which nodes should be included
28
+ # in traversal by using the <tt>depth</tt>, <tt>filter</tt> and <tt>prune</tt> methods.
29
+ #
30
+ # ==== Examples
31
+ # # Find all my friends (nodes of depth 1 of type <tt>friends</tt>)
32
+ # me.outgoing(:friends).each {|friend| puts friend[:name]}
33
+ #
34
+ # # Find all my friends and their friends (nodes of depth 1 of type <tt>friends</tt>)
35
+ # # me.outgoing(:friends).depth(2).each {|friend| puts friend[:name]}
36
+ #
37
+ # # Find all my friends and include my self in the result
38
+ # me.outgoing(:friends).depth(4).include_start_node.each {...}
39
+ #
40
+ # # Find all my friends friends friends, etc. at any depth
41
+ # me.outgoing(:friends).depth(:all).each {...}
42
+ #
43
+ # # Find all my friends friends but do not include my friends (only depth == 2)
44
+ # me.outgoing(:friends).depth(2).filter{|path| path.length == 2}
45
+ #
46
+ # # Find all my friends but 'cut off' some parts of the traversal path
47
+ # me.outgoing(:friends).depth(42).prune(|path| an_expression_using_path_returning_true_false }
48
+ #
49
+ # # Find all my friends and work colleges
50
+ # me.outgoing(:friends).outgoing(:work).each {...}
51
+ #
52
+ # Of course all the methods <tt>outgoing</tt>, <tt>incoming</tt>, <tt>both</tt>, <tt>depth</tt>, <tt>include_start_node</tt>, <tt>filter</tt>, and <tt>prune</tt> can be combined.
53
+ #
54
+ def outgoing(type)
55
+ if type
56
+ Traverser.new(self).outgoing(type)
57
+ else
58
+ raise "Not implemented getting all types of outgoing relationship. Specify a relationship type"
59
+ end
60
+ end
61
+
62
+
63
+ # Returns the incoming nodes of given type(s).
64
+ #
65
+ # See #outgoing
66
+ #
67
+ def incoming(type)
68
+ if type
69
+ Traverser.new(self).incoming(type)
70
+ else
71
+ raise "Not implemented getting all types of incoming relationship. Specify a relationship type"
72
+ end
73
+ end
74
+
75
+ # Returns both incoming and outgoing nodes of given types(s)
76
+ #
77
+ # If a type is not given then it will return all types of relationships.
78
+ #
79
+ # See #outgoing
80
+ #
81
+ def both(type=nil)
82
+ if type
83
+ Traverser.new(self).both(type)
84
+ else
85
+ Traverser.new(self) # default is both
86
+ end
87
+ end
88
+
89
+ end
90
+ end
@@ -0,0 +1,173 @@
1
+ module Neo4j
2
+
3
+ module Traversal
4
+
5
+ class Traverser
6
+ include Enumerable
7
+ include ToJava
8
+ include WillPaginate::Finders::Base
9
+
10
+
11
+ def initialize(from, type = nil, dir=nil)
12
+ @from = from
13
+ @depth = 1
14
+ if type.nil? || dir.nil?
15
+ @td = org.neo4j.kernel.impl.traversal.TraversalDescriptionImpl.new.breadth_first()
16
+ else
17
+ @type = type_to_java(type)
18
+ @dir = dir_to_java(dir)
19
+ @td = org.neo4j.kernel.impl.traversal.TraversalDescriptionImpl.new.breadth_first().relationships(@type, @dir)
20
+ end
21
+ end
22
+
23
+
24
+ def to_s
25
+ "NodeTraverser [from: #{@from.neo_id} depth: #{@depth} type: #{@type} dir:#{@dir}"
26
+ end
27
+
28
+
29
+ def wp_query(options, pager, args, &block) #:nodoc:
30
+ page = pager.current_page || 1
31
+ per_page = pager.per_page
32
+ to = per_page * page
33
+ from = to - per_page
34
+ i = 0
35
+ res = []
36
+ iterator.each do |node|
37
+ res << node.wrapper if i >= from
38
+ i += 1
39
+ break if i >= to
40
+ end
41
+ pager.replace res
42
+ pager.total_entries ||= count
43
+ end
44
+
45
+ def <<(other_node)
46
+ new(other_node)
47
+ self
48
+ end
49
+
50
+ # Returns an real ruby array.
51
+ def to_ary
52
+ self.to_a
53
+ end
54
+
55
+ def new(other_node)
56
+ case @dir
57
+ when org.neo4j.graphdb.Direction::OUTGOING
58
+ @from.create_relationship_to(other_node, @type)
59
+ when org.neo4j.graphdb.Direction::INCOMING
60
+ other_node._java_node.create_relationship_to(@from, @type)
61
+ else
62
+ raise "Only allowed to create outgoing or incoming relationships (not #@dir)"
63
+ end
64
+ end
65
+
66
+ def both(type)
67
+ @type = type_to_java(type) if type
68
+ @dir = dir_to_java(:both)
69
+ @td = @td.relationships(type_to_java(type), @dir)
70
+ self
71
+ end
72
+
73
+ def expander(&expander)
74
+ @td = @td.expand(RelExpander.create_pair(&expander))
75
+ self
76
+ end
77
+
78
+ def outgoing(type)
79
+ @type = type_to_java(type) if type
80
+ @dir = dir_to_java(:outgoing)
81
+ @td = @td.relationships(type_to_java(type), @dir)
82
+ self
83
+ end
84
+
85
+ def incoming(type)
86
+ @type = type_to_java(type) if type
87
+ @dir = dir_to_java(:incoming)
88
+ @td = @td.relationships(type_to_java(type), @dir)
89
+ self
90
+ end
91
+
92
+ def filter_method(name, &proc)
93
+ # add method name
94
+ singelton = class << self;
95
+ self;
96
+ end
97
+ singelton.send(:define_method, name) { filter &proc }
98
+ self
99
+ end
100
+
101
+ def functions_method(func, rule_node, rule_name)
102
+ singelton = class << self;
103
+ self;
104
+ end
105
+ singelton.send(:define_method, func.class.function_name) do |*args|
106
+ function_id = args.empty? ? "_classname" : args[0]
107
+ function = rule_node.find_function(rule_name, func.class.function_name, function_id)
108
+ function.value(rule_node.rule_node, rule_name)
109
+ end
110
+ self
111
+ end
112
+
113
+ def prune(&block)
114
+ @td = @td.prune(PruneEvaluator.new(block))
115
+ self
116
+ end
117
+
118
+ def filter(&block)
119
+ # we keep a reference to filter predicate since only one filter is allowed and we might want to modify it
120
+ @filter_predicate ||= FilterPredicate.new
121
+ @filter_predicate.add(block)
122
+ @td = @td.filter(@filter_predicate)
123
+ self
124
+ end
125
+
126
+ # Sets depth, if :all then it will traverse any depth
127
+ def depth(d)
128
+ @depth = d
129
+ self
130
+ end
131
+
132
+ def include_start_node
133
+ @include_start_node = true
134
+ self
135
+ end
136
+
137
+ def size
138
+ to_a.size
139
+ end
140
+
141
+ alias_method :length, :size
142
+
143
+ def [](index)
144
+ each_with_index { |node, i| break node if index == i }
145
+ end
146
+
147
+ def empty?
148
+ first == nil
149
+ end
150
+
151
+ def each
152
+ iterator.each { |i| yield i.wrapper }
153
+ end
154
+
155
+ # Same as #each but does not wrap each node in a Ruby class, yields the Java Neo4j Node instance instead.
156
+ def each_raw
157
+ iterator.each { |i| yield i }
158
+ end
159
+
160
+ def iterator
161
+ unless @include_start_node
162
+ if @filter_predicate
163
+ @filter_predicate.include_start_node
164
+ else
165
+ @td = @td.filter(org.neo4j.kernel.Traversal.return_all_but_start_node)
166
+ end
167
+ end
168
+ @td = @td.prune(org.neo4j.kernel.Traversal.pruneAfterDepth(@depth)) unless @depth == :all
169
+ @td.traverse(@from).nodes
170
+ end
171
+ end
172
+ end
173
+ end
data/lib/neo4j/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Neo4j
2
- VERSION = "1.0.0.beta.27"
2
+ VERSION = "1.0.0.beta.28"
3
3
  end
data/lib/test.rb~ ADDED
@@ -0,0 +1,2 @@
1
+ require 'neo4j'
2
+
data/neo4j.gemspec CHANGED
@@ -1,15 +1,17 @@
1
1
  lib = File.expand_path('../lib/', __FILE__)
2
2
  $:.unshift lib unless $:.include?(lib)
3
-
3
+
4
4
  require 'neo4j/version'
5
5
 
6
6
 
7
7
  Gem::Specification.new do |s|
8
- s.name = "neo4j"
9
- s.version = Neo4j::VERSION
8
+ s.name = "neo4j"
9
+ s.version = Neo4j::VERSION
10
10
  s.platform = 'java'
11
- s.authors = "Andreas Ronge"
12
- s.email = 'andreas.ronge@gmail.com'
11
+ s.required_ruby_version = ">= 1.8.7"
12
+
13
+ s.authors = "Andreas Ronge"
14
+ s.email = 'andreas.ronge@gmail.com'
13
15
  s.homepage = "http://github.com/andreasronge/neo4j/tree"
14
16
  s.rubyforge_project = 'neo4j'
15
17
  s.summary = "A graph database for JRuby"
@@ -17,17 +19,16 @@ Gem::Specification.new do |s|
17
19
  You can think of Neo4j as a high-performance graph engine with all the features of a mature and robust database.
18
20
  The programmer works with an object-oriented, flexible network structure rather than with strict and static tables — yet enjoys all the benefits of a fully transactional, enterprise-strength database.
19
21
  It comes included with the Apache Lucene document database.
20
- EOF
22
+ EOF
21
23
 
22
24
  s.require_path = 'lib'
23
- s.files = Dir.glob("{bin,lib,config}/**/*") + %w(README.rdoc CHANGELOG CONTRIBUTORS Gemfile neo4j.gemspec)
24
- # s.bindir = 'bin'
25
+ s.files = Dir.glob("{bin,lib,config}/**/*") + %w(README.rdoc CHANGELOG CONTRIBUTORS Gemfile neo4j.gemspec)
25
26
  s.executables = 'neo4j-shell'
26
27
  s.has_rdoc = true
27
28
  s.extra_rdoc_files = %w( README.rdoc )
28
29
  s.rdoc_options = ["--quiet", "--title", "Neo4j.rb", "--line-numbers", "--main", "README.rdoc", "--inline-source"]
29
- s.required_ruby_version = ">= 1.8.7"
30
- s.add_dependency('orm_adapter',">= 0.0.3")
30
+
31
+ s.add_dependency('orm_adapter', ">= 0.0.3")
31
32
  s.add_dependency("activemodel", ">= 3.0.0")
32
33
  s.add_dependency("will_paginate", ["~>3.0.pre"])
33
34
  s.add_dependency("railties", ">= 3.0.0")
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: neo4j
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: 6
5
- version: 1.0.0.beta.27
5
+ version: 1.0.0.beta.28
6
6
  platform: java
7
7
  authors:
8
8
  - Andreas Ronge
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-01-21 00:00:00 +01:00
13
+ date: 2011-02-02 00:00:00 +01:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -72,6 +72,7 @@ files:
72
72
  - bin/neo4j-shell~
73
73
  - lib/neo4j.rb
74
74
  - lib/Gemfile~
75
+ - lib/test.rb~
75
76
  - lib/config2.yml~
76
77
  - lib/perf.rb~
77
78
  - lib/generators/neo4j.rb
@@ -80,40 +81,46 @@ files:
80
81
  - lib/orm_adapter/adapters/neo4j.rb
81
82
  - lib/neo4j/event_handler.rb
82
83
  - lib/neo4j/model.rb
83
- - lib/neo4j/migrations.rb
84
- - lib/neo4j/type_converters.rb
85
- - lib/neo4j/node_traverser.rb
86
- - lib/neo4j/relationship_traverser.rb
87
84
  - lib/neo4j/config.rb
88
- - lib/neo4j/algo.rb
89
85
  - lib/neo4j/transaction.rb
90
86
  - lib/neo4j/neo4j.rb
91
87
  - lib/neo4j/node.rb
92
- - lib/neo4j/node_mixin.rb
93
- - lib/neo4j/property.rb
94
- - lib/neo4j/relationship_mixin.rb
95
88
  - lib/neo4j/load.rb
96
89
  - lib/neo4j/database.rb
97
90
  - lib/neo4j/version.rb
98
- - lib/neo4j/node_relationship.rb
99
91
  - lib/neo4j/equal.rb
100
92
  - lib/neo4j/relationship.rb
101
93
  - lib/neo4j/to_java.rb
94
+ - lib/neo4j/algo/algo.rb
95
+ - lib/neo4j/has_list/mapping.rb
96
+ - lib/neo4j/has_list/class_methods.rb
97
+ - lib/neo4j/has_list/has_list.rb
98
+ - lib/neo4j/property/property.rb
99
+ - lib/neo4j/property/class_methods.rb
100
+ - lib/neo4j/traversal/rel_expander.rb
101
+ - lib/neo4j/traversal/filter_predicate.rb
102
+ - lib/neo4j/traversal/prune_evaluator.rb
103
+ - lib/neo4j/traversal/traversal.rb
104
+ - lib/neo4j/traversal/traverser.rb
105
+ - lib/neo4j/relationship_mixin/relationship_mixin.rb
106
+ - lib/neo4j/relationship_mixin/class_methods.rb
107
+ - lib/neo4j/type_converters/type_converters.rb
102
108
  - lib/neo4j/migrations/migrations.rb
103
- - lib/neo4j/migrations/migration_mixin.rb
104
- - lib/neo4j/migrations/lazy_migration_mixin.rb
109
+ - lib/neo4j/migrations/lazy_node_mixin.rb
105
110
  - lib/neo4j/migrations/extensions.rb
111
+ - lib/neo4j/migrations/node_mixin.rb
106
112
  - lib/neo4j/migrations/migration.rb
107
- - lib/neo4j/migrations/global_migration.rb
108
- - lib/neo4j/functions/function.rb
109
- - lib/neo4j/functions/count.rb
110
- - lib/neo4j/functions/sum.rb
113
+ - lib/neo4j/migrations/class_methods.rb
114
+ - lib/neo4j/migrations/ref_node_wrapper.rb
115
+ - lib/neo4j/rels/traverser.rb
116
+ - lib/neo4j/rels/rels.rb
111
117
  - lib/neo4j/rails/attributes.rb
112
118
  - lib/neo4j/rails/model.rb
113
119
  - lib/neo4j/rails/validations.rb
114
120
  - lib/neo4j/rails/persistence.rb
115
121
  - lib/neo4j/rails/serialization.rb
116
122
  - lib/neo4j/rails/railtie.rb
123
+ - lib/neo4j/rails/rails.rb
117
124
  - lib/neo4j/rails/lucene_connection_closer.rb
118
125
  - lib/neo4j/rails/transaction.rb
119
126
  - lib/neo4j/rails/timestamps.rb
@@ -127,37 +134,41 @@ files:
127
134
  - lib/neo4j/rails/validations/uniqueness.rb
128
135
  - lib/neo4j/rails/validations/non_nil.rb
129
136
  - lib/neo4j/jars/core/lucene-core-3.0.3.jar
130
- - lib/neo4j/jars/core/neo4j-index-1.3-SNAPSHOT.jar
137
+ - lib/neo4j/jars/core/neo4j-kernel-1.3-1.3.M01.jar
138
+ - lib/neo4j/jars/core/neo4j-lucene-index-0.5-1.3.M01.jar
131
139
  - lib/neo4j/jars/core/geronimo-jta_1.1_spec-1.1.1.jar
132
- - lib/neo4j/jars/core/neo4j-lucene-index-0.5-SNAPSHOT.jar
133
- - lib/neo4j/jars/core/neo4j-graph-algo-0.8-SNAPSHOT.jar
134
- - lib/neo4j/jars/core/neo4j-kernel-1.3-SNAPSHOT.jar
140
+ - lib/neo4j/jars/core/neo4j-graph-algo-0.8-1.3.M01.jar
141
+ - lib/neo4j/jars/core/neo4j-index-1.3-1.3.M01.jar
142
+ - lib/neo4j/jars/ha/neo4j-management-1.3-1.3.M01.jar
135
143
  - lib/neo4j/jars/ha/org.apache.servicemix.bundles.lucene-3.0.1_2.jar
136
144
  - lib/neo4j/jars/ha/zookeeper-3.3.2.jar
137
- - lib/neo4j/jars/ha/neo4j-management-1.3-SNAPSHOT.jar
145
+ - lib/neo4j/jars/ha/neo4j-shell-1.3-1.3.M01.jar
138
146
  - lib/neo4j/jars/ha/netty-3.2.1.Final.jar
147
+ - lib/neo4j/jars/ha/neo4j-ha-0.6-1.3.M01.jar
139
148
  - lib/neo4j/jars/ha/log4j-1.2.16.jar
140
- - lib/neo4j/jars/ha/neo4j-shell-1.3-SNAPSHOT.jar
141
149
  - lib/neo4j/jars/ha/org.apache.servicemix.bundles.jline-0.9.94_1.jar
142
- - lib/neo4j/jars/ha/neo4j-ha-0.6-SNAPSHOT.jar
143
- - lib/neo4j/mapping/rule.rb
144
- - lib/neo4j/mapping/decl_relationship_dsl.rb
145
- - lib/neo4j/mapping/rule_node.rb
146
- - lib/neo4j/mapping/node_mixin.rb
147
- - lib/neo4j/mapping/has_n.rb
148
- - lib/neo4j/mapping/relationship_mixin.rb
149
- - lib/neo4j/mapping/has_list.rb
150
- - lib/neo4j/mapping/class_methods/rule.rb
151
- - lib/neo4j/mapping/class_methods/list.rb
152
- - lib/neo4j/mapping/class_methods/init_node.rb
153
- - lib/neo4j/mapping/class_methods/property.rb
154
- - lib/neo4j/mapping/class_methods/init_rel.rb
155
- - lib/neo4j/mapping/class_methods/relationship.rb
156
150
  - lib/neo4j/index/indexer.rb
157
151
  - lib/neo4j/index/lucene_query.rb
158
152
  - lib/neo4j/index/indexer_registry.rb
159
153
  - lib/neo4j/index/class_methods.rb
160
154
  - lib/neo4j/index/index.rb
155
+ - lib/neo4j/batch/inserter.rb
156
+ - lib/neo4j/batch/indexer.rb
157
+ - lib/neo4j/batch/batch.rb
158
+ - lib/neo4j/has_n/decl_relationship_dsl.rb
159
+ - lib/neo4j/has_n/has_n.rb
160
+ - lib/neo4j/has_n/mapping.rb
161
+ - lib/neo4j/has_n/class_methods.rb
162
+ - lib/neo4j/node_mixin/node_mixin.rb
163
+ - lib/neo4j/node_mixin/class_methods.rb
164
+ - lib/neo4j/rule/rule.rb
165
+ - lib/neo4j/rule/rule_node.rb
166
+ - lib/neo4j/rule/class_methods.rb
167
+ - lib/neo4j/rule/rule_event_listener.rb
168
+ - lib/neo4j/rule/functions/function.rb
169
+ - lib/neo4j/rule/functions/count.rb
170
+ - lib/neo4j/rule/functions/sum.rb
171
+ - lib/neo4j/rule/functions/functions.rb
161
172
  - config/locales/en.yml
162
173
  - config/neo4j/config.yml
163
174
  - README.rdoc