neo4j 1.0.0.beta.26-java → 1.0.0.beta.27-java
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/neo4j-shell +107 -0
- data/bin/neo4j-shell~ +108 -0
- data/config/locales/en.yml +5 -0
- data/config/neo4j/config.yml +89 -0
- data/lib/Gemfile~ +3 -0
- data/lib/config2.yml~ +86 -0
- data/lib/neo4j.rb +34 -8
- data/lib/neo4j/config.rb +41 -12
- data/lib/neo4j/database.rb +34 -13
- data/lib/neo4j/index/class_methods.rb +1 -1
- data/lib/neo4j/index/lucene_query.rb +4 -2
- data/lib/neo4j/jars/{geronimo-jta_1.1_spec-1.1.1.jar → core/geronimo-jta_1.1_spec-1.1.1.jar} +0 -0
- data/lib/neo4j/jars/{lucene-core-3.0.2.jar → core/lucene-core-3.0.3.jar} +0 -0
- data/lib/neo4j/jars/core/neo4j-graph-algo-0.8-SNAPSHOT.jar +0 -0
- data/lib/neo4j/jars/core/neo4j-index-1.3-SNAPSHOT.jar +0 -0
- data/lib/neo4j/jars/core/neo4j-kernel-1.3-SNAPSHOT.jar +0 -0
- data/lib/neo4j/jars/core/neo4j-lucene-index-0.5-SNAPSHOT.jar +0 -0
- data/lib/neo4j/jars/ha/log4j-1.2.16.jar +0 -0
- data/lib/neo4j/jars/ha/neo4j-ha-0.6-SNAPSHOT.jar +0 -0
- data/lib/neo4j/jars/ha/neo4j-management-1.3-SNAPSHOT.jar +0 -0
- data/lib/neo4j/jars/ha/neo4j-shell-1.3-SNAPSHOT.jar +0 -0
- data/lib/neo4j/jars/ha/netty-3.2.1.Final.jar +0 -0
- data/lib/neo4j/jars/ha/org.apache.servicemix.bundles.jline-0.9.94_1.jar +0 -0
- data/lib/neo4j/jars/ha/org.apache.servicemix.bundles.lucene-3.0.1_2.jar +0 -0
- data/lib/neo4j/jars/ha/zookeeper-3.3.2.jar +0 -0
- data/lib/neo4j/mapping/class_methods/relationship.rb +1 -2
- data/lib/neo4j/mapping/class_methods/rule.rb +35 -3
- data/lib/neo4j/mapping/decl_relationship_dsl.rb +1 -1
- data/lib/neo4j/mapping/has_n.rb +4 -1
- data/lib/neo4j/mapping/node_mixin.rb +1 -1
- data/lib/neo4j/mapping/rule.rb +9 -6
- data/lib/neo4j/mapping/rule_node.rb +0 -1
- data/lib/neo4j/migrations.rb +12 -0
- data/lib/neo4j/migrations/extensions.rb +57 -0
- data/lib/neo4j/migrations/global_migration.rb +29 -0
- data/lib/neo4j/migrations/lazy_migration_mixin.rb +47 -0
- data/lib/neo4j/migrations/migration.rb +109 -0
- data/lib/neo4j/migrations/migration_mixin.rb +78 -0
- data/lib/neo4j/migrations/migrations.rb +100 -0
- data/lib/neo4j/neo4j.rb +33 -9
- data/lib/neo4j/node_relationship.rb +2 -4
- data/lib/neo4j/node_traverser.rb +5 -0
- data/lib/neo4j/rails/finders.rb +10 -3
- data/lib/neo4j/rails/lucene_connection_closer.rb +1 -2
- data/lib/neo4j/rails/mapping/property.rb +1 -1
- data/lib/neo4j/rails/model.rb +1 -1
- data/lib/neo4j/rails/persistence.rb +1 -5
- data/lib/neo4j/rails/relationships/relationships.rb +13 -10
- data/lib/neo4j/version.rb +1 -1
- data/lib/perf.rb~ +36 -0
- data/neo4j.gemspec +4 -2
- metadata +40 -78
- data/lib/neo4j/jars/neo4j-graph-algo-0.7-1.2.jar +0 -0
- data/lib/neo4j/jars/neo4j-index-1.2-1.2.jar +0 -0
- data/lib/neo4j/jars/neo4j-kernel-1.2-1.2.jar +0 -0
- data/lib/neo4j/jars/neo4j-lucene-index-0.2-1.2.jar +0 -0
- data/lib/tmp/neo4j/active_tx_log +0 -1
- data/lib/tmp/neo4j/index.db +0 -0
- data/lib/tmp/neo4j/index/lucene-store.db +0 -0
- data/lib/tmp/neo4j/index/lucene.log.active +0 -0
- data/lib/tmp/neo4j/index/lucene/node/Network-exact/_0.cfs +0 -0
- data/lib/tmp/neo4j/index/lucene/node/Network-exact/segments.gen +0 -0
- data/lib/tmp/neo4j/index/lucene/node/Network-exact/segments_2 +0 -0
- data/lib/tmp/neo4j/lucene-fulltext/lucene-store.db +0 -0
- data/lib/tmp/neo4j/lucene-fulltext/lucene.log.active +0 -0
- data/lib/tmp/neo4j/lucene/lucene-store.db +0 -0
- data/lib/tmp/neo4j/lucene/lucene.log.active +0 -0
- data/lib/tmp/neo4j/messages.log +0 -85
- data/lib/tmp/neo4j/neostore +0 -0
- data/lib/tmp/neo4j/neostore.id +0 -0
- data/lib/tmp/neo4j/neostore.nodestore.db +0 -0
- data/lib/tmp/neo4j/neostore.nodestore.db.id +0 -0
- data/lib/tmp/neo4j/neostore.propertystore.db +0 -0
- data/lib/tmp/neo4j/neostore.propertystore.db.arrays +0 -0
- data/lib/tmp/neo4j/neostore.propertystore.db.arrays.id +0 -0
- data/lib/tmp/neo4j/neostore.propertystore.db.id +0 -0
- data/lib/tmp/neo4j/neostore.propertystore.db.index +0 -0
- data/lib/tmp/neo4j/neostore.propertystore.db.index.id +0 -0
- data/lib/tmp/neo4j/neostore.propertystore.db.index.keys +0 -0
- data/lib/tmp/neo4j/neostore.propertystore.db.index.keys.id +0 -0
- data/lib/tmp/neo4j/neostore.propertystore.db.strings +0 -0
- data/lib/tmp/neo4j/neostore.propertystore.db.strings.id +0 -0
- data/lib/tmp/neo4j/neostore.relationshipstore.db +0 -0
- data/lib/tmp/neo4j/neostore.relationshipstore.db.id +0 -0
- data/lib/tmp/neo4j/neostore.relationshiptypestore.db +0 -0
- data/lib/tmp/neo4j/neostore.relationshiptypestore.db.id +0 -0
- data/lib/tmp/neo4j/neostore.relationshiptypestore.db.names +0 -0
- data/lib/tmp/neo4j/neostore.relationshiptypestore.db.names.id +0 -0
- data/lib/tmp/neo4j/nioneo_logical.log.active +0 -0
- data/lib/tmp/neo4j/tm_tx_log.1 +0 -0
data/bin/neo4j-shell
ADDED
@@ -0,0 +1,107 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
# ----------------------------------------------------------------------------
|
3
|
+
# Copyright 2001-2006 The Apache Software Foundation.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
# ----------------------------------------------------------------------------
|
17
|
+
|
18
|
+
# Copyright (c) 2001-2002 The Apache Software Foundation. All rights
|
19
|
+
# reserved.
|
20
|
+
|
21
|
+
BASEDIR=`dirname $0`/..
|
22
|
+
BASEDIR=`(cd "$BASEDIR"; pwd)`
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
# OS specific support. $var _must_ be set to either true or false.
|
27
|
+
cygwin=false;
|
28
|
+
darwin=false;
|
29
|
+
case "`uname`" in
|
30
|
+
CYGWIN*) cygwin=true ;;
|
31
|
+
Darwin*) darwin=true
|
32
|
+
if [ -z "$JAVA_VERSION" ] ; then
|
33
|
+
JAVA_VERSION="CurrentJDK"
|
34
|
+
else
|
35
|
+
echo "Using Java version: $JAVA_VERSION"
|
36
|
+
fi
|
37
|
+
if [ -z "$JAVA_HOME" ] ; then
|
38
|
+
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
|
39
|
+
fi
|
40
|
+
;;
|
41
|
+
esac
|
42
|
+
|
43
|
+
if [ -z "$JAVA_HOME" ] ; then
|
44
|
+
if [ -r /etc/gentoo-release ] ; then
|
45
|
+
JAVA_HOME=`java-config --jre-home`
|
46
|
+
fi
|
47
|
+
fi
|
48
|
+
|
49
|
+
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
50
|
+
if $cygwin ; then
|
51
|
+
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
52
|
+
[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
|
53
|
+
fi
|
54
|
+
|
55
|
+
# If a specific java binary isn't specified search for the standard 'java' binary
|
56
|
+
if [ -z "$JAVACMD" ] ; then
|
57
|
+
if [ -n "$JAVA_HOME" ] ; then
|
58
|
+
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
59
|
+
# IBM's JDK on AIX uses strange locations for the executables
|
60
|
+
JAVACMD="$JAVA_HOME/jre/sh/java"
|
61
|
+
else
|
62
|
+
JAVACMD="$JAVA_HOME/bin/java"
|
63
|
+
fi
|
64
|
+
else
|
65
|
+
JAVACMD=`which java`
|
66
|
+
fi
|
67
|
+
fi
|
68
|
+
|
69
|
+
if [ ! -x "$JAVACMD" ] ; then
|
70
|
+
echo "Error: JAVA_HOME is not defined correctly."
|
71
|
+
echo " We cannot execute $JAVACMD"
|
72
|
+
exit 1
|
73
|
+
fi
|
74
|
+
|
75
|
+
if [ -z "$REPO" ]
|
76
|
+
then
|
77
|
+
REPO="$BASEDIR"/lib/neo4j/jars
|
78
|
+
fi
|
79
|
+
|
80
|
+
LIBRARY_JARS=""
|
81
|
+
for jar in $(find $REPO -iname "*.jar")
|
82
|
+
do
|
83
|
+
LIBRARY_JARS=${LIBRARY_JARS}:$jar
|
84
|
+
done
|
85
|
+
|
86
|
+
CLASSPATH=$CLASSPATH_PREFIX${LIBRARY_JARS}
|
87
|
+
|
88
|
+
EXTRA_JVM_ARGUMENTS=""
|
89
|
+
|
90
|
+
# For Cygwin, switch paths to Windows format before running java
|
91
|
+
if $cygwin; then
|
92
|
+
[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
93
|
+
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
|
94
|
+
[ -n "$HOME" ] && HOME=`cygpath --path --windows "$HOME"`
|
95
|
+
[ -n "$BASEDIR" ] && BASEDIR=`cygpath --path --windows "$BASEDIR"`
|
96
|
+
[ -n "$REPO" ] && REPO=`cygpath --path --windows "$REPO"`
|
97
|
+
fi
|
98
|
+
|
99
|
+
exec "$JAVACMD" $JAVA_OPTS \
|
100
|
+
$EXTRA_JVM_ARGUMENTS \
|
101
|
+
-classpath "$CLASSPATH" \
|
102
|
+
-Dapp.name="neo4j-shell" \
|
103
|
+
-Dapp.pid="$$" \
|
104
|
+
-Dapp.repo="$REPO" \
|
105
|
+
-Dbasedir="$BASEDIR" \
|
106
|
+
org.neo4j.shell.StartClient \
|
107
|
+
"$@"
|
data/bin/neo4j-shell~
ADDED
@@ -0,0 +1,108 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
# ----------------------------------------------------------------------------
|
3
|
+
# Copyright 2001-2006 The Apache Software Foundation.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
# ----------------------------------------------------------------------------
|
17
|
+
|
18
|
+
# Copyright (c) 2001-2002 The Apache Software Foundation. All rights
|
19
|
+
# reserved.
|
20
|
+
|
21
|
+
BASEDIR=`dirname $0`/..
|
22
|
+
BASEDIR=`(cd "$BASEDIR"; pwd)`
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
# OS specific support. $var _must_ be set to either true or false.
|
27
|
+
cygwin=false;
|
28
|
+
darwin=false;
|
29
|
+
case "`uname`" in
|
30
|
+
CYGWIN*) cygwin=true ;;
|
31
|
+
Darwin*) darwin=true
|
32
|
+
if [ -z "$JAVA_VERSION" ] ; then
|
33
|
+
JAVA_VERSION="CurrentJDK"
|
34
|
+
else
|
35
|
+
echo "Using Java version: $JAVA_VERSION"
|
36
|
+
fi
|
37
|
+
if [ -z "$JAVA_HOME" ] ; then
|
38
|
+
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
|
39
|
+
fi
|
40
|
+
;;
|
41
|
+
esac
|
42
|
+
|
43
|
+
if [ -z "$JAVA_HOME" ] ; then
|
44
|
+
if [ -r /etc/gentoo-release ] ; then
|
45
|
+
JAVA_HOME=`java-config --jre-home`
|
46
|
+
fi
|
47
|
+
fi
|
48
|
+
|
49
|
+
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
50
|
+
if $cygwin ; then
|
51
|
+
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
52
|
+
[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
|
53
|
+
fi
|
54
|
+
|
55
|
+
# If a specific java binary isn't specified search for the standard 'java' binary
|
56
|
+
if [ -z "$JAVACMD" ] ; then
|
57
|
+
if [ -n "$JAVA_HOME" ] ; then
|
58
|
+
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
59
|
+
# IBM's JDK on AIX uses strange locations for the executables
|
60
|
+
JAVACMD="$JAVA_HOME/jre/sh/java"
|
61
|
+
else
|
62
|
+
JAVACMD="$JAVA_HOME/bin/java"
|
63
|
+
fi
|
64
|
+
else
|
65
|
+
JAVACMD=`which java`
|
66
|
+
fi
|
67
|
+
fi
|
68
|
+
|
69
|
+
if [ ! -x "$JAVACMD" ] ; then
|
70
|
+
echo "Error: JAVA_HOME is not defined correctly."
|
71
|
+
echo " We cannot execute $JAVACMD"
|
72
|
+
exit 1
|
73
|
+
fi
|
74
|
+
|
75
|
+
if [ -z "$REPO" ]
|
76
|
+
then
|
77
|
+
REPO="$BASEDIR"/lib
|
78
|
+
fi
|
79
|
+
|
80
|
+
LIBRARY_JARS=""
|
81
|
+
for jar in ${REPO}/*.jar
|
82
|
+
do
|
83
|
+
LIBRARY_JARS=${LIBRARY_JARS}:$jar
|
84
|
+
done
|
85
|
+
echo $LIBRARY_JARS
|
86
|
+
|
87
|
+
CLASSPATH=$CLASSPATH_PREFIX${LIBRARY_JARS}
|
88
|
+
|
89
|
+
EXTRA_JVM_ARGUMENTS=""
|
90
|
+
|
91
|
+
# For Cygwin, switch paths to Windows format before running java
|
92
|
+
if $cygwin; then
|
93
|
+
[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
94
|
+
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
|
95
|
+
[ -n "$HOME" ] && HOME=`cygpath --path --windows "$HOME"`
|
96
|
+
[ -n "$BASEDIR" ] && BASEDIR=`cygpath --path --windows "$BASEDIR"`
|
97
|
+
[ -n "$REPO" ] && REPO=`cygpath --path --windows "$REPO"`
|
98
|
+
fi
|
99
|
+
|
100
|
+
exec "$JAVACMD" $JAVA_OPTS \
|
101
|
+
$EXTRA_JVM_ARGUMENTS \
|
102
|
+
-classpath "$CLASSPATH" \
|
103
|
+
-Dapp.name="neo4j-shell" \
|
104
|
+
-Dapp.pid="$$" \
|
105
|
+
-Dapp.repo="$REPO" \
|
106
|
+
-Dbasedir="$BASEDIR" \
|
107
|
+
org.neo4j.shell.StartClient \
|
108
|
+
"$@"
|
@@ -0,0 +1,89 @@
|
|
1
|
+
#=== Neo4j.rb configuration settings
|
2
|
+
|
3
|
+
# The folder location of the neo4j and lucene database
|
4
|
+
storage_path: db
|
5
|
+
|
6
|
+
# When using the Neo4j::Model you can let neo4j automatically set timestamps when updating/creating nodes.
|
7
|
+
# If set to true neo4j.rb automatically timestamps create and update operations if the model has properties named created_at/created_on or updated_at/updated_on
|
8
|
+
# (similar to ActiveRecord).
|
9
|
+
timestamps: true
|
10
|
+
|
11
|
+
# Configuration for lucene
|
12
|
+
lucene: { fulltext: { provider: lucene,
|
13
|
+
type: fulltext },
|
14
|
+
exact: { provider: lucene,
|
15
|
+
type: exact}
|
16
|
+
}
|
17
|
+
|
18
|
+
# If migrations should be run in a new thread
|
19
|
+
# If set to true it you can use the database while it is migrating.
|
20
|
+
migration_thread: false
|
21
|
+
|
22
|
+
#use the clustered Neo4j GraphDatabase (org.neo4j.kernel.HighlyAvailableGraphDatabase)
|
23
|
+
ha.db: false
|
24
|
+
|
25
|
+
# Example of HA Configuration, see http://wiki.neo4j.org/content/High_Availability_Cluster
|
26
|
+
# This is only used when ha.db is set to true
|
27
|
+
ha.machine_id: 2
|
28
|
+
ha.server: 'localhost:6002'
|
29
|
+
ha.zoo_keeper_servers: 'localhost:2181,localhost:2182,localhost:2183'
|
30
|
+
|
31
|
+
# if enabled you can use the bin/neo4j-shell command to access the database
|
32
|
+
enable_remote_shell: "port=9332"
|
33
|
+
|
34
|
+
#===Memory mapped I/O settings===
|
35
|
+
|
36
|
+
#Each file in the Neo store can use memory mapped I/O for reading/writing.
|
37
|
+
#Best performance is achived if the full file can be memory mapped but if
|
38
|
+
#there isn't enough memory for that Neo will try and make the best use of
|
39
|
+
#the memory it gets (regions of the file that get accessed often will more
|
40
|
+
#likley be memory mapped).
|
41
|
+
|
42
|
+
#For high traversal speed it is important to have the nodestore.db and
|
43
|
+
#relationshipstore.db files.
|
44
|
+
|
45
|
+
neostore.nodestore.db.mapped_memory: 25M
|
46
|
+
neostore.relationshipstore.db.mapped_memory: 50M
|
47
|
+
neostore.propertystore.db.mapped_memory: 90M
|
48
|
+
neostore.propertystore.db.index.mapped_memory: 1M
|
49
|
+
neostore.propertystore.db.index.keys.mapped_memory: 1M
|
50
|
+
neostore.propertystore.db.strings.mapped_memory: 130M
|
51
|
+
neostore.propertystore.db.arrays.mapped_memory: 130M
|
52
|
+
|
53
|
+
|
54
|
+
#: ": ": "Cache settings: ": ": "
|
55
|
+
|
56
|
+
#use adaptive caches YES|NO. Let Neo try make best use of available heap.
|
57
|
+
use_adaptive_cache: YES
|
58
|
+
|
59
|
+
#heap usage/max heap size ratio. Neo will increase caches while ratio
|
60
|
+
#is less and decrease if greater. Default 0.77 seems to be a good over
|
61
|
+
#all ratio of heap usage to avoid GC trashing. Larger heaps may allow for
|
62
|
+
#a higher ratio while tiny heaps may need even less.
|
63
|
+
adaptive_cache_heap_ratio: 0.77
|
64
|
+
|
65
|
+
#how aggressive Neo will decrease caches once heap ratio reached
|
66
|
+
adaptive_cache_manager_decrease_ratio: 1.15
|
67
|
+
|
68
|
+
#how aggresive Neo will increase caches if ratio isn't yet reached
|
69
|
+
adaptive_cache_manager_increase_ratio: 1.1
|
70
|
+
|
71
|
+
#if no requests are made to Neo this is the amount of time in ms Neo will wait
|
72
|
+
#before it checks the heap usage and adapts the caches if needed
|
73
|
+
adaptive_cache_worker_sleep_time: 3000
|
74
|
+
|
75
|
+
#minimum size (number of nodes) of node cache. If adaptive cache is in use
|
76
|
+
#node cache will not be decreased under this value
|
77
|
+
min_node_cache_size: 0
|
78
|
+
|
79
|
+
#minimum size (number of relationships) of relationship cache. If adaptive
|
80
|
+
#cache is in use relationship cache will not be decreased under this value
|
81
|
+
min_relationship_cache_size: 0
|
82
|
+
|
83
|
+
#maximum size (number of nodes) of node cache. If adaptive cache is not in
|
84
|
+
#use the node cache will not be increased above this value
|
85
|
+
max_node_cache_size: 1500
|
86
|
+
|
87
|
+
#maximum size (number of relationship) of node cache. If adaptive cache is
|
88
|
+
#not in use the relationship cache will not be increased above this value
|
89
|
+
max_relationship_cache_size: 3500
|
data/lib/Gemfile~
ADDED
data/lib/config2.yml~
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
#=== Neo4j.rb configuration settings
|
2
|
+
|
3
|
+
# The location of the neo4j and lucene database
|
4
|
+
storage_path: db/ha2
|
5
|
+
|
6
|
+
|
7
|
+
# When using the Neo4j::Model you can let neo4j automatically set timestamps when updating/creating nodes.
|
8
|
+
# If set to true neo4j.rb automatically timestamps create and update operations if the model has properties named created_at/created_on or updated_at/updated_on
|
9
|
+
# (similar to ActiveRecord).
|
10
|
+
timestamps: true
|
11
|
+
|
12
|
+
# Configuration for lucene
|
13
|
+
lucene: { fulltext: { provider: lucene,
|
14
|
+
type: fulltext },
|
15
|
+
exact: { provider: lucene,
|
16
|
+
type: exact}
|
17
|
+
}
|
18
|
+
|
19
|
+
|
20
|
+
#use the clustered Neo4j GraphDatabase (org.neo4j.kernel.HighlyAvailableGraphDatabase)
|
21
|
+
ha.db: true
|
22
|
+
ha.create_empty_db: false
|
23
|
+
|
24
|
+
#ha-server2.conf
|
25
|
+
ha.machine_id: 2
|
26
|
+
ha.server: "localhost:6002"
|
27
|
+
ha.zoo_keeper_servers: "localhost:2181,localhost:2182,localhost:2183"
|
28
|
+
|
29
|
+
enable_remote_shell: "port=1332"
|
30
|
+
|
31
|
+
#===Memory mapped I/O settings===
|
32
|
+
|
33
|
+
#Each file in the Neo store can use memory mapped I/O for reading/writing.
|
34
|
+
#Best performance is achived if the full file can be memory mapped but if
|
35
|
+
#there isn't enough memory for that Neo will try and make the best use of
|
36
|
+
#the memory it gets (regions of the file that get accessed often will more
|
37
|
+
#likley be memory mapped).
|
38
|
+
|
39
|
+
#For high traversal speed it is important to have the nodestore.db and
|
40
|
+
#relationshipstore.db files.
|
41
|
+
|
42
|
+
neostore.nodestore.db.mapped_memory: 25M
|
43
|
+
neostore.relationshipstore.db.mapped_memory: 50M
|
44
|
+
neostore.propertystore.db.mapped_memory: 90M
|
45
|
+
neostore.propertystore.db.index.mapped_memory: 1M
|
46
|
+
neostore.propertystore.db.index.keys.mapped_memory: 1M
|
47
|
+
neostore.propertystore.db.strings.mapped_memory: 130M
|
48
|
+
neostore.propertystore.db.arrays.mapped_memory: 130M
|
49
|
+
|
50
|
+
|
51
|
+
#: ": ": "Cache settings: ": ": "
|
52
|
+
|
53
|
+
#use adaptive caches YES|NO. Let Neo try make best use of available heap.
|
54
|
+
use_adaptive_cache: YES
|
55
|
+
|
56
|
+
#heap usage/max heap size ratio. Neo will increase caches while ratio
|
57
|
+
#is less and decrease if greater. Default 0.77 seems to be a good over
|
58
|
+
#all ratio of heap usage to avoid GC trashing. Larger heaps may allow for
|
59
|
+
#a higher ratio while tiny heaps may need even less.
|
60
|
+
adaptive_cache_heap_ratio: 0.77
|
61
|
+
|
62
|
+
#how aggressive Neo will decrease caches once heap ratio reached
|
63
|
+
adaptive_cache_manager_decrease_ratio: 1.15
|
64
|
+
|
65
|
+
#how aggresive Neo will increase caches if ratio isn't yet reached
|
66
|
+
adaptive_cache_manager_increase_ratio: 1.1
|
67
|
+
|
68
|
+
#if no requests are made to Neo this is the amount of time in ms Neo will wait
|
69
|
+
#before it checks the heap usage and adapts the caches if needed
|
70
|
+
adaptive_cache_worker_sleep_time: 3000
|
71
|
+
|
72
|
+
#minimum size (number of nodes) of node cache. If adaptive cache is in use
|
73
|
+
#node cache will not be decreased under this value
|
74
|
+
min_node_cache_size: 0
|
75
|
+
|
76
|
+
#minimum size (number of relationships) of relationship cache. If adaptive
|
77
|
+
#cache is in use relationship cache will not be decreased under this value
|
78
|
+
min_relationship_cache_size: 0
|
79
|
+
|
80
|
+
#maximum size (number of nodes) of node cache. If adaptive cache is not in
|
81
|
+
#use the node cache will not be increased above this value
|
82
|
+
max_node_cache_size: 1500
|
83
|
+
|
84
|
+
#maximum size (number of relationship) of node cache. If adaptive cache is
|
85
|
+
#not in use the relationship cache will not be increased above this value
|
86
|
+
max_relationship_cache_size: 3500
|
data/lib/neo4j.rb
CHANGED
@@ -4,16 +4,41 @@ require 'enumerator'
|
|
4
4
|
require 'forwardable'
|
5
5
|
require 'time'
|
6
6
|
require 'date'
|
7
|
+
require 'tmpdir'
|
7
8
|
|
8
|
-
|
9
|
-
require '
|
10
|
-
require '
|
11
|
-
require 'neo4j/jars/geronimo-jta_1.1_spec-1.1.1.jar'
|
12
|
-
require 'neo4j/jars/lucene-core-3.0.2.jar'
|
13
|
-
require 'neo4j/jars/neo4j-graph-algo-0.7-1.2'
|
9
|
+
# Rails
|
10
|
+
require 'rails/railtie'
|
11
|
+
require 'active_model'
|
14
12
|
|
15
13
|
require 'will_paginate/collection'
|
16
14
|
require 'will_paginate/finders/base'
|
15
|
+
|
16
|
+
require 'neo4j/jars/core/geronimo-jta_1.1_spec-1.1.1.jar'
|
17
|
+
require 'neo4j/jars/core/lucene-core-3.0.3.jar'
|
18
|
+
require 'neo4j/jars/core/neo4j-lucene-index-0.5-SNAPSHOT.jar'
|
19
|
+
require 'neo4j/jars/core/neo4j-graph-algo-0.8-SNAPSHOT.jar'
|
20
|
+
require 'neo4j/jars/core/neo4j-kernel-1.3-SNAPSHOT.jar'
|
21
|
+
|
22
|
+
module Neo4j
|
23
|
+
|
24
|
+
def self.load_local_jars
|
25
|
+
# This is a temporary fix since the HA does not yet work with this JAR
|
26
|
+
# It will be solved in a future version of the Java Neo4j library.
|
27
|
+
require 'neo4j/jars/core/neo4j-index-1.3-SNAPSHOT.jar'
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.load_ha_jars
|
31
|
+
require 'neo4j/jars/ha/log4j-1.2.16.jar'
|
32
|
+
require 'neo4j/jars/ha/neo4j-ha-0.6-SNAPSHOT.jar'
|
33
|
+
require 'neo4j/jars/ha/neo4j-management-1.3-SNAPSHOT.jar'
|
34
|
+
require 'neo4j/jars/ha/neo4j-shell-1.3-SNAPSHOT.jar'
|
35
|
+
require 'neo4j/jars/ha/netty-3.2.1.Final.jar'
|
36
|
+
require 'neo4j/jars/ha/org.apache.servicemix.bundles.jline-0.9.94_1.jar'
|
37
|
+
require 'neo4j/jars/ha/org.apache.servicemix.bundles.lucene-3.0.1_2.jar'
|
38
|
+
require 'neo4j/jars/ha/zookeeper-3.3.2.jar'
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
17
42
|
require 'neo4j/to_java'
|
18
43
|
require 'neo4j/version'
|
19
44
|
require 'neo4j/equal'
|
@@ -29,6 +54,7 @@ require "neo4j/functions/count"
|
|
29
54
|
require "neo4j/functions/sum"
|
30
55
|
|
31
56
|
|
57
|
+
|
32
58
|
require 'neo4j/index/index'
|
33
59
|
require 'neo4j/index/class_methods'
|
34
60
|
require 'neo4j/index/indexer_registry'
|
@@ -54,14 +80,14 @@ require 'neo4j/mapping/node_mixin'
|
|
54
80
|
require 'neo4j/mapping/relationship_mixin'
|
55
81
|
require 'neo4j/mapping/rule'
|
56
82
|
require 'neo4j/mapping/rule_node'
|
83
|
+
|
57
84
|
require 'neo4j/node_mixin'
|
58
85
|
require 'neo4j/relationship_mixin'
|
59
86
|
require 'neo4j/mapping/class_methods/rule'
|
60
87
|
require 'neo4j/algo'
|
88
|
+
require 'neo4j/migrations'
|
61
89
|
|
62
90
|
# rails
|
63
|
-
require 'rails/railtie'
|
64
|
-
require 'active_model'
|
65
91
|
require 'neo4j/rails/tx_methods'
|
66
92
|
require 'neo4j/rails/transaction'
|
67
93
|
require 'neo4j/rails/railtie'
|