neo4j 1.0.0.beta.26-java → 1.0.0.beta.27-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/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'
|