Как десериализовать объекты с правильным типом узла из Neo4j? - PullRequest
0 голосов
/ 21 февраля 2020

У нас есть пути узлов, которые представляют набор действий, которые могут быть линейными или параллельными. Эти пути включают в себя несколько различных типов узлов. Сейчас я создаю REST Api, чтобы получить все узлы пути и отобразить их на моем веб-интерфейсе.

Поскольку все это происходит в c#, мне нужно получить тип, чтобы я мог создать свой объект соответственно. Это не проблема вызывать шифры, которые возвращают мне специфический тип c, так как я могу просто сделать это следующим образом:

        public List<Todo> Get()
        {
            var query = client.Cypher
                                    .Match("(n: Todo)")
                                    .Return((n) => n.As<Todo>());

            return query.Results.ToList();
        }

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

1 Ответ

0 голосов
/ 22 февраля 2020

Поскольку устаревший REST API neo4j будет удален в neo4j 4.0, я предполагаю, что вы планируете использовать API транзакций Cypher .

Когда вы передаете оператор Cypher в транзакционный API, Вы можете указать опцию graph в списке resultDataContents. Это приведет к тому, что ответ будет включать метки узлов и типы отношений.

...