Не зная ваш полный запрос или конкретную проблему/сценарий, который вы пытаетесь решить, трудно предложить полный запрос, но может быть использован метод цепного возврата, содержащий что-то вроде следующего:
var query = client.Cypher
.Match("p = [your match statement]")
.Return(p => new
{
StartNodes = Return.As<IEnumerable<Node<Person>>>("extract(ri in rels(p) | startnode(ri))"),
Relations = Return.As<IEnumerable<RelationshipInstance<Person>>>("extract(ri in rels(p) | ri)"),
EndNodes = Return.As<IEnumerable<Node<Person>>>("extract(ri in rels(p) | endnode(ri))")
});
Если вам не нужны объекты обертки можно просто вернуть IEnumerable<Person>
, е, г,
.Return(p => new
{
StartNodes = Return.As<IEnumerable<Person>>("extract(ri in rels(p) | startnode(ri))"),
Relations = Return.As<IEnumerable<Person>>("extract(ri in rels(p) | ri)"),
EndNodes = Return.As<IEnumerable<Person>>("extract(ri in rels(p) | endnode(ri))")
});
Обратите внимание, что приведенный выше код предполагает, что ваш пытаются преобразовали ответ от Neo4j в объект POCO типа Person
. Вы должны подставить это для любого объекта, который вы используете.