neo4j 1.0.0.beta.29-java → 1.0.0.beta.30-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.
- data/CONTRIBUTORS +2 -0
- data/config/neo4j/config.yml +3 -0
- data/lib/neo4j.rb +20 -7
- data/lib/neo4j/algo/algo.rb +1 -1
- data/lib/neo4j/batch/indexer.rb +3 -2
- data/lib/neo4j/database.rb +1 -0
- data/lib/neo4j/has_n/decl_relationship_dsl.rb +18 -6
- data/lib/neo4j/index/class_methods.rb +25 -1
- data/lib/neo4j/index/indexer.rb +6 -3
- data/lib/neo4j/jars/core/neo4j-backup-1.3-SNAPSHOT.jar +0 -0
- data/lib/neo4j/jars/core/{neo4j-graph-algo-0.8-1.3.M01.jar → neo4j-graph-algo-1.3.M02.jar} +0 -0
- data/lib/neo4j/jars/core/{neo4j-kernel-1.3-1.3.M01.jar → neo4j-kernel-1.3.M02.jar} +0 -0
- data/lib/neo4j/jars/core/neo4j-lucene-index-1.3.M02.jar +0 -0
- data/lib/neo4j/jars/ha/neo4j-com-1.3.M02.jar +0 -0
- data/lib/neo4j/jars/ha/neo4j-ha-1.3.M02.jar +0 -0
- data/lib/neo4j/jars/ha/{neo4j-management-1.3-1.3.M01.jar → neo4j-management-1.3.M02.jar} +0 -0
- data/lib/neo4j/jars/ha/{neo4j-shell-1.3-1.3.M01.jar → neo4j-shell-1.3.M02.jar} +0 -0
- data/lib/neo4j/version.rb +1 -1
- metadata +10 -8
- data/lib/neo4j/jars/core/neo4j-lucene-index-0.5-1.3.M01.jar +0 -0
- data/lib/neo4j/jars/ha/neo4j-ha-0.6-1.3.M01.jar +0 -0
data/CONTRIBUTORS
CHANGED
data/config/neo4j/config.yml
CHANGED
@@ -19,6 +19,9 @@ lucene: { fulltext: { provider: lucene,
|
|
19
19
|
# If set to true it you can use the database while it is migrating.
|
20
20
|
migration_thread: false
|
21
21
|
|
22
|
+
# If online backup should be available, if it is the Online JAR file will be loaded.
|
23
|
+
online_backup_enabled: false
|
24
|
+
|
22
25
|
#use the clustered Neo4j GraphDatabase (org.neo4j.kernel.HighlyAvailableGraphDatabase)
|
23
26
|
ha.db: false
|
24
27
|
|
data/lib/neo4j.rb
CHANGED
@@ -13,25 +13,38 @@ require 'will_paginate/finders/base'
|
|
13
13
|
|
14
14
|
require 'neo4j/jars/core/geronimo-jta_1.1_spec-1.1.1.jar'
|
15
15
|
require 'neo4j/jars/core/lucene-core-3.0.3.jar'
|
16
|
-
require 'neo4j/jars/core/neo4j-lucene-index-
|
17
|
-
require 'neo4j/jars/core/neo4j-kernel-1.3
|
18
|
-
require 'neo4j/jars/ha/neo4j-management-1.3
|
16
|
+
require 'neo4j/jars/core/neo4j-lucene-index-1.3.M02.jar'
|
17
|
+
require 'neo4j/jars/core/neo4j-kernel-1.3.M02.jar'
|
18
|
+
require 'neo4j/jars/ha/neo4j-management-1.3.M02.jar'
|
19
19
|
|
20
20
|
module Neo4j
|
21
21
|
|
22
22
|
def self.load_local_jars
|
23
23
|
# This is a temporary fix since the HA does not yet work with this JAR
|
24
24
|
# It will be solved in a future version of the Java Neo4j library.
|
25
|
-
|
25
|
+
if Neo4j.config[:online_backup_enabled]
|
26
|
+
Neo4j.load_online_backup
|
27
|
+
else
|
28
|
+
# backup and HA does not work with this JAR FILE
|
29
|
+
require 'neo4j/jars/core/neo4j-index-1.3-1.3.M01.jar'
|
30
|
+
end
|
26
31
|
end
|
27
32
|
|
28
33
|
def self.load_shell_jars
|
29
|
-
require 'neo4j/jars/ha/neo4j-shell-1.3
|
34
|
+
require 'neo4j/jars/ha/neo4j-shell-1.3.M02.jar'
|
30
35
|
end
|
31
|
-
|
36
|
+
|
37
|
+
def self.load_online_backup
|
38
|
+
require 'neo4j/jars/ha/neo4j-com-1.3.M02.jar'
|
39
|
+
require 'neo4j/jars/core/neo4j-backup-1.3-SNAPSHOT.jar'
|
40
|
+
require 'neo4j/jars/ha/netty-3.2.1.Final.jar'
|
41
|
+
Neo4j.send(:const_set, :OnlineBackup, org.neo4j.backup.OnlineBackup)
|
42
|
+
end
|
43
|
+
|
32
44
|
def self.load_ha_jars
|
33
45
|
require 'neo4j/jars/ha/log4j-1.2.16.jar'
|
34
|
-
require 'neo4j/jars/ha/neo4j-ha-
|
46
|
+
require 'neo4j/jars/ha/neo4j-ha-1.3.M02.jar'
|
47
|
+
require 'neo4j/jars/ha/neo4j-com-1.3.M02.jar'
|
35
48
|
require 'neo4j/jars/ha/netty-3.2.1.Final.jar'
|
36
49
|
require 'neo4j/jars/ha/org.apache.servicemix.bundles.jline-0.9.94_1.jar'
|
37
50
|
require 'neo4j/jars/ha/org.apache.servicemix.bundles.lucene-3.0.1_2.jar'
|
data/lib/neo4j/algo/algo.rb
CHANGED
data/lib/neo4j/batch/indexer.rb
CHANGED
@@ -84,10 +84,11 @@ module Neo4j
|
|
84
84
|
index_config = lucene_config(type)
|
85
85
|
|
86
86
|
if entity_type == :node
|
87
|
-
self.class.index_provider.node_index(
|
87
|
+
self.class.index_provider.node_index(indexer_for.index_names[type], index_config)
|
88
88
|
else
|
89
|
-
self.class.index_provider.relationship_index(
|
89
|
+
self.class.index_provider.relationship_index(indexer_for.index_names[type], index_config)
|
90
90
|
end
|
91
|
+
|
91
92
|
end
|
92
93
|
|
93
94
|
class << self
|
data/lib/neo4j/database.rb
CHANGED
@@ -64,6 +64,7 @@ module Neo4j
|
|
64
64
|
def start_ha_graph_db
|
65
65
|
Neo4j.logger.info "starting Neo4j in HA mode, machine id: #{Neo4j.config['ha.machine_id']} at #{Neo4j.config['ha.server']} db #{@storage_path}"
|
66
66
|
Neo4j.load_ha_jars # those jars are only needed for the HighlyAvailableGraphDatabase
|
67
|
+
Neo4j.load_online_backup if Neo4j.config[:online_backup_enabled]
|
67
68
|
@graph = org.neo4j.kernel.HighlyAvailableGraphDatabase.new(@storage_path, Neo4j.config.to_java_map)
|
68
69
|
@graph.register_transaction_event_handler(@event_handler)
|
69
70
|
@lucene = @graph.index #org.neo4j.index.impl.lucene.LuceneIndexProvider.new
|
@@ -110,17 +110,29 @@ module Neo4j
|
|
110
110
|
# # generate a relationship between folder and file of type 'FileNode#files'
|
111
111
|
# folder.files << FileNode.new
|
112
112
|
#
|
113
|
-
|
113
|
+
# ==== Example, without prefix
|
114
|
+
#
|
115
|
+
# class FolderNode
|
116
|
+
# include Neo4j::NodeMixin
|
117
|
+
# has_n(:files).to(:contains)
|
118
|
+
# end
|
119
|
+
#
|
120
|
+
# file = FileNode.new
|
121
|
+
# # create an outgoing relationship of type 'contains' from folder node to file
|
122
|
+
# folder.files << FolderNode.new
|
123
|
+
#
|
124
|
+
def to(target)
|
114
125
|
@direction = :outgoing
|
115
126
|
|
116
|
-
if (
|
117
|
-
raise "only one argument expected - the class of the node this relationship points to, got #{args.inspect}"
|
118
|
-
elsif (Class === args[0])
|
127
|
+
if (Class === target)
|
119
128
|
# handle e.g. has_n(:friends).to(class)
|
120
|
-
@target_class =
|
129
|
+
@target_class = target
|
121
130
|
@rel_type = "#{@target_class}##{@method_id}"
|
131
|
+
elsif (Symbol === target)
|
132
|
+
# handle e.g. has_n(:friends).to(:knows)
|
133
|
+
@rel_type = target.to_s
|
122
134
|
else
|
123
|
-
raise "Expected a class for, got #{
|
135
|
+
raise "Expected a class or a symbol for, got #{target}/#{target.class}"
|
124
136
|
end
|
125
137
|
self
|
126
138
|
end
|
@@ -33,9 +33,33 @@ module Neo4j
|
|
33
33
|
# It is possible to share the same index for several different classes, see #node_indexer.
|
34
34
|
# :singleton-method: find
|
35
35
|
|
36
|
+
##
|
37
|
+
# Specifies the location on the filesystem of the lucene index for the given index type.
|
38
|
+
#
|
39
|
+
# If not specified it will have the default location:
|
40
|
+
#
|
41
|
+
# Neo4j.config[:storage_path]/index/lucene/node|relationship/ParentModuleName_SubModuleName_ClassName-indextype
|
42
|
+
#
|
43
|
+
# Forwards to the Indexer#index_names class
|
44
|
+
#
|
45
|
+
# ==== Example
|
46
|
+
# module Foo
|
47
|
+
# class Person
|
48
|
+
# include Neo4j::NodeMixin
|
49
|
+
# index :name
|
50
|
+
# index_names[:fulltext] = 'my_location'
|
51
|
+
# end
|
52
|
+
# end
|
53
|
+
#
|
54
|
+
# Person.index_names[:fulltext] => 'my_location'
|
55
|
+
# Person.index_names[:exact] => 'Foo_Person-exact' # default Location
|
56
|
+
# Notice in versions <= 1.0.0.beta.29 the default location was 'Foo::Person-exact'
|
57
|
+
# which does not work on Windows [lighthouse ticket #147]
|
58
|
+
#
|
59
|
+
# :singleton-method: index_names
|
36
60
|
|
37
|
-
def_delegators :@_indexer, :index, :find, :index?, :index_type?, :delete_index_type, :rm_field_type, :add_index, :rm_index, :index_type_for, :index_name
|
38
61
|
|
62
|
+
def_delegators :@_indexer, :index, :find, :index?, :index_type?, :delete_index_type, :rm_field_type, :add_index, :rm_index, :index_type_for, :index_names
|
39
63
|
|
40
64
|
# Sets which indexer should be used for the given node class.
|
41
65
|
# You can share an indexer between several different classes.
|
data/lib/neo4j/index/indexer.rb
CHANGED
@@ -306,13 +306,16 @@ module Neo4j
|
|
306
306
|
db = Neo4j.started_db
|
307
307
|
index_config = lucene_config(type)
|
308
308
|
if @entity_type == :node
|
309
|
-
db.lucene.for_nodes(
|
309
|
+
db.lucene.for_nodes(index_names[type], index_config)
|
310
310
|
else
|
311
|
-
db.lucene.for_relationships(
|
311
|
+
db.lucene.for_relationships(index_names[type], index_config)
|
312
312
|
end
|
313
313
|
end
|
314
314
|
|
315
|
-
|
315
|
+
def index_names
|
316
|
+
default_filename = @indexer_for.to_s.gsub('::', '_')
|
317
|
+
@index_names ||= Hash.new{|hash,index_type| hash[index_type] = "#{default_filename}-#{index_type}"}
|
318
|
+
end
|
316
319
|
|
317
320
|
end
|
318
321
|
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/lib/neo4j/version.rb
CHANGED
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.
|
5
|
+
version: 1.0.0.beta.30
|
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-02-
|
13
|
+
date: 2011-02-16 00:00:00 +01:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -134,19 +134,21 @@ files:
|
|
134
134
|
- lib/neo4j/rails/validations/uniqueness.rb
|
135
135
|
- lib/neo4j/rails/validations/non_nil.rb
|
136
136
|
- lib/neo4j/jars/core/lucene-core-3.0.3.jar
|
137
|
-
- lib/neo4j/jars/core/neo4j-
|
138
|
-
- lib/neo4j/jars/core/neo4j-
|
137
|
+
- lib/neo4j/jars/core/neo4j-graph-algo-1.3.M02.jar
|
138
|
+
- lib/neo4j/jars/core/neo4j-backup-1.3-SNAPSHOT.jar
|
139
139
|
- lib/neo4j/jars/core/geronimo-jta_1.1_spec-1.1.1.jar
|
140
|
-
- lib/neo4j/jars/core/neo4j-
|
140
|
+
- lib/neo4j/jars/core/neo4j-kernel-1.3.M02.jar
|
141
|
+
- lib/neo4j/jars/core/neo4j-lucene-index-1.3.M02.jar
|
141
142
|
- lib/neo4j/jars/core/neo4j-index-1.3-1.3.M01.jar
|
142
|
-
- lib/neo4j/jars/ha/neo4j-management-1.3
|
143
|
+
- lib/neo4j/jars/ha/neo4j-management-1.3.M02.jar
|
143
144
|
- lib/neo4j/jars/ha/org.apache.servicemix.bundles.lucene-3.0.1_2.jar
|
144
145
|
- lib/neo4j/jars/ha/zookeeper-3.3.2.jar
|
145
|
-
- lib/neo4j/jars/ha/neo4j-shell-1.3-1.3.M01.jar
|
146
146
|
- lib/neo4j/jars/ha/netty-3.2.1.Final.jar
|
147
|
-
- lib/neo4j/jars/ha/neo4j-ha-0.6-1.3.M01.jar
|
148
147
|
- lib/neo4j/jars/ha/log4j-1.2.16.jar
|
148
|
+
- lib/neo4j/jars/ha/neo4j-ha-1.3.M02.jar
|
149
|
+
- lib/neo4j/jars/ha/neo4j-com-1.3.M02.jar
|
149
150
|
- lib/neo4j/jars/ha/org.apache.servicemix.bundles.jline-0.9.94_1.jar
|
151
|
+
- lib/neo4j/jars/ha/neo4j-shell-1.3.M02.jar
|
150
152
|
- lib/neo4j/index/indexer.rb
|
151
153
|
- lib/neo4j/index/lucene_query.rb
|
152
154
|
- lib/neo4j/index/indexer_registry.rb
|
Binary file
|
Binary file
|