class Neography::Node

Attributes

neo_server[RW]

Public Class Methods

create(props = nil, db = Neography::Rest.new) click to toggle source
# File lib/neography/node.rb, line 11
def self.create(props = nil, db = Neography::Rest.new)
  raise ArgumentError.new("syntax deprecated") if props.is_a?(Neography::Rest)

  node = self.new(db.create_node(props))
  node.neo_server = db
  node
end
create_unique(index, key, value, props = nil, db = Neography::Rest.new) click to toggle source
# File lib/neography/node.rb, line 19
def self.create_unique(index, key, value, props = nil, db = Neography::Rest.new)
  raise ArgumentError.new("syntax deprecated") if props.is_a?(Neography::Rest)

  node = self.new(db.create_unique_node(index, key, value, props))
  node.neo_server = db
  node
end
load(node, db = Neography::Rest.new) click to toggle source
# File lib/neography/node.rb, line 27
def self.load(node, db = Neography::Rest.new)
  raise ArgumentError.new("syntax deprecated") if node.is_a?(Neography::Rest)
  node = node.first if node.kind_of?(Array)
  node = db.get_node(node) if (node.to_s.match(/^\d+$/) or node.to_s.split("/").last.match(/^\d+$/))
  if node
    node = self.new(node)
    node.neo_server = db
  end
  node
end

Public Instance Methods

add_label(labels)
Alias for: add_labels
add_labels(labels) click to toggle source
# File lib/neography/node.rb, line 69
def add_labels(labels)
  # Just invalidating the cache on purpose, see set_labels
  @cached_labels = nil
  self.neo_server.add_label(self, [labels].flatten)
end
Also aliased as: add_label
cached_labels=(labels) click to toggle source
# File lib/neography/node.rb, line 82
def cached_labels=(labels)
  @cached_labels = [labels].flatten
end
del() click to toggle source
# File lib/neography/node.rb, line 43
def del
  neo_server.delete_node!(self.neo_id)
end
delete_label(label) click to toggle source
# File lib/neography/node.rb, line 77
def delete_label(label)
  @cached_labels = nil
  self.neo_server.delete_label(self, label)
end
exist?() click to toggle source
# File lib/neography/node.rb, line 47
def exist?
  begin
    neo_server.get_node(self.neo_id)
    true
  rescue NodeNotFoundException
    false
  end
end
find(*args) click to toggle source
# File lib/neography/node.rb, line 38
def find(*args)
  node = self.new
  node.find(args)
end
labels() click to toggle source
# File lib/neography/node.rb, line 56
def labels
  @cached_labels ||= [self.neo_server.get_node_labels(self.neo_id)].compact.flatten
end
set_label(labels)
Alias for: set_labels
set_labels(labels) click to toggle source
# File lib/neography/node.rb, line 60
def set_labels(labels)
  # I just invalidate the cache instead of updating it to make sure
  # it doesn't contain something else than what ends up in neo4j
  # (consider duplicate/invalid labels, etc).
  @cached_labels = nil
  self.neo_server.set_label(self, [labels].flatten)
end
Also aliased as: set_label