Neo4j - 来自 ruby 的 Cypher 查询翻译

Neo4j - Cypher query translation from ruby

我有一个小型 neo4j,它有两个节点类型 Author 和 Book。从作者到书籍的单一关系 authored_book。 我知道如何通过作者的名字和他在 Ruby 中创作的所有书籍来查找。 但我不知道如何用 Cypher 写同样的东西。 这是 Ruby 代码:

2.1.5 :183 > a = Author.find_by(name: 'Albert Camus')
 => #<Author name: "Albert Camus">
2.1.5 :184 > a.books.count
 => 24
2.1.5 :185 > a.books.first
 => #<Book title: "LA Peste (Folio Series: No. 42)">
2.1.5 :186 > a.books.last
 => #<Book title: "La Chute">
2.1.5 :187 >

需要知道如何用 Cypher 编写。

给你。查找和作者以及书籍的所有作者。 Return图书的数量、图书的合集、合集的第一本书、合集的尾部和合集的最后一本书。

match (a:Author {name: 'Albert Camus'})-[:AUTHORED_BOOK]->(b:Book)
return count(b) as Num
, collect(b.title) as Books
, head(collect(b.title)) as Head
, tail(collect(b.title)) as Tail
, last(collect(b.title)) as Last
, collect(b.title)[length(collect(b))-1] as Last2