neo4j-core 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.
- data/Gemfile +27 -0
- data/README.rdoc +27 -0
- data/config/neo4j/config.yml +102 -0
- data/lib/db/active_tx_log +1 -0
- data/lib/db/index/lucene-store.db +0 -0
- data/lib/db/index/lucene.log.1 +0 -0
- data/lib/db/index/lucene.log.active +0 -0
- data/lib/db/lock +0 -0
- data/lib/db/messages.log +530 -0
- data/lib/db/neostore +0 -0
- data/lib/db/neostore.id +0 -0
- data/lib/db/neostore.nodestore.db +0 -0
- data/lib/db/neostore.nodestore.db.id +0 -0
- data/lib/db/neostore.propertystore.db +0 -0
- data/lib/db/neostore.propertystore.db.arrays +0 -0
- data/lib/db/neostore.propertystore.db.arrays.id +0 -0
- data/lib/db/neostore.propertystore.db.id +0 -0
- data/lib/db/neostore.propertystore.db.index +0 -0
- data/lib/db/neostore.propertystore.db.index.id +0 -0
- data/lib/db/neostore.propertystore.db.index.keys +0 -0
- data/lib/db/neostore.propertystore.db.index.keys.id +0 -0
- data/lib/db/neostore.propertystore.db.strings +0 -0
- data/lib/db/neostore.propertystore.db.strings.id +0 -0
- data/lib/db/neostore.relationshipstore.db +0 -0
- data/lib/db/neostore.relationshipstore.db.id +0 -0
- data/lib/db/neostore.relationshiptypestore.db +0 -0
- data/lib/db/neostore.relationshiptypestore.db.id +0 -0
- data/lib/db/neostore.relationshiptypestore.db.names +0 -0
- data/lib/db/neostore.relationshiptypestore.db.names.id +0 -0
- data/lib/db/nioneo_logical.log.2 +0 -0
- data/lib/db/nioneo_logical.log.active +0 -0
- data/lib/db/tm_tx_log.1 +0 -0
- data/lib/neo4j/config.rb +139 -0
- data/lib/neo4j/cypher.rb +156 -0
- data/lib/neo4j/neo4j.rb +244 -0
- data/lib/neo4j/neo4j.rb~ +214 -0
- data/lib/neo4j/node.rb +39 -0
- data/lib/neo4j/relationship.rb +61 -0
- data/lib/neo4j/transaction.rb +86 -0
- data/lib/neo4j/type_converters/type_converters.rb +287 -0
- data/lib/neo4j-core/cypher/cypher.rb +867 -0
- data/lib/neo4j-core/cypher/result_wrapper.rb +39 -0
- data/lib/neo4j-core/database.rb +191 -0
- data/lib/neo4j-core/equal/equal.rb +23 -0
- data/lib/neo4j-core/event_handler.rb +265 -0
- data/lib/neo4j-core/index/class_methods.rb +117 -0
- data/lib/neo4j-core/index/index.rb +36 -0
- data/lib/neo4j-core/index/index_config.rb +112 -0
- data/lib/neo4j-core/index/indexer.rb +243 -0
- data/lib/neo4j-core/index/indexer_registry.rb +55 -0
- data/lib/neo4j-core/index/lucene_query.rb +264 -0
- data/lib/neo4j-core/lazy_map.rb +21 -0
- data/lib/neo4j-core/node/class_methods.rb +77 -0
- data/lib/neo4j-core/node/node.rb +47 -0
- data/lib/neo4j-core/property/property.rb +94 -0
- data/lib/neo4j-core/relationship/class_methods.rb +80 -0
- data/lib/neo4j-core/relationship/relationship.rb +97 -0
- data/lib/neo4j-core/relationship_set.rb +61 -0
- data/lib/neo4j-core/rels/rels.rb +147 -0
- data/lib/neo4j-core/rels/traverser.rb +99 -0
- data/lib/neo4j-core/to_java.rb +51 -0
- data/lib/neo4j-core/traversal/evaluator.rb +36 -0
- data/lib/neo4j-core/traversal/filter_predicate.rb +30 -0
- data/lib/neo4j-core/traversal/prune_evaluator.rb +20 -0
- data/lib/neo4j-core/traversal/rel_expander.rb +35 -0
- data/lib/neo4j-core/traversal/traversal.rb +130 -0
- data/lib/neo4j-core/traversal/traverser.rb +295 -0
- data/lib/neo4j-core/version.rb +5 -0
- data/lib/neo4j-core.rb +64 -0
- data/neo4j-core.gemspec +31 -0
- metadata +145 -0
@@ -0,0 +1,295 @@
|
|
1
|
+
module Neo4j
|
2
|
+
module Core
|
3
|
+
module Traversal
|
4
|
+
|
5
|
+
# By using this class you can both specify traversals and create new relationships.
|
6
|
+
# This object is return from the Neo4j::Core::Traversal methods.
|
7
|
+
# @see Neo4j::Core::Traversal#outgoing
|
8
|
+
# @see Neo4j::Core::Traversal#incoming
|
9
|
+
class Traverser
|
10
|
+
include Enumerable
|
11
|
+
include ToJava
|
12
|
+
|
13
|
+
|
14
|
+
def initialize(from, dir=:both, type=nil)
|
15
|
+
@from = from
|
16
|
+
@depth = 1
|
17
|
+
if type.nil?
|
18
|
+
raise "Traversing all relationship in direction #{dir.inspect} not supported, only :both supported" unless dir == :both
|
19
|
+
@td = Java::OrgNeo4jKernelImplTraversal::TraversalDescriptionImpl.new.breadth_first()
|
20
|
+
else
|
21
|
+
@type = type_to_java(type)
|
22
|
+
@dir = dir_to_java(dir)
|
23
|
+
@td = Java::OrgNeo4jKernelImplTraversal::TraversalDescriptionImpl.new.breadth_first().relationships(@type, @dir)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
# Sets traversing depth first.
|
29
|
+
#
|
30
|
+
# The <tt>pre_or_post</tt> parameter parameter can have two values: :pre or :post
|
31
|
+
# @param [:pre, :post] pre_or_post
|
32
|
+
# * :pre - Traversing depth first, visiting each node before visiting its child nodes (default)
|
33
|
+
# * :post - Traversing depth first, visiting each node after visiting its child nodes.
|
34
|
+
# @return self
|
35
|
+
#
|
36
|
+
def depth_first(pre_or_post = :pre)
|
37
|
+
case pre_or_post
|
38
|
+
when :pre then
|
39
|
+
@td = @td.order(Java::OrgNeo4jKernel::Traversal.preorderDepthFirst())
|
40
|
+
when :post then
|
41
|
+
@td = @td.order(Java::OrgNeo4jKernel::Traversal.postorderDepthFirst())
|
42
|
+
else
|
43
|
+
raise "Unknown type #{pre_or_post}, should be :pre or :post"
|
44
|
+
end
|
45
|
+
self
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
# Sets traversing breadth first (default).
|
50
|
+
#
|
51
|
+
# This is the default ordering if none is defined.
|
52
|
+
# The <tt>pre_or_post</tt> parameter parameter can have two values: <tt>:pre</tt> or <tt>:post</tt>
|
53
|
+
# * :pre - Traversing breadth first, visiting each node before visiting its child nodes (default)
|
54
|
+
# * :post - Traversing breadth first, visiting each node after visiting its child nodes.
|
55
|
+
#
|
56
|
+
# @param [:pre, :post] pre_or_post The traversal order
|
57
|
+
# @return self
|
58
|
+
#
|
59
|
+
# === Note
|
60
|
+
# Please note that breadth first traversals have a higher memory overhead than depth first traversals.
|
61
|
+
# BranchSelectors carries state and hence needs to be uniquely instantiated for each traversal.
|
62
|
+
# Therefore it is supplied to the TraversalDescription through a BranchOrderingPolicy interface, which is a factory of BranchSelector instances.
|
63
|
+
def breadth_first(pre_or_post = :pre)
|
64
|
+
case pre_or_post
|
65
|
+
when :pre then
|
66
|
+
@td = @td.order(Java::OrgNeo4jKernel::Traversal.preorderBreadthFirst())
|
67
|
+
when :post then
|
68
|
+
@td = @td.order(Java::OrgNeo4jKernel::Traversal.postorderBreadthFirst())
|
69
|
+
else
|
70
|
+
raise "Unknown type #{pre_or_post}, should be :pre or :post"
|
71
|
+
end
|
72
|
+
self
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
def eval_paths(&eval_path_block)
|
77
|
+
@td = @td.evaluator(Evaluator.new(&eval_path_block))
|
78
|
+
self
|
79
|
+
end
|
80
|
+
|
81
|
+
# Sets the rules for how positions can be revisited during a traversal as stated in Uniqueness.
|
82
|
+
# @param [:node_global, :node_path, :node_recent, :none, :rel_global, :rel_path, :rel_recent] u the uniqueness option
|
83
|
+
# @return self
|
84
|
+
# @see Neo4j::Core::Traverser#unique
|
85
|
+
def unique(u = :node_global)
|
86
|
+
case u
|
87
|
+
when :node_global then
|
88
|
+
# A node cannot be traversed more than once.
|
89
|
+
@td = @td.uniqueness(Java::OrgNeo4jKernel::Uniqueness::NODE_GLOBAL)
|
90
|
+
when :node_path then
|
91
|
+
# For each returned node there 's a unique path from the start node to it.
|
92
|
+
@td = @td.uniqueness(Java::OrgNeo4jKernel::Uniqueness::NODE_PATH)
|
93
|
+
when :node_recent then
|
94
|
+
# This is like NODE_GLOBAL, but only guarantees uniqueness among the most recent visited nodes, with a configurable count.
|
95
|
+
@td = @td.uniqueness(Java::OrgNeo4jKernel::Uniqueness::NODE_RECENT)
|
96
|
+
when :none then
|
97
|
+
# No restriction (the user will have to manage it).
|
98
|
+
@td = @td.uniqueness(Java::OrgNeo4jKernel::Uniqueness::NONE)
|
99
|
+
when :rel_global then
|
100
|
+
# A relationship cannot be traversed more than once, whereas nodes can.
|
101
|
+
@td = @td.uniqueness(Java::OrgNeo4jKernel::Uniqueness::RELATIONSHIP_GLOBAL)
|
102
|
+
when :rel_path then
|
103
|
+
# No restriction (the user will have to manage it).
|
104
|
+
@td = @td.uniqueness(Java::OrgNeo4jKernel::Uniqueness::RELATIONSHIP_PATH)
|
105
|
+
when :rel_recent then
|
106
|
+
# Same as for NODE_RECENT, but for relationships.
|
107
|
+
@td = @td.uniqueness(Java::OrgNeo4jKernel::Uniqueness::RELATIONSHIP_RECENT)
|
108
|
+
else
|
109
|
+
raise "Got option for unique '#{u}' allowed: :node_global, :node_path, :node_recent, :none, :rel_global, :rel_path, :rel_recent"
|
110
|
+
end
|
111
|
+
self
|
112
|
+
end
|
113
|
+
|
114
|
+
def to_s
|
115
|
+
"NodeTraverser [from: #{@from.neo_id} depth: #{@depth} type: #{@type} dir:#{@dir}"
|
116
|
+
end
|
117
|
+
|
118
|
+
|
119
|
+
# Creates a new relationship between given node and self
|
120
|
+
# @param [Neo4j::Node] other_node the node to which we want to create a relationship
|
121
|
+
# @return (see #new)
|
122
|
+
def <<(other_node)
|
123
|
+
new(other_node)
|
124
|
+
self
|
125
|
+
end
|
126
|
+
|
127
|
+
# Returns an real ruby array.
|
128
|
+
def to_ary
|
129
|
+
self.to_a
|
130
|
+
end
|
131
|
+
|
132
|
+
# Creates a new relationship between self and given node.
|
133
|
+
# @param [Hash] props properties of new relationship
|
134
|
+
# @return [Neo4j::Relationship] the created relationship
|
135
|
+
def new(other_node, props = {})
|
136
|
+
case @dir
|
137
|
+
when Java::OrgNeo4jGraphdb::Direction::OUTGOING
|
138
|
+
@from.create_relationship_to(other_node, @type).update(props)
|
139
|
+
when Java::OrgNeo4jGraphdb::Direction::INCOMING
|
140
|
+
other_node.create_relationship_to(@from, @type).update(props)
|
141
|
+
else
|
142
|
+
raise "Only allowed to create outgoing or incoming relationships (not #@dir)"
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
# @param (see Neo4j::Core::Traversal#both)
|
147
|
+
# @see Neo4j::Core::Traversal#both
|
148
|
+
def both(type)
|
149
|
+
@type = type_to_java(type) if type
|
150
|
+
@dir = dir_to_java(:both)
|
151
|
+
@td = @td.relationships(type_to_java(type), @dir)
|
152
|
+
self
|
153
|
+
end
|
154
|
+
|
155
|
+
# @param (see Neo4j::Core::Traversal#expand)
|
156
|
+
# @return self
|
157
|
+
# @see Neo4j::Core::Traversal#expand
|
158
|
+
def expander(&expander)
|
159
|
+
@td = @td.expand(RelExpander.create_pair(&expander))
|
160
|
+
self
|
161
|
+
end
|
162
|
+
|
163
|
+
# Adds one outgoing relationship type to the traversal
|
164
|
+
# @param (see Neo4j::Core::Traversal#outgoing)
|
165
|
+
# @return self
|
166
|
+
# @see Neo4j::Core::Traversal#outgoing
|
167
|
+
def outgoing(type)
|
168
|
+
@type = type_to_java(type) if type
|
169
|
+
@dir = dir_to_java(:outgoing)
|
170
|
+
@td = @td.relationships(type_to_java(type), @dir)
|
171
|
+
self
|
172
|
+
end
|
173
|
+
|
174
|
+
# Adds one incoming relationship type to the traversal
|
175
|
+
# @param (see Neo4j::Core::Traversal#incoming)
|
176
|
+
# @return self
|
177
|
+
# @see Neo4j::Core::Traversal#incoming
|
178
|
+
def incoming(type)
|
179
|
+
@type = type_to_java(type) if type
|
180
|
+
@dir = dir_to_java(:incoming)
|
181
|
+
@td = @td.relationships(type_to_java(type), @dir)
|
182
|
+
self
|
183
|
+
end
|
184
|
+
|
185
|
+
# Cuts of of parts of the traversal.
|
186
|
+
# @yield [path]
|
187
|
+
# @yieldparam [Java::OrgNeo4jGraphdb::Path] path the path which can be used to filter nodes
|
188
|
+
# @yieldreturn [true,false] only if true the path should be cut of, no traversal beyond this.
|
189
|
+
# @example
|
190
|
+
# a.outgoing(:friends).outgoing(:recommend).depth(:all).prune{|path| path.end_node[:name] == 'B'}
|
191
|
+
# @see http://components.neo4j.org/neo4j/milestone/apidocs/org/neo4j/graphdb/Path.html
|
192
|
+
def prune(&block)
|
193
|
+
@td = @td.prune(PruneEvaluator.new(block))
|
194
|
+
self
|
195
|
+
end
|
196
|
+
|
197
|
+
# Only include nodes in the traversal in which the provided block returns true.
|
198
|
+
# @yield [path]
|
199
|
+
# @yieldparam [Java::OrgNeo4jGraphdb::Path] path the path which can be used to filter nodes
|
200
|
+
# @yieldreturn [true,false] only if true the node will be included in the traversal result.
|
201
|
+
#
|
202
|
+
# @example Return nodes that are exact at depth 2 from me
|
203
|
+
# a_node.outgoing(:friends).depth(2).filter{|path| path.length == 2}
|
204
|
+
# @see http://components.neo4j.org/neo4j/milestone/apidocs/org/neo4j/graphdb/Path.html
|
205
|
+
def filter(&block)
|
206
|
+
# we keep a reference to filter predicate since only one filter is allowed and we might want to modify it
|
207
|
+
@filter_predicate ||= FilterPredicate.new
|
208
|
+
@filter_predicate.add(block)
|
209
|
+
|
210
|
+
|
211
|
+
@td = @td.filter(@filter_predicate)
|
212
|
+
self
|
213
|
+
end
|
214
|
+
|
215
|
+
# Sets depth, if :all then it will traverse any depth
|
216
|
+
# @param [Fixnum, :all] d the depth of traversal, or all
|
217
|
+
# @return self
|
218
|
+
def depth(d)
|
219
|
+
@depth = d
|
220
|
+
self
|
221
|
+
end
|
222
|
+
|
223
|
+
# By default the start node is not included in the traversal
|
224
|
+
# Specifies that the start node should be included
|
225
|
+
# @return self
|
226
|
+
def include_start_node
|
227
|
+
@include_start_node = true
|
228
|
+
self
|
229
|
+
end
|
230
|
+
|
231
|
+
# @param [Fixnum] index the n'th node that will be return from the traversal
|
232
|
+
def [](index)
|
233
|
+
each_with_index { |node, i| break node if index == i }
|
234
|
+
end
|
235
|
+
|
236
|
+
# @return [true,false]
|
237
|
+
def empty?
|
238
|
+
first == nil
|
239
|
+
end
|
240
|
+
|
241
|
+
# Required by the Ruby Enumerable Mixin
|
242
|
+
def each
|
243
|
+
@raw ? iterator.each { |i| yield i } : iterator.each { |i| yield i.wrapper }
|
244
|
+
end
|
245
|
+
|
246
|
+
# Same as #each but does not wrap each node in a Ruby class, yields the Java Neo4j Node instance instead.
|
247
|
+
def each_raw
|
248
|
+
iterator.each { |i| yield i }
|
249
|
+
end
|
250
|
+
|
251
|
+
# Returns an enumerable of relationships instead of nodes
|
252
|
+
# @return self
|
253
|
+
def rels
|
254
|
+
@traversal_result = :rels
|
255
|
+
self
|
256
|
+
end
|
257
|
+
|
258
|
+
# If this is called then it will not wrap the nodes but instead return the raw Java Neo4j::Node objects when traversing
|
259
|
+
# @return self
|
260
|
+
def raw
|
261
|
+
@raw = true
|
262
|
+
self
|
263
|
+
end
|
264
|
+
|
265
|
+
# Specifies that we should return an enumerable of paths instead of nodes.
|
266
|
+
# @return self
|
267
|
+
def paths
|
268
|
+
@traversal_result = :paths
|
269
|
+
@raw = true
|
270
|
+
self
|
271
|
+
end
|
272
|
+
|
273
|
+
# @return the java iterator
|
274
|
+
def iterator
|
275
|
+
unless @include_start_node
|
276
|
+
if @filter_predicate
|
277
|
+
@filter_predicate.include_start_node
|
278
|
+
else
|
279
|
+
@td = @td.filter(Java::OrgNeo4jKernel::Traversal.return_all_but_start_node)
|
280
|
+
end
|
281
|
+
end
|
282
|
+
@td = @td.prune(Java::OrgNeo4jKernel::Traversal.pruneAfterDepth(@depth)) unless @depth == :all
|
283
|
+
if @traversal_result == :rels
|
284
|
+
@td.traverse(@from._java_node).relationships
|
285
|
+
elsif @traversal_result == :paths
|
286
|
+
@td.traverse(@from._java_node).iterator
|
287
|
+
else
|
288
|
+
@td.traverse(@from._java_node).nodes
|
289
|
+
end
|
290
|
+
|
291
|
+
end
|
292
|
+
end
|
293
|
+
end
|
294
|
+
end
|
295
|
+
end
|
data/lib/neo4j-core.rb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'java'
|
2
|
+
include Java
|
3
|
+
|
4
|
+
module Neo4j
|
5
|
+
# Enumerator has been moved to top level in Ruby 1.9.2, make it compatible with Ruby 1.8.7
|
6
|
+
Enumerator = Enumerable::Enumerator unless defined? Enumerator
|
7
|
+
end
|
8
|
+
|
9
|
+
require 'neo4j/config'
|
10
|
+
|
11
|
+
require 'neo4j-community'
|
12
|
+
|
13
|
+
require 'neo4j/neo4j'
|
14
|
+
|
15
|
+
require 'neo4j-core/lazy_map'
|
16
|
+
require 'neo4j-core/relationship_set'
|
17
|
+
require 'neo4j-core/event_handler'
|
18
|
+
require 'neo4j-core/database'
|
19
|
+
require 'neo4j-core/to_java'
|
20
|
+
|
21
|
+
require 'neo4j-core/property/property'
|
22
|
+
|
23
|
+
require 'neo4j-core/rels/rels'
|
24
|
+
require 'neo4j-core/rels/traverser'
|
25
|
+
|
26
|
+
require 'neo4j-core/traversal/traversal'
|
27
|
+
require 'neo4j-core/traversal/traversal'
|
28
|
+
require 'neo4j-core/traversal/filter_predicate'
|
29
|
+
require 'neo4j-core/traversal/prune_evaluator'
|
30
|
+
require 'neo4j-core/traversal/rel_expander'
|
31
|
+
require 'neo4j-core/traversal/traverser'
|
32
|
+
|
33
|
+
require 'neo4j-core/index/index'
|
34
|
+
require 'neo4j-core/index/class_methods'
|
35
|
+
require 'neo4j-core/index/indexer_registry'
|
36
|
+
require 'neo4j-core/index/index_config'
|
37
|
+
require 'neo4j-core/index/indexer'
|
38
|
+
require 'neo4j-core/index/lucene_query'
|
39
|
+
|
40
|
+
require 'neo4j-core/equal/equal'
|
41
|
+
|
42
|
+
require 'neo4j-core/relationship/relationship'
|
43
|
+
require 'neo4j-core/relationship/class_methods'
|
44
|
+
|
45
|
+
require 'neo4j-core/node/node'
|
46
|
+
require 'neo4j-core/node/class_methods'
|
47
|
+
|
48
|
+
require 'neo4j/transaction'
|
49
|
+
|
50
|
+
require 'neo4j/type_converters/type_converters'
|
51
|
+
|
52
|
+
require 'neo4j-core/traversal/evaluator'
|
53
|
+
require 'neo4j-core/traversal/filter_predicate'
|
54
|
+
require 'neo4j-core/traversal/prune_evaluator'
|
55
|
+
require 'neo4j-core/traversal/rel_expander'
|
56
|
+
require 'neo4j-core/traversal/traversal'
|
57
|
+
require 'neo4j-core/traversal/traverser'
|
58
|
+
|
59
|
+
require 'neo4j-core/cypher/cypher'
|
60
|
+
require 'neo4j-core/cypher/result_wrapper'
|
61
|
+
|
62
|
+
require 'neo4j/cypher'
|
63
|
+
require 'neo4j/node'
|
64
|
+
require 'neo4j/relationship'
|
data/neo4j-core.gemspec
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
lib = File.expand_path('../lib/', __FILE__)
|
2
|
+
$:.unshift lib unless $:.include?(lib)
|
3
|
+
|
4
|
+
require 'neo4j-core/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "neo4j-core"
|
8
|
+
s.version = Neo4j::Core::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-core/tree"
|
15
|
+
s.rubyforge_project = 'neo4j-core'
|
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-core.gemspec)
|
26
|
+
s.has_rdoc = true
|
27
|
+
s.extra_rdoc_files = %w( README.rdoc )
|
28
|
+
s.rdoc_options = ["--quiet", "--title", "Neo4j::Core", "--line-numbers", "--main", "README.rdoc", "--inline-source"]
|
29
|
+
|
30
|
+
s.add_dependency("neo4j-community", "1.7.0.alpha.1")
|
31
|
+
end
|
metadata
ADDED
@@ -0,0 +1,145 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: neo4j-core
|
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-03-20 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: neo4j-community
|
17
|
+
prerelease: false
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - "="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.7.0.alpha.1
|
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/neo4j-core.rb
|
41
|
+
- lib/neo4j/config.rb
|
42
|
+
- lib/neo4j/cypher.rb
|
43
|
+
- lib/neo4j/transaction.rb
|
44
|
+
- lib/neo4j/neo4j.rb
|
45
|
+
- lib/neo4j/neo4j.rb~
|
46
|
+
- lib/neo4j/node.rb
|
47
|
+
- lib/neo4j/relationship.rb
|
48
|
+
- lib/neo4j/type_converters/type_converters.rb
|
49
|
+
- lib/neo4j-core/event_handler.rb
|
50
|
+
- lib/neo4j-core/lazy_map.rb
|
51
|
+
- lib/neo4j-core/database.rb
|
52
|
+
- lib/neo4j-core/relationship_set.rb
|
53
|
+
- lib/neo4j-core/version.rb
|
54
|
+
- lib/neo4j-core/to_java.rb
|
55
|
+
- lib/neo4j-core/node/node.rb
|
56
|
+
- lib/neo4j-core/node/class_methods.rb
|
57
|
+
- lib/neo4j-core/property/property.rb
|
58
|
+
- lib/neo4j-core/equal/equal.rb
|
59
|
+
- lib/neo4j-core/traversal/rel_expander.rb
|
60
|
+
- lib/neo4j-core/traversal/filter_predicate.rb
|
61
|
+
- lib/neo4j-core/traversal/prune_evaluator.rb
|
62
|
+
- lib/neo4j-core/traversal/traversal.rb
|
63
|
+
- lib/neo4j-core/traversal/traverser.rb
|
64
|
+
- lib/neo4j-core/traversal/evaluator.rb
|
65
|
+
- lib/neo4j-core/rels/traverser.rb
|
66
|
+
- lib/neo4j-core/rels/rels.rb
|
67
|
+
- lib/neo4j-core/index/index_config.rb
|
68
|
+
- lib/neo4j-core/index/indexer.rb
|
69
|
+
- lib/neo4j-core/index/lucene_query.rb
|
70
|
+
- lib/neo4j-core/index/indexer_registry.rb
|
71
|
+
- lib/neo4j-core/index/class_methods.rb
|
72
|
+
- lib/neo4j-core/index/index.rb
|
73
|
+
- lib/neo4j-core/relationship/class_methods.rb
|
74
|
+
- lib/neo4j-core/relationship/relationship.rb
|
75
|
+
- lib/neo4j-core/cypher/cypher.rb
|
76
|
+
- lib/neo4j-core/cypher/result_wrapper.rb
|
77
|
+
- lib/db/neostore.relationshiptypestore.db.names
|
78
|
+
- lib/db/neostore.id
|
79
|
+
- lib/db/neostore.relationshiptypestore.db.names.id
|
80
|
+
- lib/db/neostore.nodestore.db.id
|
81
|
+
- lib/db/neostore.propertystore.db.index
|
82
|
+
- lib/db/neostore.propertystore.db.strings.id
|
83
|
+
- lib/db/nioneo_logical.log.active
|
84
|
+
- lib/db/neostore.propertystore.db.strings
|
85
|
+
- lib/db/neostore.relationshiptypestore.db.id
|
86
|
+
- lib/db/neostore
|
87
|
+
- lib/db/neostore.nodestore.db
|
88
|
+
- lib/db/neostore.propertystore.db.index.keys.id
|
89
|
+
- lib/db/neostore.propertystore.db.arrays.id
|
90
|
+
- lib/db/messages.log
|
91
|
+
- lib/db/neostore.relationshipstore.db.id
|
92
|
+
- lib/db/neostore.propertystore.db.arrays
|
93
|
+
- lib/db/neostore.relationshipstore.db
|
94
|
+
- lib/db/neostore.propertystore.db.index.id
|
95
|
+
- lib/db/neostore.propertystore.db.id
|
96
|
+
- lib/db/neostore.propertystore.db
|
97
|
+
- lib/db/tm_tx_log.1
|
98
|
+
- lib/db/nioneo_logical.log.2
|
99
|
+
- lib/db/neostore.relationshiptypestore.db
|
100
|
+
- lib/db/lock
|
101
|
+
- lib/db/active_tx_log
|
102
|
+
- lib/db/neostore.propertystore.db.index.keys
|
103
|
+
- lib/db/index/lucene-store.db
|
104
|
+
- lib/db/index/lucene.log.1
|
105
|
+
- lib/db/index/lucene.log.active
|
106
|
+
- config/neo4j/config.yml
|
107
|
+
- README.rdoc
|
108
|
+
- Gemfile
|
109
|
+
- neo4j-core.gemspec
|
110
|
+
homepage: http://github.com/andreasronge/neo4j-core/tree
|
111
|
+
licenses: []
|
112
|
+
|
113
|
+
post_install_message:
|
114
|
+
rdoc_options:
|
115
|
+
- --quiet
|
116
|
+
- --title
|
117
|
+
- Neo4j::Core
|
118
|
+
- --line-numbers
|
119
|
+
- --main
|
120
|
+
- README.rdoc
|
121
|
+
- --inline-source
|
122
|
+
require_paths:
|
123
|
+
- lib
|
124
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
125
|
+
none: false
|
126
|
+
requirements:
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: 1.8.7
|
130
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
132
|
+
requirements:
|
133
|
+
- - ">="
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: "0"
|
136
|
+
requirements: []
|
137
|
+
|
138
|
+
rubyforge_project: neo4j-core
|
139
|
+
rubygems_version: 1.8.15
|
140
|
+
signing_key:
|
141
|
+
specification_version: 3
|
142
|
+
summary: A graph database for JRuby
|
143
|
+
test_files: []
|
144
|
+
|
145
|
+
has_rdoc: true
|