== Neo4j-wrapper {}[http://travis-ci.org/andreasronge/neo4j-wrapper] This contains the Ruby wrapper of the Neo4j::Node and Neo4j::Relationship java object defined in the neo4j-core gem. This gem is included in neo4j. == Docs * {Github Wiki}[http://github.com/andreasronge/neo4j/wiki] * {YARD}[http://rdoc.info/github/andreasronge/neo4j-wrapper/file/README.rdoc] == The public API {Neo4j::NodeMixin} The Java Neo4j Node {Neo4j::RelationshipMixin} The Java Relationship {Neo4j::IdentityMap} The Identity Map == Example class Company include Neo4j::NodeMixin has_n(:employees) end class Person include Neo4j::NodeMixin property :name property :age, :size, :type => Fixnum, :index => :exact property :description, :index => :fulltext has_one(:best_friend) has_n(:employed_by).from(:employees) end Neo4j::Transaction.run do Person.new(:name => 'jimmy', :age => 35) end person = Person.find(:age => (10..42)).first Neo4j::Transaction.run do person.best_friend = Person.new person.employed_by << Company.new(:name => "Foo ab") end # find by navigate incoming relationship company = person.employed_by.find { |p| p[:name] == 'Foo ab' } puts "Person #{person.name} employed by #{company[:name]}" # navigate the outgoing relationship: company.employees.each {|x| puts x.name} == Changes Changes from the neo4j.rb * Use of YARD instead of RDoc * Some tidy up of the API and code * Change of Ruby module structure. * More RSpecs and more use of mocking combined with real testing of the Java layer * Make sure that we retrieve relationships and nodes lazy if possible. This gem contains two modules: Neo4j and Neo4j::Wrapper The Neo4j module is public and the Neo4j::Wrapper(::*) are private modules. === License * neo4j-wrapper - MIT, see the LICENSE file http://github.com/andreasronge/neo4j-wrapper/tree/master/LICENSE. * Lucene - Apache, see http://lucene.apache.org/java/docs/features.html * \Neo4j - Dual free software/commercial license, see http://neo4j.org/ Notice there are different license for the neo4j-community, neo4j-advanced and neo4j-enterprise jar gems. Only the neo4j-community gem is by default required.