Neo4j, как получить список узлов по запросу шифра с помощью драйвера Java - PullRequest
0 голосов
/ 01 октября 2018
    StatementResult result = graphBasicService.readStatement(query);
    while (result.hasNext())
    {
        Record record = result.next();
        // Values can be extracted from a record by index or name.
        System.out.println("nodes: "+record.asMap().values());
    }

Как и в приведенном выше примере кода, я пытаюсь получить узел со значениями {mobile, status}.Хотя в браузере я получаю список, с указанным выше кодом я просто получаю одно значение (один номер мобильного телефона).

Более подробно я получаю результаты, напечатанные как

mobile: [node <9>]

Что здесь обозначает 9?И как я могу получить список узлов для печати номера мобильного телефона.

Если вам требуется запрос:

MATCH (n: пользователь {мобильный телефон: "9999999"}) - [r: CONTACT] -> (m: пользователь {withm: "true"}) - [r2: CONTACT] -> (n) return m

Примечание: graphBasicService - это мойПользовательский метод, который выполняет вышеуказанный запрос.

Сводка вопроса: Я пытаюсь получить и распечатать список узлов, но не могу это сделать.

1 Ответ

0 голосов
/ 01 октября 2018

Я не вижу здесь никаких списков.В вашем запросе нет collect() или какой-либо другой функции или процедуры, которая выдала бы список.Вы просто получаете поток записей результатов.

Вы получите один узел на запись с этим запросом, поэтому, если вы хотите получить список, вы должны либо создать список вне цикла, и добавить узел в список внутри цикла, либо, если хотите,чтобы изменить сам запрос, используйте RETURN collect(m) as users (или, если вам нужны цифры, RETURN collect(m.mobile). Если вы это сделаете, вы получите одну запись со списком узлов (или номеров мобильных телефонов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...