Я делаю запрос на Neo4j в GrapheneDB, но он возвращает все комбинации совпадений, поэтому у меня есть это дерево:
Но когда я его запрашиваю, он возвращает список комбинаций всех путей, например комбинационную таблицу (даже в представлении JSON):
Мне нужны вложенные объекты дерева, поэтому я могу легко привязать их к интерфейсу UWP, например: Использование Cypher для возврата вложенного иерархического JSON из дерева
Я использовал эту команду:
MATCH (p:Pessoa)-[ev:VENDA]-(y)-[e1]-(itemdopedido)-[e2]-(itemdoestoque)
CALL apoc.convert.toTree(p) yield value
RETURN value;
но я получаю эту ошибку:
ОШИБКА Neo.ClientError.Procedure.ProcedureNotFound Для этого экземпляра базы данных не зарегистрирована процедура с именем
apoc.convert.toTree
. Пожалуйста, убедитесь, что вы правильно написали имя процедуры и правильно ли она развернута.
На С# я создал свои классы для вершин и ребер:
public class Pedido
{
public string since { get; set; }
}
public class ItemDoPedido
{
public double ValorUnitario { get; set; }
}
public class ItemDoEstoque
{
public string Nome { get; set; }
public string UnidadeDeMedida { get; set; }
}
public class Pessoa
{
public string Nome { get; set; }
//public string Telefone { get; set; }
public string Facebook { get; set; }
}
Затем я попытался использовать некоторую группировку:
var results = query.Results.GroupBy(
q => new { q.Pessoa, q.Pedido, q.ItemDoPedido, q.ItemDoEstoque }
)
.Select(y => new
{
Pessoa = y.Key.Pessoa,
Venda = y.Key.Pedido//,
//Children = y.ToList()
}
);
;
но я думаю, что это усложняется, я предпочитаю, чтобы дерево объектов было готово из запроса к серверу.
Как я могу это сделать?