Neo4jClient - Recuperando una relación de una consulta Cypher

Tengo problemas para recuperar relaciones coincidentes de una consulta de Cypher.

Tengo este código de prueba simple:

var movie = client.Create(new Movie { Title = "The Matrix" });

client.Create(new Actor { Name = "Keanu Reeves" },
    new ActedIn(movie, new ActedInPayload { Role = "Neo" }));

client.Create(new Actor { Name = "Hugo Weaving" },
    new ActedIn(movie, new ActedInPayload { Role = "Agent Smith" }));

var actorsAndRoles = client
    .Cypher
    .Start(new { movie = movie })
    .Match("actor-[r:ACTED_IN]->movie")
    .Return((actor, r) => new
    {
        Actor = actor.As<Node<Actor>>()
        // ActedIn = r.As<?????>()
    })
    .Results;

El problema es que no puedo averiguar cómo lanzar la r (con la relación coincidente).

Intenté varios tipos de ".As", pero ninguno funciona. La conversión a Relación no funciona porque mi clase de relación no tiene un constructor sin parámetros, pero la clase base de Relaciones no tiene un constructor sin parámetros en sí, así que no piense que funcionaría. La conversión a Relación de relación, por otro lado, genera una excepción. No emitir nada (solo devolver r) provoca una excepción "no compatible".

Hay algunas entradas de SO relacionadas con este problema, pero el código sugerido ya no funciona o está en desuso.

¿Cómo recupero la relación emparejada?

Respuestas a la pregunta(1)

Su respuesta a la pregunta