Я установил Neo4j, используя последнюю версию spring 1.5, spring-data-neo4j 4.2, с драйверами ogm. Конфигурация использует встроенный драйвер без URI (поэтому непостоянное хранилище базы данных)
Вот содержимое Spring @Configuration bean-компонента:
@Bean
public org.neo4j.ogm.config.Configuration neo4jConfiguration() {
org.neo4j.ogm.config.Configuration configuration = new org.neo4j.ogm.config.Configuration();
configuration.driverConfiguration().setDriverClassName("org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver");
// don't set the URI for embedded so we get an impermanent database
return configuration;
}
@Bean
public SessionFactory getSessionFactory() {
return new SessionFactory(
neo4jConfiguration(),
"xxx.yyy.springboot.neo4j.domain");
}
@Bean
public Neo4jTransactionManager transactionManager() {
return new Neo4jTransactionManager(getSessionFactory());
}
Попытка запустить встроенную процедуру работает нормально:
/**
* Test we can call out to standard built-in procedures using cypher
*/
@Test
public void testNeo4jProcedureCalls() {
Session session = sessionFactory.openSession();
Result result = session.query("CALL dbms.procedures()", ImmutableMap.of());
assertThat(result).isNotNull();
List<Map<String, Object>> dataList = StreamSupport.stream(result.spliterator(), false)
.collect(Collectors.toList());
assertThat(dataList).isNotNull();
assertThat(dataList.size()).isGreaterThan(0);
}
Теперь я хочу установить и запустить процедуры apoc, которые я добавил в путь к классам:
/**
* Test we can call out to https://neo4j-contrib.github.io/neo4j-apoc-procedures
*/
@Test
public void testNeo4jApocProcedureCalls() {
Session session = sessionFactory.openSession();
Result result = session.query("CALL apoc.help(\"apoc\")", ImmutableMap.of());
assertThat(result).isNotNull();
List<Map<String, Object>> dataList = StreamSupport.stream(result.spliterator(), false)
.collect(Collectors.toList());
assertThat(dataList).isNotNull();
assertThat(dataList.size()).isGreaterThan(0);
}
Однако вышеуказанное не удается с ошибкой Description: There is no procedure with the name 'apoc.help' registered for this database instance
Мне не удалось найти никакой документации для регистрации процедур apoc для запуска во встроенном режиме. Не удалось найти никаких ссылок на процедуры регистрации в документации OGM. Любые советы или фрагменты будут оценены.