Пользовательские посетители и пользовательские расширители в arangodb

Глядя на документацию, он говорит, что модуль обхода (@arangodb/graph/traversal) устарел с версии 3.4.0. Есть ли другой способ использовать настраиваемых посетителей и расширителей так, как это было доступно в этом модуле?


person Milko    schedule 17.09.2019    source источник


Ответы (1)


Единственной альтернативой, которую я смог найти, были «определяемые пользователем функции»: https://www.arangodb.com/docs/stable/aql/extending.html.

После определения UDF, скажем, userFunc, вы можете выполнить такой запрос:

FOR v, e, p in MIN..MAX
INBOUND|OUTBOUND|ANY @startingNode
GRAPH @graph //or edge list
[PRUNE]
[OPTIONS]
LET vProcessed = userFunc(v)
//... further clauses operate on vProcessed

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

Примечание. "Посетитель" может запускаться только после предложения PRUNE из-за разрешенной схемы синтаксиса AQL.

person adityamukho    schedule 09.10.2019