# Specs Some code which might define the future interface of the gem. # Defining class Character < Architect4r::Model::Node property :name, :cast_to => String property :human, :cast_to => TrueClass timestamps! def ships class.find_by_cypher("start s=node(#{id}) match s-[:CrewMembership]->d return d", "d") end def crew_memberships class.find_by_cypher("start s=node(#{id}) match s-[r:CrewMembership]->d return d, r", "d") end end class Ship < Architect4r::Model::Node property :name, :cast_to => String end class CrewMembership < Architect4r::Model::Relationship property :rank, :cast_to => String end neo = Character.find_by_id(15) neo. # Finding records Instrument.all Instrument.find_by_name("Piano") Instrument.find_by_name("Klavier", :de) Instrument.find_by_cypher("start cat=(123) match (cat)--(x) return x limit 2") # Filter associations by relationship type (:incoming, :outgoing, :all) instrument.links(:outgoing) # Query by model or type @user.links(:all, Fanship, 'studies') # Create a custom relationship relationship = Architect4r::Model::Relationship.create(start_node, end_note, 'CustomType', { :active => true }) # or instrument.links(:incoming).create(:category, @other_node, { :created_at => DateTime.new, :active => true }) instrument.links(:incoming).create(CategoryRelation, @other_node, { :created_at => DateTime.new, :active => true })