Как получить экземпляр GraphDatabaseService для локально работающего сервера neo4j

Я пробую neo4j обходной API. Все примеры онлайн работы с GraphDatabaseService экземпляр, чтобы использовать его traversalDescription() затем определить схему обхода.

Однако онлайн примеры ( как этот) использует GraphDatabaseFactory чтобы получить GraphDatabaseService экземпляр из встроенной базы данных / файла базы данных:

GraphDatabaseService graphDb = new GraphDatabaseFactory().newEmbeddedDatabase("/tmp/neo4j/");

Я хочу использовать его с экземпляром сервера neo4j, работающим локально. Обычно я использую это, вызывая методы на session Получил экземпляр следующим образом:

Driver driver = GraphDatabase.driver( "bolt://localhost", AuthTokens.basic( "neo4j", "password" ) );
session session = driver.session();

Как мы получаем GraphDatabaseService экземпляр из driver или же session экземпляр или другими способами, чтобы мы могли работать с локально запущенным экземпляром сервера neo4j? Или мы можем использовать API обхода только со встроенной базой данных neo4j?

1 ответ

GraphDatabaseService происходит от внутреннего Java API Neo4j. Таким образом, чтобы получить его, вы должны быть на стороне базы данных (не на стороне клиента / драйвера).

Водители говорят только на Cypher (не на Java).

Для этого во многих примерах создается встроенная БД непосредственно в коде Java, поэтому у них есть доступ к службе.

Другим решением является создание процедуры Java, которая может быть вызвана в Cypher. Посмотрите на эту документацию: http://neo4j.com/docs/developer-manual/current/extending-neo4j/procedures/

Другие вопросы по тегам