Cypher LinkedList Match por índice pero "No sé cómo comparar eso".

Tengo problemas con MATCH por índice y espero que puedan ayudar. La discusión relacionada se puede encontrar en esta publicación:Cypher Linked LIst: cómo deseleccionar y reemplazar por índice

Primero ejecuto la siguiente consulta sin desplazamiento tres veces para completar la lista vinculada con relaciones y nodos

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

Afterwords Puedo obtener el resultado con esta consulta para que pueda ver que tengo tres elementos en mi matriz de listas vinculadas bajo la etiqueta de relación 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

Luego trato de consultar el primer índice con esta consulta cifrada

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

Pero se me ocurre el siguiente error:

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)

Intenté buscar con esta consulta:

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

y esta es la salida que vuelve

id  789C // which is index 1

También tengo una ligera confusión sobre si el índice 1 debe buscarse con el entero 0 o 1 o 2, pero estoy seguro de que esa confusión se puede resolver una vez que pase este 'No sé cómo comparar eso'. error. Por favor, ayúdeme con orientación sobre la forma correcta de buscar eficazmente por índice y evitar el error que enumeré anteriormente.

Estoy muy agradecido por tu ayuda

** NOTA **

Después de leer la respuesta del ciberesam, he realizado las siguientes pruebas en la estructura de la lista vinculada mencionada anteriormente que contiene tres elementos

Esta consulta devuelve el elemento secundario en la posición de índice 0:

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

Esta consulta devuelve el elemento secundario en la posición del índice 1:

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

Esta consulta devuelve el mensaje "No sé cómo comparar eso". error

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

Esta consulta devuelve el elemento secundario en la posición del índice 2:

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

Supongo que este último funciona para cualquier cosa> = 2

Respuestas a la pregunta(1)

Su respuesta a la pregunta