Sha256: cc96fe2e65dc68d1f4682e6c9f6d36fbe2e20793f26d4196c3672e45299451a4
Contents?: true
Size: 1.28 KB
Versions: 2
Compression:
Stored size: 1.28 KB
Contents
module Cadet module BatchInserter class Session < Cadet::Session include_package "org.neo4j.graphdb" include_package "org.neo4j.unsafe.batchinsert" include_package "org.neo4j.index.impl.lucene" include_package "org.neo4j.helpers.collection" def initialize(db) @db = db @index_provider = Cadet::CadetIndex::IndexProvider.new(db) end def close @index_provider.shutdown super end def self.open(location) new BatchInserters.inserter(location) end def transaction yield end def constraint(label, property) index = @index_provider.nodeIndex label, {"type" => "exact"} end def find_node(label, property, value) index = @index_provider.nodeIndex label, {"type" => "exact"} result = IteratorUtil.firstOrNull(index.get(property, value)) if result return Node.new(result, @db) else return nil end end def create_node(label, property, value) n = Node.new(@db.createNode({property => value}, DynamicLabel.label(label)), @db) index = @index_provider.nodeIndex label, {"type" => "exact"} index.add(n.underlying, property, value) n end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cadet-0.0.6-java | lib/cadet/batch_inserter/batch_inserter.rb |
cadet-0.0.5-java | lib/cadet/batch_inserter/batch_inserter.rb |