Neo4j, NoMethodError: неопределенный метод «исходящий» для

У меня есть небольшая база данных Neo4j с двумя узлами: Author и Book. Связь заключается в том, что один или несколько авторов написали книги. Из консоли rails я загружаю узел Author и получаю результат

a = Neo4j::Node.load(36) 
=> #<Author name: "Levi">

Следующий выдает мне и ошибку

a.outgoing(:BOOKS)
NoMethodError: undefined method `outgoing' for #<Author name: "Levi">
    from /Users/levidamian/.rvm/gems/ruby-2.1.5/gems/activemodel-4.1.8/lib/active_model/attribute_methods.rb:435:in `method_missing'
    from (irb):7

Что здесь не так?

РЕДАКТИРОВАТЬ:

Драгоценные камни Neo4j:

neo4j (4.1.1)
neo4j-core (4.0.1, 4.0.0)
neo4j-cypher (1.0.4)

Gemfile:

gem 'neo4j' 
gem 'neo4j-cypher'
gem 'thin'
gem 'rails', '4.1.8'
gem 'unicorn'
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'spring', group: :development
group :production do 
  gem 'rails_12factor'
end

person LDB    schedule 27.01.2015    source источник
comment
Вам придется быть более конкретным. Какие драгоценные камни и версии этих драгоценных камней вы используете?   -  person subvertallchris    schedule 27.01.2015
comment
neo4j (4.1.1) neo4j-core (4.0.1, 4.0.0) neo4j-cypher (1.0.4)   -  person LDB    schedule 27.01.2015
comment
neo4j (4.1.1) neo4j-core (4.0.1, 4.0.0) neo4j-cypher (1.0.4)   -  person LDB    schedule 27.01.2015
comment
gem 'neo4j' gem 'neo4j-cypher' gem 'thin' gem 'rails', '4.1.8' gem 'единорог' gem 'sass-rails', '~› 4.0.3' gem 'uglifier', '›= 1.3.0' gem 'coffee-rails', '~› 4.0.0' gem 'jquery-rails' gem 'turbolinks' gem 'jbuilder', '~› 2.0' gem 'sdoc', '~› 0.4.0' , group: :doc gem 'spring', group: :development group :production do gem 'rails_12factor' end   -  person LDB    schedule 27.01.2015
comment
Где вы нашли ссылку на neo4j-cypher? Это где-то связано? Его не следует использовать, он содержит ранний код, который в конечном итоге стал частью neo4j-core.   -  person subvertallchris    schedule 27.01.2015
comment
На самом деле это похоже на то, как предыдущая версия драгоценных камней neo4j работала до 3.0.   -  person Brian Underwood    schedule 28.01.2015


Ответы (1)


a.outgoing(:BOOKS) выглядит как метод из гема neo4j-cypher, который никогда не был частью выпущенных версий Neo4j или Neo4j-core. Вы должны удалить этот драгоценный камень из своего проекта, и если вы где-то встретите ресурс, предлагающий вам его использовать, сообщите им, что у них устаревшая информация.

Если вы используете Neo4j::ActiveNode и модели, см. документацию по адресу https://github.com/neo4jrb/neo4j/wiki. Если вам просто нужны базовые возможности подключения и методы Neo4j, используйте Neo4j-core и см. https://github.com/neo4jrb/neo4j-core.

person subvertallchris    schedule 27.01.2015
comment
Спасибо за совет. Я (очень) новичок в Neo4j и не имею никакого опыта. Я удалил гем neo4j-cypher, как указано. Оба моих модельных класса Author и Book содержат строку include Neo4j::ActiveNode, что означает, что я использую ActiveNode. Здесь я пытаюсь решить следующую проблему: у книги может быть один или несколько авторов. Мне нужен метод в books_controller.rb (я использую RoR), чтобы запрос выполнялся следующим образом: start n=node(4) match n‹-[:BOOKS]-(m) return n,m; который нормально работает в оболочке neo4j, возвращая двух авторов книги (узел: 4), и мне нужно получить их имена из результата. - person LDB; 28.01.2015
comment
Прочтите документацию Neo4j.rb, а также ознакомьтесь с скриншотом запуска, чтобы узнать некоторые основы. Если вам нужна дополнительная помощь, вы можете пометить этот вопрос как ответ и начать новый. - person subvertallchris; 28.01.2015
comment
За последние несколько месяцев я отправил кучу вопросов @levid. Надеюсь, они вам пригодятся - person Clam; 28.01.2015