Как мы генерируем зашифрованный запрос, используя Java и APOC для Neo4j? - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь создать свою собственную процедуру в Java, чтобы использовать ее для Neo4j. Я хотел знать, как мы можем выполнить код Cypher в Java?

Я пытался использовать функцию graphDB.execute ()но это не работаетЯ просто хочу выполнить базовый код на Java с помощью библиотек Neo4j.Пример базового кода, который я хочу выполнить:

[EDIT]

public class Test
{ 
    @Context public GraphDatabaseService graphDb;
    @UserFunction
    public Result test() {

        Result result = graphDb.execute("MATCH (n:Actor)\n" + 
                "RETURN n.name AS name\n" + 
                "UNION ALL MATCH (n:Movie)\n" + 
                "RETURN n.title AS name", new HashMap<String, Object>());


        return result;
    }
}

1 Ответ

1 голос
/ 03 мая 2019

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

Измените это на процедуру и измените ваш тип возврата на что-то вроде Stream<NodeResult>, где NodeResult - это POJO с открытым полем Node.

Вам нужно будет изменить свой возвратсоответственно.

...