Cypher LinkedList Сопоставление по индексу, но «не знаю, как это сравнить».

У меня проблемы с MATCH по индексу, и я надеюсь, что вы можете помочь. Связанное обсуждение можно найти в этом посте:Cypher Linked LIst: как отменить и заменить на индекс

Сначала я запускаю следующий необращенный запрос три раза, чтобы заполнить связанный список связями и узлами.

MATCH (p {id: '123A'})
OPTIONAL MATCH (p)-[r:Foo]->(c)
WITH p, r, COLLECT(c) AS cs
MERGE (cNew {
    id:'456B'    // and '789C' and 'WXYZ'
})
CREATE (p)-[rNew:Foo {
    isFavorite:false,
    isOpen:false,
    currenttab:'all',
    currentdate:2015-10-30T07:00:00.000Z
}]->(cNew)
FOREACH (x IN cs | 
    CREATE (cNew)-[:Foo {
        isFavorite:r.isFavorite,
        isOpen:r.isOpen,
        currenttab:r.currenttab,
        currentdate:r.currentdate
    }]->(x)
    DELETE r)
RETURN p, rNew, cNew

После слов я могу получить выходные данные с помощью этого запроса, чтобы я мог видеть, что у меня есть три элемента в моем массиве связанных списков под меткой отношения Foo

MATCH ()-[r:`language-arts_ALLRESOURCES`]->() RETURN r

isFavorite  false
isOpen  false
currenttab  all
currentdate 2015-10-30T07:00:00.000Z

isFavorite  false
isOpen  false
currenttab  all
currentdate 2015-10-30T07:00:00.000Z

isFavorite  false
isOpen  false
currenttab  all
currentdate 2015-10-30T07:00:00.000Z

Затем я пытаюсь запросить первый индекс с этим запросом шифра

MATCH (p { id:"123A" })
MATCH (p)-[:Foo*1]->()-[r:Foo]->(c)
RETURN c

Но я подхожу с ошибкой ниже:

Don't know how to compare that. Left: [:Foo[8258]

{isFavorite:false,isOpen:false,currenttab:"all",currentdate:"2015-10-

30T07:00:00.000Z"}] ($colon$colon); Right: :Foo[8260]

{isFavorite:false,isOpen:false,currenttab:"all",currentdate:"2015-10-

30T07:00:00.000Z"} (RelationshipProxy)

Я попытался получить с этим запросом:

MATCH (p { id:"123A" })
MATCH (p)-[:Foo*2]->(c)
RETURN c

и это выход, который возвращается

id  789C // which is index 1

У меня также есть небольшая путаница относительно того, должен ли индекс 1 извлекаться с целым числом 0 или 1 или 2, но эта путаница, я уверен, может быть улажена, как только я получу это «Не знаю, как это сравнить». ошибка. Пожалуйста, помогите мне с рекомендациями относительно правильного способа эффективного извлечения по индексу и избежания ошибки, которую я перечислил выше.

Я очень благодарен за вашу помощь

** НОТА **

Прочитав ответ cybersam, я выполнил следующие тесты для упомянутой выше структуры связанного списка, которая содержит три элемента

Этот запрос возвращает дочерний элемент в позиции индекса 0:

MATCH (p { id:'123A' })
MATCH (p)-[:Foo*0]->()-[r:Foo]->(c)
RETURN c

Этот запрос возвращает дочерний элемент в позиции индекса 1:

MATCH (p { id:'123A' })
MATCH (p)-[:Foo]->()-[r:Foo]->(c)
RETURN c

Этот запрос возвращает «Не знаю, как это сравнить». ошибка

MATCH (p { id:'123A' })
MATCH (p)-[:Foo*1]->()-[r:Foo]->(c)
RETURN c

Этот запрос возвращает дочерний элемент в позиции индекса 2:

MATCH (p { id:'123A' })
MATCH (p)-[:Foo*2]->()-[r:Foo]->(c)
RETURN c

Я предполагаю, что этот последний работает для чего-либо> = 2

Ответы на вопрос(1)

Ваш ответ на вопрос