Neo4j некоторые процедуры отсутствуют - PullRequest
0 голосов
/ 02 мая 2018

Я использую APOC 3.3.0.1.

dbms.security.procedures.unrestricted=algo.*, apoc*

Не уверен, почему в моем Neo4j отсутствуют некоторые процедуры.

Как dbms.security.listUsers

dbms.security.changePassword

dbms.showCurrentUser

dbms.security.createUser

dbms.security.deleteUser

Ниже приведены dmb, которые я перечислил в CALL dbms.procedures ()

"dbms.components"   "dbms.components() :: (name :: STRING?, versions :: LIST? OF STRING?, edition :: STRING?)"  "List DBMS components and their versions."
"dbms.functions"    "dbms.functions() :: (name :: STRING?, signature :: STRING?, description :: STRING?)"   "List all user functions in the DBMS."
"dbms.listConfig"   "dbms.listConfig(searchString = :: STRING?) :: (name :: STRING?, description :: STRING?, value :: STRING?)" "List the currently active config of Neo4j."
"dbms.procedures"   "dbms.procedures() :: (name :: STRING?, signature :: STRING?, description :: STRING?)"  "List all procedures in the DBMS."
"dbms.queryJmx" "dbms.queryJmx(query :: STRING?) :: (name :: STRING?, description :: STRING?, attributes :: MAP?)"  "Query JMX management data by domain and name. For instance, "org.neo4j:*""

Некоторые процедуры APOC также отсутствуют.

Специально для apoc.date *, что у меня есть только следующие процедуры

"apoc.date.expire"  "apoc.date.expire(node :: NODE?, time :: INTEGER?, timeUnit :: STRING?) :: VOID"    "CALL apoc.date.expire(node,time,'time-unit') - expire node in given time by setting :TTL label and `ttl` property"
"apoc.date.expireIn"    "apoc.date.expireIn(node :: NODE?, timeDelta :: INTEGER?, timeUnit :: STRING?) :: VOID" "CALL apoc.date.expire.in(node,time,'time-unit') - expire node in given time-delta by setting :TTL label and `ttl` property"

1 Ответ

0 голосов
/ 02 мая 2018

Упомянутые вами процедуры безопасности и пользовательские процедуры доступны только в корпоративной версии, у вас не будет доступа к ним в версии сообщества.

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

Попробуйте использовать CALL dbms.functions(), вы должны увидеть, что вы ищете там.

Вы также можете использовать CALL apoc.help() и передавать строковую часть имени процедуры или процедуры, если у вас возникли проблемы с определением, является ли она процедурой или функцией, а также с параметрами и полученными значениями.

Например, CALL apoc.help('date')

...