From 366e783fbb679a6baef77dba3e080670061746d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Thu, 14 Dec 2023 17:29:24 +0100 Subject: [PATCH 01/19] Adds first version of the procedure signature in codemirror --- .vscode/settings.json | 2 +- package.json | 3 +- packages/language-support/src/helpers.ts | 2 +- packages/language-support/src/index.ts | 8 +- .../src/mock-schema.ts | 9658 +++++++++++++++-- packages/react-codemirror/src/index.ts | 2 +- .../src/lang-cypher/lang-cypher.ts | 2 + .../src/lang-cypher/signature-help.ts | 75 + 8 files changed, 8690 insertions(+), 1062 deletions(-) create mode 100644 packages/react-codemirror/src/lang-cypher/signature-help.ts diff --git a/.vscode/settings.json b/.vscode/settings.json index c6d1ea446..b6a5307f3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,7 +2,7 @@ "typescript.tsc.autoDetect": "off", "typescript.preferences.quoteStyle": "single", "editor.codeActionsOnSave": { - "source.fixAll.eslint": true + "source.fixAll.eslint": "explicit" }, "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true, diff --git a/package.json b/package.json index 7f1d1a5aa..698c07592 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,8 @@ }, "engineStrict": true, "engines": { - "node": ">=18.18.2" + "node": ">=18.18.2", + "vscode": "^1.22.0" }, "devDependencies": { "@changesets/cli": "^2.26.2", diff --git a/packages/language-support/src/helpers.ts b/packages/language-support/src/helpers.ts index 716152b9b..98c8690d9 100644 --- a/packages/language-support/src/helpers.ts +++ b/packages/language-support/src/helpers.ts @@ -40,7 +40,7 @@ export function findStopNode(root: StatementsContext) { export function findParent( leaf: ParserRuleContext | undefined, condition: (node: ParserRuleContext) => boolean, -) { +): ParserRuleContext | undefined { let current: ParserRuleContext | undefined = leaf; while (current && !condition(current)) { diff --git a/packages/language-support/src/index.ts b/packages/language-support/src/index.ts index 021dab6eb..382650808 100644 --- a/packages/language-support/src/index.ts +++ b/packages/language-support/src/index.ts @@ -1,7 +1,11 @@ export type { ParserRuleContext } from 'antlr4'; export { autocomplete } from './autocompletion/autocompletion'; export type { DbSchema } from './dbSchema'; -export { antlrUtils } from './helpers'; +export { + CallClauseContext, + FunctionInvocationContext, +} from './generated-parser/CypherParser'; +export { antlrUtils, findParent } from './helpers'; export { applySyntaxColouring, mapCypherToSemanticTokenIndex, @@ -10,7 +14,7 @@ export { export type { ParsedCypherToken } from './highlighting/syntaxColouring/syntaxColouringHelpers'; export { validateSyntax } from './highlighting/syntaxValidation/syntaxValidation'; export { CypherTokenType, lexerSymbols } from './lexerSymbols'; -export { parse } from './parserWrapper'; +export { parse, parserWrapper } from './parserWrapper'; export { signatureHelp } from './signatureHelp'; export { CypherLexer }; export { CypherParser }; diff --git a/packages/react-codemirror-playground/src/mock-schema.ts b/packages/react-codemirror-playground/src/mock-schema.ts index f356acd46..4943ab35e 100644 --- a/packages/react-codemirror-playground/src/mock-schema.ts +++ b/packages/react-codemirror-playground/src/mock-schema.ts @@ -1237,2529 +1237,10075 @@ export const dummyDbSchema = { procedureSignatures: { 'apoc.algo.aStar': { label: 'apoc.algo.aStar', + documentation: + 'Runs the A* search algorithm to find the optimal path between two nodes, using the given relationship property name for the cost function.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE?', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE?', + }, + { + label: 'relTypesAndDirections', + documentation: 'relTypesAndDirections :: STRING?', + }, + { + label: 'weightPropertyName', + documentation: 'weightPropertyName :: STRING?', + }, + { + label: 'latPropertyName', + documentation: 'latPropertyName :: STRING?', + }, + { + label: 'lonPropertyName', + documentation: 'lonPropertyName :: STRING?', + }, + ], }, 'apoc.algo.aStarConfig': { label: 'apoc.algo.aStarConfig', - }, - 'apoc.algo.aStarWithPoint': { - label: 'apoc.algo.aStarWithPoint', + documentation: + 'Runs the A* search algorithm to find the optimal path between two nodes, using the given relationship property name for the cost function.\nThis procedure looks for weight, latitude and longitude properties in the config.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE?', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE?', + }, + { + label: 'relTypesAndDirections', + documentation: 'relTypesAndDirections :: STRING?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.algo.allSimplePaths': { label: 'apoc.algo.allSimplePaths', + documentation: + 'Runs a search algorithm to find all of the simple paths between the given relationships, up to a max depth described by maxNodes.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE?', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE?', + }, + { + label: 'relTypesAndDirections', + documentation: 'relTypesAndDirections :: STRING?', + }, + { + label: 'maxNodes', + documentation: 'maxNodes :: INTEGER?', + }, + ], }, 'apoc.algo.cover': { label: 'apoc.algo.cover', + documentation: 'Returns all relationships between a given set of nodes.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY?', + }, + ], }, 'apoc.algo.dijkstra': { label: 'apoc.algo.dijkstra', - }, - 'apoc.algo.dijkstraWithDefaultWeight': { - label: 'apoc.algo.dijkstraWithDefaultWeight', - }, - 'apoc.algo.travellingSalesman': { - label: 'apoc.algo.travellingSalesman', + documentation: + "Runs Dijkstra's algorithm using the given relationship property as the cost function.", + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE?', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE?', + }, + { + label: 'relTypesAndDirections', + documentation: 'relTypesAndDirections :: STRING?', + }, + { + label: 'weightPropertyName', + documentation: 'weightPropertyName :: STRING?', + }, + { + label: 'defaultWeight', + documentation: 'defaultWeight = NaN :: FLOAT?', + }, + { + label: 'numberOfWantedPaths', + documentation: 'numberOfWantedPaths = 1 :: INTEGER?', + }, + ], }, 'apoc.atomic.add': { label: 'apoc.atomic.add', + documentation: + 'Sets the given property to the sum of itself and the number value.\nThe procedure then sets the property to the returned sum.', + parameters: [ + { + label: 'container', + documentation: 'container :: ANY?', + }, + { + label: 'propertyName', + documentation: 'propertyName :: STRING?', + }, + { + label: 'number', + documentation: 'number :: NUMBER?', + }, + { + label: 'retryAttempts', + documentation: 'retryAttempts = 5 :: INTEGER?', + }, + ], }, 'apoc.atomic.concat': { label: 'apoc.atomic.concat', + documentation: + 'Sets the given property to the concatenation of itself and the string value.\nThe procedure then sets the property to the returned string.', + parameters: [ + { + label: 'container', + documentation: 'container :: ANY?', + }, + { + label: 'propertyName', + documentation: 'propertyName :: STRING?', + }, + { + label: 'string', + documentation: 'string :: STRING?', + }, + { + label: 'retryAttempts', + documentation: 'retryAttempts = 5 :: INTEGER?', + }, + ], }, 'apoc.atomic.insert': { label: 'apoc.atomic.insert', + documentation: + 'Inserts a value at position into the array value of a property.\nThe procedure then sets the result back on the property.', + parameters: [ + { + label: 'container', + documentation: 'container :: ANY?', + }, + { + label: 'propertyName', + documentation: 'propertyName :: STRING?', + }, + { + label: 'position', + documentation: 'position :: INTEGER?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + { + label: 'retryAttempts', + documentation: 'retryAttempts = 5 :: INTEGER?', + }, + ], }, 'apoc.atomic.remove': { label: 'apoc.atomic.remove', + documentation: + 'Removes the element at position from the array value of a property.\nThe procedure then sets the property to the resulting array value.', + parameters: [ + { + label: 'container', + documentation: 'container :: ANY?', + }, + { + label: 'propertyName', + documentation: 'propertyName :: STRING?', + }, + { + label: 'position', + documentation: 'position :: INTEGER?', + }, + { + label: 'retryAttempts', + documentation: 'retryAttempts = 5 :: INTEGER?', + }, + ], }, 'apoc.atomic.subtract': { label: 'apoc.atomic.subtract', + documentation: + 'Sets the property of a value to itself minus the given number value.\nThe procedure then sets the property to the returned sum.', + parameters: [ + { + label: 'container', + documentation: 'container :: ANY?', + }, + { + label: 'propertyName', + documentation: 'propertyName :: STRING?', + }, + { + label: 'number', + documentation: 'number :: NUMBER?', + }, + { + label: 'retryAttempts', + documentation: 'retryAttempts = 5 :: INTEGER?', + }, + ], }, 'apoc.atomic.update': { label: 'apoc.atomic.update', - }, - 'apoc.bolt.execute': { - label: 'apoc.bolt.execute', - }, - 'apoc.bolt.load': { - label: 'apoc.bolt.load', - }, - 'apoc.bolt.load.fromLocal': { - label: 'apoc.bolt.load.fromLocal', + documentation: 'Updates the value of a property with a Cypher operation.', + parameters: [ + { + label: 'container', + documentation: 'container :: ANY?', + }, + { + label: 'propertyName', + documentation: 'propertyName :: STRING?', + }, + { + label: 'operation', + documentation: 'operation :: STRING?', + }, + { + label: 'retryAttempts', + documentation: 'retryAttempts = 5 :: INTEGER?', + }, + ], }, 'apoc.case': { label: 'apoc.case', - }, - 'apoc.cluster.graph': { - label: 'apoc.cluster.graph', + documentation: + 'For each pair of conditional and read-only queries in the given list, this procedure will run the first query for which the conditional is evaluated to true.', + parameters: [ + { + label: 'conditionals', + documentation: 'conditionals :: LIST? OF ANY?', + }, + { + label: 'elseQuery', + documentation: 'elseQuery = :: STRING?', + }, + { + label: 'params', + documentation: 'params = {} :: MAP?', + }, + ], }, 'apoc.coll.elements': { label: 'apoc.coll.elements', + documentation: + 'Deconstructs a list of mixed types into identifiers indicating their specific type.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'limit', + documentation: 'limit = -1 :: INTEGER?', + }, + { + label: 'offset', + documentation: 'offset = 0 :: INTEGER?', + }, + ], }, 'apoc.coll.pairWithOffset': { label: 'apoc.coll.pairWithOffset', + documentation: 'Returns a list of pairs defined by the offset.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'offset', + documentation: 'offset :: INTEGER?', + }, + ], }, 'apoc.coll.partition': { label: 'apoc.coll.partition', + documentation: + 'Partitions the original list into sub-lists of the given batch size.\nThe final list may be smaller than the given batch size.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'batchSize', + documentation: 'batchSize :: INTEGER?', + }, + ], }, 'apoc.coll.split': { label: 'apoc.coll.split', + documentation: + 'Splits a collection by the given value. The value itself will not be part of the resulting lists.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.coll.zipToRows': { label: 'apoc.coll.zipToRows', - }, - 'apoc.config.list': { - label: 'apoc.config.list', - }, - 'apoc.config.map': { - label: 'apoc.config.map', + documentation: + 'Returns the two lists zipped together, with one row per zipped pair.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST? OF ANY?', + }, + { + label: 'list2', + documentation: 'list2 :: LIST? OF ANY?', + }, + ], }, 'apoc.convert.setJsonProperty': { label: 'apoc.convert.setJsonProperty', + documentation: + 'Serializes the given JSON object and sets it as a property on the given node.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.convert.toTree': { label: 'apoc.convert.toTree', - }, - 'apoc.couchbase.append': { - label: 'apoc.couchbase.append', - }, - 'apoc.couchbase.exists': { - label: 'apoc.couchbase.exists', - }, - 'apoc.couchbase.get': { - label: 'apoc.couchbase.get', - }, - 'apoc.couchbase.insert': { - label: 'apoc.couchbase.insert', - }, - 'apoc.couchbase.namedParamsQuery': { - label: 'apoc.couchbase.namedParamsQuery', - }, - 'apoc.couchbase.posParamsQuery': { - label: 'apoc.couchbase.posParamsQuery', - }, - 'apoc.couchbase.prepend': { - label: 'apoc.couchbase.prepend', - }, - 'apoc.couchbase.query': { - label: 'apoc.couchbase.query', - }, - 'apoc.couchbase.remove': { - label: 'apoc.couchbase.remove', - }, - 'apoc.couchbase.replace': { - label: 'apoc.couchbase.replace', - }, - 'apoc.couchbase.upsert': { - label: 'apoc.couchbase.upsert', + documentation: + 'Returns a stream of maps, representing the given paths as a tree with at least one root.', + parameters: [ + { + label: 'paths', + documentation: 'paths :: LIST? OF PATH?', + }, + { + label: 'lowerCaseRels', + documentation: 'lowerCaseRels = true :: BOOLEAN?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.create.addLabels': { label: 'apoc.create.addLabels', + documentation: 'Adds the given labels to the given nodes.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY?', + }, + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + ], }, 'apoc.create.clonePathToVirtual': { label: 'apoc.create.clonePathToVirtual', + documentation: + 'Takes the given path and returns a virtual representation of it.', + parameters: [ + { + label: 'path', + documentation: 'path :: PATH?', + }, + ], }, 'apoc.create.clonePathsToVirtual': { label: 'apoc.create.clonePathsToVirtual', + documentation: + 'Takes the given paths and returns a virtual representation of them.', + parameters: [ + { + label: 'paths', + documentation: 'paths :: LIST? OF PATH?', + }, + ], }, 'apoc.create.node': { label: 'apoc.create.node', + documentation: 'Creates a node with the given dynamic labels.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + ], }, 'apoc.create.nodes': { label: 'apoc.create.nodes', + documentation: 'Creates nodes with the given dynamic labels.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + { + label: 'props', + documentation: 'props :: LIST? OF MAP?', + }, + ], }, 'apoc.create.relationship': { label: 'apoc.create.relationship', + documentation: + 'Creates a relationship with the given dynamic relationship type.', + parameters: [ + { + label: 'from', + documentation: 'from :: NODE?', + }, + { + label: 'relType', + documentation: 'relType :: STRING?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + { + label: 'to', + documentation: 'to :: NODE?', + }, + ], }, 'apoc.create.removeLabels': { label: 'apoc.create.removeLabels', + documentation: 'Removes the given labels from the given node(s).', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY?', + }, + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + ], }, 'apoc.create.removeProperties': { label: 'apoc.create.removeProperties', + documentation: 'Removes the given properties from the given node(s).', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY?', + }, + { + label: 'keys', + documentation: 'keys :: LIST? OF STRING?', + }, + ], }, 'apoc.create.removeRelProperties': { label: 'apoc.create.removeRelProperties', + documentation: + 'Removes the given properties from the given relationship(s).', + parameters: [ + { + label: 'rels', + documentation: 'rels :: ANY?', + }, + { + label: 'keys', + documentation: 'keys :: LIST? OF STRING?', + }, + ], }, 'apoc.create.setLabels': { label: 'apoc.create.setLabels', + documentation: + 'Sets the given labels to the given node(s). Non-matching labels are removed from the nodes.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY?', + }, + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + ], }, 'apoc.create.setProperties': { label: 'apoc.create.setProperties', + documentation: 'Sets the given properties to the given node(s).', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY?', + }, + { + label: 'keys', + documentation: 'keys :: LIST? OF STRING?', + }, + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.create.setProperty': { label: 'apoc.create.setProperty', + documentation: 'Sets the given property to the given node(s).', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.create.setRelProperties': { label: 'apoc.create.setRelProperties', + documentation: 'Sets the given properties on the relationship(s).', + parameters: [ + { + label: 'rels', + documentation: 'rels :: ANY?', + }, + { + label: 'keys', + documentation: 'keys :: LIST? OF STRING?', + }, + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.create.setRelProperty': { label: 'apoc.create.setRelProperty', + documentation: 'Sets the given property on the relationship(s).', + parameters: [ + { + label: 'rels', + documentation: 'rels :: ANY?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.create.uuids': { label: 'apoc.create.uuids', + documentation: 'Returns a stream of UUIDs.', + parameters: [ + { + label: 'count', + documentation: 'count :: INTEGER?', + }, + ], }, 'apoc.create.vNode': { label: 'apoc.create.vNode', + documentation: 'Returns a virtual node.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + ], }, 'apoc.create.vNodes': { label: 'apoc.create.vNodes', - }, - 'apoc.create.vPattern': { - label: 'apoc.create.vPattern', - }, - 'apoc.create.vPatternFull': { - label: 'apoc.create.vPatternFull', + documentation: 'Returns virtual nodes.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + { + label: 'props', + documentation: 'props :: LIST? OF MAP?', + }, + ], }, 'apoc.create.vRelationship': { label: 'apoc.create.vRelationship', + documentation: 'Returns a virtual relationship.', + parameters: [ + { + label: 'from', + documentation: 'from :: NODE?', + }, + { + label: 'relType', + documentation: 'relType :: STRING?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + { + label: 'to', + documentation: 'to :: NODE?', + }, + ], }, 'apoc.create.virtualPath': { label: 'apoc.create.virtualPath', - }, - 'apoc.custom.asFunction': { - label: 'apoc.custom.asFunction', - }, - 'apoc.custom.asProcedure': { - label: 'apoc.custom.asProcedure', - }, - 'apoc.custom.declareFunction': { - label: 'apoc.custom.declareFunction', - }, - 'apoc.custom.declareProcedure': { - label: 'apoc.custom.declareProcedure', - }, - 'apoc.custom.list': { - label: 'apoc.custom.list', - }, - 'apoc.custom.removeFunction': { - label: 'apoc.custom.removeFunction', - }, - 'apoc.custom.removeProcedure': { - label: 'apoc.custom.removeProcedure', + documentation: 'Returns a virtual path.', + parameters: [ + { + label: 'labelsN', + documentation: 'labelsN :: LIST? OF STRING?', + }, + { + label: 'n', + documentation: 'n :: MAP?', + }, + { + label: 'relType', + documentation: 'relType :: STRING?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + { + label: 'labelsM', + documentation: 'labelsM :: LIST? OF STRING?', + }, + { + label: 'm', + documentation: 'm :: MAP?', + }, + ], }, 'apoc.cypher.doIt': { label: 'apoc.cypher.doIt', - }, - 'apoc.cypher.mapParallel': { - label: 'apoc.cypher.mapParallel', - }, - 'apoc.cypher.mapParallel2': { - label: 'apoc.cypher.mapParallel2', - }, - 'apoc.cypher.parallel': { - label: 'apoc.cypher.parallel', - }, - 'apoc.cypher.parallel2': { - label: 'apoc.cypher.parallel2', + documentation: + 'Runs a dynamically constructed string with the given parameters.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'params', + documentation: 'params :: MAP?', + }, + ], }, 'apoc.cypher.run': { label: 'apoc.cypher.run', - }, - 'apoc.cypher.runFile': { - label: 'apoc.cypher.runFile', - }, - 'apoc.cypher.runFiles': { - label: 'apoc.cypher.runFiles', + documentation: + 'Runs a dynamically constructed read-only string with the given parameters.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'params', + documentation: 'params :: MAP?', + }, + ], }, 'apoc.cypher.runMany': { label: 'apoc.cypher.runMany', + documentation: + 'Runs each semicolon separated statement and returns a summary of the statement outcomes.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'params', + documentation: 'params :: MAP?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.cypher.runManyReadOnly': { label: 'apoc.cypher.runManyReadOnly', + documentation: + 'Runs each semicolon separated read-only statement and returns a summary of the statement outcomes.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'params', + documentation: 'params :: MAP?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.cypher.runSchema': { label: 'apoc.cypher.runSchema', - }, - 'apoc.cypher.runSchemaFile': { - label: 'apoc.cypher.runSchemaFile', - }, - 'apoc.cypher.runSchemaFiles': { - label: 'apoc.cypher.runSchemaFiles', + documentation: + 'Runs the given query schema statement with the given parameters.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'params', + documentation: 'params :: MAP?', + }, + ], }, 'apoc.cypher.runTimeboxed': { label: 'apoc.cypher.runTimeboxed', + documentation: + 'Terminates a Cypher statement if it has not finished before the set timeout (ms).', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'params', + documentation: 'params :: MAP?', + }, + { + label: 'timeout', + documentation: 'timeout :: INTEGER?', + }, + ], }, 'apoc.cypher.runWrite': { label: 'apoc.cypher.runWrite', - }, - 'apoc.date.expire': { - label: 'apoc.date.expire', - }, - 'apoc.date.expireIn': { - label: 'apoc.date.expireIn', - }, - 'apoc.diff.graphs': { - label: 'apoc.diff.graphs', + documentation: 'Alias for `apoc.cypher.doIt`.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'params', + documentation: 'params :: MAP?', + }, + ], }, 'apoc.do.case': { label: 'apoc.do.case', + documentation: + 'For each pair of conditional queries in the given list, this procedure will run the first query for which the conditional is evaluated to true.', + parameters: [ + { + label: 'conditionals', + documentation: 'conditionals :: LIST? OF ANY?', + }, + { + label: 'elseQuery', + documentation: 'elseQuery = :: STRING?', + }, + { + label: 'params', + documentation: 'params = {} :: MAP?', + }, + ], }, 'apoc.do.when': { label: 'apoc.do.when', - }, - 'apoc.dv.catalog.add': { - label: 'apoc.dv.catalog.add', - }, - 'apoc.dv.catalog.list': { - label: 'apoc.dv.catalog.list', - }, - 'apoc.dv.catalog.remove': { - label: 'apoc.dv.catalog.remove', - }, - 'apoc.dv.query': { - label: 'apoc.dv.query', - }, - 'apoc.dv.queryAndLink': { - label: 'apoc.dv.queryAndLink', - }, - 'apoc.es.get': { - label: 'apoc.es.get', - }, - 'apoc.es.getRaw': { - label: 'apoc.es.getRaw', - }, - 'apoc.es.post': { - label: 'apoc.es.post', - }, - 'apoc.es.postRaw': { - label: 'apoc.es.postRaw', - }, - 'apoc.es.put': { - label: 'apoc.es.put', - }, - 'apoc.es.query': { - label: 'apoc.es.query', - }, - 'apoc.es.stats': { - label: 'apoc.es.stats', + documentation: + 'Runs the given read/write ifQuery if the conditional has evaluated to true, otherwise the elseQuery will run.', + parameters: [ + { + label: 'condition', + documentation: 'condition :: BOOLEAN?', + }, + { + label: 'ifQuery', + documentation: 'ifQuery :: STRING?', + }, + { + label: 'elseQuery', + documentation: 'elseQuery = :: STRING?', + }, + { + label: 'params', + documentation: 'params = {} :: MAP?', + }, + ], }, 'apoc.example.movies': { label: 'apoc.example.movies', + documentation: 'Seeds the database with the Neo4j movie dataset.', + parameters: [], }, 'apoc.export.arrow.all': { label: 'apoc.export.arrow.all', + documentation: 'Exports the full database as an arrow file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.arrow.graph': { label: 'apoc.export.arrow.graph', + documentation: 'Exports the given graph as an arrow file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'graph', + documentation: 'graph :: ANY?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.arrow.query': { label: 'apoc.export.arrow.query', + documentation: + 'Exports the results from the given Cypher query as an arrow file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'query', + documentation: 'query :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.arrow.stream.all': { label: 'apoc.export.arrow.stream.all', + documentation: 'Exports the full database as an arrow byte array.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.arrow.stream.graph': { label: 'apoc.export.arrow.stream.graph', + documentation: 'Exports the given graph as an arrow byte array.', + parameters: [ + { + label: 'graph', + documentation: 'graph :: ANY?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.arrow.stream.query': { label: 'apoc.export.arrow.stream.query', + documentation: 'Exports the given Cypher query as an arrow byte array.', + parameters: [ + { + label: 'query', + documentation: 'query :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.csv.all': { label: 'apoc.export.csv.all', + documentation: 'Exports the full database to the provided CSV file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.export.csv.data': { label: 'apoc.export.csv.data', + documentation: + 'Exports the given nodes and relationships to the provided CSV file.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + { + label: 'rels', + documentation: 'rels :: LIST? OF RELATIONSHIP?', + }, + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.export.csv.graph': { label: 'apoc.export.csv.graph', + documentation: 'Exports the given graph to the provided CSV file.', + parameters: [ + { + label: 'graph', + documentation: 'graph :: MAP?', + }, + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.export.csv.query': { label: 'apoc.export.csv.query', + documentation: + 'Exports the results from running the given Cypher query to the provided CSV file.', + parameters: [ + { + label: 'query', + documentation: 'query :: STRING?', + }, + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.export.cypher.all': { label: 'apoc.export.cypher.all', + documentation: + 'Exports the full database (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', + parameters: [ + { + label: 'file', + documentation: 'file = :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.cypher.data': { label: 'apoc.export.cypher.data', + documentation: + 'Exports the given nodes and relationships (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + { + label: 'rels', + documentation: 'rels :: LIST? OF RELATIONSHIP?', + }, + { + label: 'file', + documentation: 'file = :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.cypher.graph': { label: 'apoc.export.cypher.graph', + documentation: + 'Exports the given graph (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', + parameters: [ + { + label: 'graph', + documentation: 'graph :: MAP?', + }, + { + label: 'file', + documentation: 'file = :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.cypher.query': { label: 'apoc.export.cypher.query', + documentation: + 'Exports the nodes and relationships from the given Cypher query (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'file', + documentation: 'file = :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.cypher.schema': { label: 'apoc.export.cypher.schema', - }, - 'apoc.export.cypherAll': { - label: 'apoc.export.cypherAll', - }, - 'apoc.export.cypherData': { - label: 'apoc.export.cypherData', - }, - 'apoc.export.cypherGraph': { - label: 'apoc.export.cypherGraph', - }, - 'apoc.export.cypherQuery': { - label: 'apoc.export.cypherQuery', + documentation: + 'Exports all schema indexes and constraints to Cypher statements.', + parameters: [ + { + label: 'file', + documentation: 'file = :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.graphml.all': { label: 'apoc.export.graphml.all', + documentation: 'Exports the full database to the provided GraphML file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.export.graphml.data': { label: 'apoc.export.graphml.data', + documentation: + 'Exports the given nodes and relationships to the provided GraphML file.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + { + label: 'rels', + documentation: 'rels :: LIST? OF RELATIONSHIP?', + }, + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.export.graphml.graph': { label: 'apoc.export.graphml.graph', + documentation: 'Exports the given graph to the provided GraphML file.', + parameters: [ + { + label: 'graph', + documentation: 'graph :: MAP?', + }, + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.export.graphml.query': { label: 'apoc.export.graphml.query', + documentation: + 'Exports the given nodes and relationships from the Cypher statement to the provided GraphML file.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.export.json.all': { label: 'apoc.export.json.all', + documentation: 'Exports the full database to the provided JSON file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.json.data': { label: 'apoc.export.json.data', + documentation: + 'Exports the given nodes and relationships to the provided JSON file.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + { + label: 'rels', + documentation: 'rels :: LIST? OF RELATIONSHIP?', + }, + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.json.graph': { label: 'apoc.export.json.graph', + documentation: 'Exports the given graph to the provided JSON file.', + parameters: [ + { + label: 'graph', + documentation: 'graph :: MAP?', + }, + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.export.json.query': { label: 'apoc.export.json.query', - }, - 'apoc.generate.ba': { - label: 'apoc.generate.ba', - }, - 'apoc.generate.complete': { - label: 'apoc.generate.complete', - }, - 'apoc.generate.er': { - label: 'apoc.generate.er', - }, - 'apoc.generate.simple': { - label: 'apoc.generate.simple', - }, - 'apoc.generate.ws': { - label: 'apoc.generate.ws', - }, - 'apoc.gephi.add': { - label: 'apoc.gephi.add', - }, - 'apoc.get.nodes': { - label: 'apoc.get.nodes', - }, - 'apoc.get.rels': { - label: 'apoc.get.rels', + documentation: + 'Exports the results from the Cypher statement to the provided JSON file.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.graph.from': { label: 'apoc.graph.from', + documentation: + 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the given data.', + parameters: [ + { + label: 'data', + documentation: 'data :: ANY?', + }, + { + label: 'name', + documentation: 'name :: STRING?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + ], }, 'apoc.graph.fromCypher': { label: 'apoc.graph.fromCypher', + documentation: + 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the data returned by the given Cypher statement.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'params', + documentation: 'params :: MAP?', + }, + { + label: 'name', + documentation: 'name :: STRING?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + ], }, 'apoc.graph.fromDB': { label: 'apoc.graph.fromDB', + documentation: + 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the data returned by the given database.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + ], }, 'apoc.graph.fromData': { label: 'apoc.graph.fromData', + documentation: + 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the given data.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + { + label: 'rels', + documentation: 'rels :: LIST? OF RELATIONSHIP?', + }, + { + label: 'name', + documentation: 'name :: STRING?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + ], }, 'apoc.graph.fromDocument': { label: 'apoc.graph.fromDocument', + documentation: + 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the data returned by the given JSON file.', + parameters: [ + { + label: 'json', + documentation: 'json :: ANY?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.graph.fromPath': { label: 'apoc.graph.fromPath', + documentation: + 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the data returned by the given path.', + parameters: [ + { + label: 'path', + documentation: 'path :: PATH?', + }, + { + label: 'name', + documentation: 'name :: STRING?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + ], }, 'apoc.graph.fromPaths': { label: 'apoc.graph.fromPaths', + documentation: + 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the data returned by the given paths.', + parameters: [ + { + label: 'paths', + documentation: 'paths :: LIST? OF PATH?', + }, + { + label: 'name', + documentation: 'name :: STRING?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + ], }, 'apoc.graph.validateDocument': { label: 'apoc.graph.validateDocument', + documentation: + 'Validates the JSON file and returns the result of the validation.', + parameters: [ + { + label: 'json', + documentation: 'json :: ANY?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.help': { label: 'apoc.help', + documentation: + 'Returns descriptions of the available APOC procedures and functions.', + parameters: [ + { + label: 'proc', + documentation: 'proc :: STRING?', + }, + ], }, 'apoc.import.csv': { label: 'apoc.import.csv', + documentation: + 'Imports nodes and relationships with the given labels and types from the provided CSV file.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF MAP?', + }, + { + label: 'rels', + documentation: 'rels :: LIST? OF MAP?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.import.graphml': { label: 'apoc.import.graphml', + documentation: 'Imports a graph from the provided GraphML file.', + parameters: [ + { + label: 'urlOrBinaryFile', + documentation: 'urlOrBinaryFile :: ANY?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.import.json': { label: 'apoc.import.json', + documentation: 'Imports a graph from the provided JSON file.', + parameters: [ + { + label: 'urlOrBinaryFile', + documentation: 'urlOrBinaryFile :: ANY?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.import.xml': { label: 'apoc.import.xml', - }, - 'apoc.json.validate': { - label: 'apoc.json.validate', + documentation: 'Imports a graph from the provided XML file.', + parameters: [ + { + label: 'urlOrBinary', + documentation: 'urlOrBinary :: ANY?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.load.arrow': { label: 'apoc.load.arrow', + documentation: + 'Imports nodes and relationships from the provided arrow file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.load.arrow.stream': { label: 'apoc.load.arrow.stream', - }, - 'apoc.load.csv': { - label: 'apoc.load.csv', - }, - 'apoc.load.csvParams': { - label: 'apoc.load.csvParams', - }, - 'apoc.load.directory': { - label: 'apoc.load.directory', - }, - 'apoc.load.directory.async.add': { - label: 'apoc.load.directory.async.add', - }, - 'apoc.load.directory.async.list': { - label: 'apoc.load.directory.async.list', - }, - 'apoc.load.directory.async.remove': { - label: 'apoc.load.directory.async.remove', - }, - 'apoc.load.directory.async.removeAll': { - label: 'apoc.load.directory.async.removeAll', - }, - 'apoc.load.driver': { - label: 'apoc.load.driver', - }, - 'apoc.load.html': { - label: 'apoc.load.html', - }, - 'apoc.load.htmlPlainText': { - label: 'apoc.load.htmlPlainText', - }, - 'apoc.load.jdbc': { - label: 'apoc.load.jdbc', - }, - 'apoc.load.jdbcParams': { - label: 'apoc.load.jdbcParams', - }, - 'apoc.load.jdbcUpdate': { - label: 'apoc.load.jdbcUpdate', + documentation: + 'Imports nodes and relationships from the provided arrow byte array.', + parameters: [ + { + label: 'source', + documentation: 'source :: BYTEARRAY?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.load.json': { label: 'apoc.load.json', + documentation: + 'Imports JSON file as a stream of values if the given JSON file is an array.\nIf the given JSON file is a map, this procedure imports a single value instead.', + parameters: [ + { + label: 'urlOrKeyOrBinary', + documentation: 'urlOrKeyOrBinary :: ANY?', + }, + { + label: 'path', + documentation: 'path = :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.load.jsonArray': { label: 'apoc.load.jsonArray', + documentation: + 'Loads array from a JSON URL (e.g. web-API) to then import the given JSON file as a stream of values.', + parameters: [ + { + label: 'url', + documentation: 'url :: STRING?', + }, + { + label: 'path', + documentation: 'path = :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.load.jsonParams': { label: 'apoc.load.jsonParams', - }, - 'apoc.load.ldap': { - label: 'apoc.load.ldap', + documentation: + 'Loads parameters from a JSON URL (e.g. web-API) as a stream of values if the given JSON file is an array.\nIf the given JSON file is a map, this procedure imports a single value instead.', + parameters: [ + { + label: 'urlOrKeyOrBinary', + documentation: 'urlOrKeyOrBinary :: ANY?', + }, + { + label: 'headers', + documentation: 'headers :: MAP?', + }, + { + label: 'payload', + documentation: 'payload :: STRING?', + }, + { + label: 'path', + documentation: 'path = :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.load.xml': { label: 'apoc.load.xml', + documentation: + 'Loads a single nested map from an XML URL (e.g. web-API).', + parameters: [ + { + label: 'urlOrBinary', + documentation: 'urlOrBinary :: ANY?', + }, + { + label: 'path', + documentation: 'path = / :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + { + label: 'simple', + documentation: 'simple = false :: BOOLEAN?', + }, + ], }, 'apoc.lock.all': { label: 'apoc.lock.all', + documentation: + 'Acquires a write lock on the given nodes and relationships.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + { + label: 'rels', + documentation: 'rels :: LIST? OF RELATIONSHIP?', + }, + ], }, 'apoc.lock.nodes': { label: 'apoc.lock.nodes', + documentation: 'Acquires a write lock on the given nodes.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + ], }, 'apoc.lock.read.nodes': { label: 'apoc.lock.read.nodes', + documentation: 'Acquires a read lock on the given nodes.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + ], }, 'apoc.lock.read.rels': { label: 'apoc.lock.read.rels', + documentation: 'Acquires a read lock on the given relationships.', + parameters: [ + { + label: 'rels', + documentation: 'rels :: LIST? OF RELATIONSHIP?', + }, + ], }, 'apoc.lock.rels': { label: 'apoc.lock.rels', - }, - 'apoc.log.debug': { - label: 'apoc.log.debug', - }, - 'apoc.log.error': { - label: 'apoc.log.error', - }, - 'apoc.log.info': { - label: 'apoc.log.info', + documentation: 'Acquires a write lock on the given relationships.', + parameters: [ + { + label: 'rels', + documentation: 'rels :: LIST? OF RELATIONSHIP?', + }, + ], }, 'apoc.log.stream': { label: 'apoc.log.stream', - }, - 'apoc.log.warn': { - label: 'apoc.log.warn', + documentation: + 'Returns the file contents from the given log, optionally returning only the last n lines.\nThis procedure requires users to have an admin role.', + parameters: [ + { + label: 'path', + documentation: 'path :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.math.regr': { label: 'apoc.math.regr', + documentation: + 'Returns the coefficient of determination (R-squared) for the values of propertyY and propertyX in the given label.', + parameters: [ + { + label: 'label', + documentation: 'label :: STRING?', + }, + { + label: 'propertyY', + documentation: 'propertyY :: STRING?', + }, + { + label: 'propertyX', + documentation: 'propertyX :: STRING?', + }, + ], }, 'apoc.merge.node': { label: 'apoc.merge.node', + documentation: 'Merges the given node(s) with the given dynamic labels.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP?', + }, + { + label: 'props', + documentation: 'props = {} :: MAP?', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP?', + }, + ], }, 'apoc.merge.node.eager': { label: 'apoc.merge.node.eager', + documentation: + 'Merges the given node(s) with the given dynamic labels eagerly.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP?', + }, + { + label: 'props', + documentation: 'props = {} :: MAP?', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP?', + }, + ], }, 'apoc.merge.nodeWithStats': { label: 'apoc.merge.nodeWithStats', + documentation: + 'Merges the given node(s) with the given dynamic labels. Provides queryStatistics in the result.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP?', + }, + { + label: 'props', + documentation: 'props = {} :: MAP?', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP?', + }, + ], }, 'apoc.merge.nodeWithStats.eager': { label: 'apoc.merge.nodeWithStats.eager', + documentation: + 'Merges the given node(s) with the given dynamic labels eagerly. Provides queryStatistics in the result.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP?', + }, + { + label: 'props', + documentation: 'props = {} :: MAP?', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP?', + }, + ], }, 'apoc.merge.relationship': { label: 'apoc.merge.relationship', + documentation: + 'Merges the given relationship(s) with the given dynamic types/properties.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE?', + }, + { + label: 'relType', + documentation: 'relType :: STRING?', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE?', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP?', + }, + ], }, 'apoc.merge.relationship.eager': { label: 'apoc.merge.relationship.eager', + documentation: + 'Merges the given relationship(s) with the given dynamic types/properties eagerly.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE?', + }, + { + label: 'relType', + documentation: 'relType :: STRING?', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE?', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP?', + }, + ], }, 'apoc.merge.relationshipWithStats': { label: 'apoc.merge.relationshipWithStats', + documentation: + 'Merges the given relationship(s) with the given dynamic types/properties. Provides queryStatistics in the result.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE?', + }, + { + label: 'relType', + documentation: 'relType :: STRING?', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE?', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP?', + }, + ], }, 'apoc.merge.relationshipWithStats.eager': { label: 'apoc.merge.relationshipWithStats.eager', + documentation: + 'Merges the given relationship(s) with the given dynamic types/properties eagerly. Provides queryStatistics in the result.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE?', + }, + { + label: 'relType', + documentation: 'relType :: STRING?', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE?', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP?', + }, + ], }, 'apoc.meta.data': { label: 'apoc.meta.data', + documentation: 'Examines the full graph and returns a table of metadata.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.meta.data.of': { label: 'apoc.meta.data.of', + documentation: + 'Examines the given sub-graph and returns a table of metadata.', + parameters: [ + { + label: 'graph', + documentation: 'graph :: ANY?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.meta.graph': { label: 'apoc.meta.graph', + documentation: 'Examines the full graph and returns a meta-graph.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.meta.graph.of': { label: 'apoc.meta.graph.of', + documentation: 'Examines the given sub-graph and returns a meta-graph.', + parameters: [ + { + label: 'graph', + documentation: 'graph = {} :: ANY?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.meta.graphSample': { label: 'apoc.meta.graphSample', + documentation: + 'Examines the full graph and returns a meta-graph.\nUnlike `apoc.meta.graph`, this procedure does not filter away non-existing paths.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.meta.nodeTypeProperties': { label: 'apoc.meta.nodeTypeProperties', + documentation: + 'Examines the full graph and returns a table of metadata with information about the nodes therein.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.meta.relTypeProperties': { label: 'apoc.meta.relTypeProperties', + documentation: + 'Examines the full graph and returns a table of metadata with information about the relationships therein.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.meta.schema': { label: 'apoc.meta.schema', + documentation: + 'Examines the given sub-graph and returns metadata as a map.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.meta.stats': { label: 'apoc.meta.stats', + documentation: + 'Returns the metadata stored in the transactional database statistics.', + parameters: [], }, 'apoc.meta.subGraph': { label: 'apoc.meta.subGraph', - }, - 'apoc.metrics.get': { - label: 'apoc.metrics.get', - }, - 'apoc.metrics.list': { - label: 'apoc.metrics.list', - }, - 'apoc.metrics.storage': { - label: 'apoc.metrics.storage', - }, - 'apoc.model.jdbc': { - label: 'apoc.model.jdbc', - }, - 'apoc.mongo.aggregate': { - label: 'apoc.mongo.aggregate', - }, - 'apoc.mongo.count': { - label: 'apoc.mongo.count', - }, - 'apoc.mongo.delete': { - label: 'apoc.mongo.delete', - }, - 'apoc.mongo.find': { - label: 'apoc.mongo.find', - }, - 'apoc.mongo.insert': { - label: 'apoc.mongo.insert', - }, - 'apoc.mongo.update': { - label: 'apoc.mongo.update', - }, - 'apoc.mongodb.count': { - label: 'apoc.mongodb.count', - }, - 'apoc.mongodb.delete': { - label: 'apoc.mongodb.delete', - }, - 'apoc.mongodb.find': { - label: 'apoc.mongodb.find', - }, - 'apoc.mongodb.first': { - label: 'apoc.mongodb.first', - }, - 'apoc.mongodb.get': { - label: 'apoc.mongodb.get', - }, - 'apoc.mongodb.get.byObjectId': { - label: 'apoc.mongodb.get.byObjectId', - }, - 'apoc.mongodb.insert': { - label: 'apoc.mongodb.insert', - }, - 'apoc.mongodb.update': { - label: 'apoc.mongodb.update', - }, - 'apoc.monitor.ids': { - label: 'apoc.monitor.ids', - }, - 'apoc.monitor.kernel': { - label: 'apoc.monitor.kernel', - }, - 'apoc.monitor.store': { - label: 'apoc.monitor.store', - }, - 'apoc.monitor.tx': { - label: 'apoc.monitor.tx', + documentation: 'Examines the given sub-graph and returns a meta-graph.', + parameters: [ + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.neighbors.athop': { label: 'apoc.neighbors.athop', + documentation: + 'Returns all nodes connected by the given relationship types at the specified distance.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING?', + }, + { + label: 'distance', + documentation: 'distance = 1 :: INTEGER?', + }, + ], }, 'apoc.neighbors.athop.count': { label: 'apoc.neighbors.athop.count', + documentation: + 'Returns the count of all nodes connected by the given relationship types at the specified distance.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING?', + }, + { + label: 'distance', + documentation: 'distance = 1 :: INTEGER?', + }, + ], }, 'apoc.neighbors.byhop': { label: 'apoc.neighbors.byhop', + documentation: + 'Returns all nodes connected by the given relationship types within the specified distance.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING?', + }, + { + label: 'distance', + documentation: 'distance = 1 :: INTEGER?', + }, + ], }, 'apoc.neighbors.byhop.count': { label: 'apoc.neighbors.byhop.count', + documentation: + 'Returns the count of all nodes connected by the given relationship types within the specified distance.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING?', + }, + { + label: 'distance', + documentation: 'distance = 1 :: INTEGER?', + }, + ], }, 'apoc.neighbors.tohop': { label: 'apoc.neighbors.tohop', + documentation: + 'Returns all nodes connected by the given relationship types within the specified distance.\nNodes are returned individually for each row.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING?', + }, + { + label: 'distance', + documentation: 'distance = 1 :: INTEGER?', + }, + ], }, 'apoc.neighbors.tohop.count': { label: 'apoc.neighbors.tohop.count', - }, - 'apoc.nlp.azure.entities.graph': { - label: 'apoc.nlp.azure.entities.graph', - }, - 'apoc.nlp.azure.entities.stream': { - label: 'apoc.nlp.azure.entities.stream', - }, - 'apoc.nlp.azure.keyPhrases.graph': { - label: 'apoc.nlp.azure.keyPhrases.graph', - }, - 'apoc.nlp.azure.keyPhrases.stream': { - label: 'apoc.nlp.azure.keyPhrases.stream', - }, - 'apoc.nlp.azure.sentiment.graph': { - label: 'apoc.nlp.azure.sentiment.graph', - }, - 'apoc.nlp.azure.sentiment.stream': { - label: 'apoc.nlp.azure.sentiment.stream', + documentation: + 'Returns the count of all nodes connected by the given relationships in the pattern within the specified distance.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING?', + }, + { + label: 'distance', + documentation: 'distance = 1 :: INTEGER?', + }, + ], }, 'apoc.nodes.collapse': { label: 'apoc.nodes.collapse', + documentation: + 'Merges nodes together in the given list.\nThe nodes are then combined to become one node, with all labels of the previous nodes attached to it, and all relationships pointing to it.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.nodes.cycles': { label: 'apoc.nodes.cycles', + documentation: + 'Detects all path cycles in the given node list.\nThis procedure can be limited on relationships as well.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.nodes.delete': { label: 'apoc.nodes.delete', + documentation: 'Deletes all nodes with the given ids.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY?', + }, + { + label: 'batchSize', + documentation: 'batchSize :: INTEGER?', + }, + ], }, 'apoc.nodes.get': { label: 'apoc.nodes.get', + documentation: 'Returns all nodes with the given ids.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY?', + }, + ], }, 'apoc.nodes.group': { label: 'apoc.nodes.group', + documentation: + 'Allows for the aggregation of nodes based on the given properties.\nThis procedure returns virtual nodes.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + { + label: 'groupByProperties', + documentation: 'groupByProperties :: LIST? OF STRING?', + }, + { + label: 'aggregations', + documentation: + 'aggregations = [{*=count}, {*=count}] :: LIST? OF MAP?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.nodes.link': { label: 'apoc.nodes.link', + documentation: + 'Creates a linked list of the given nodes connected by the given relationship type.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + { + label: 'type', + documentation: 'type :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.nodes.rels': { label: 'apoc.nodes.rels', + documentation: 'Returns all relationships with the given ids.', + parameters: [ + { + label: 'rels', + documentation: 'rels :: ANY?', + }, + ], }, 'apoc.path.expand': { label: 'apoc.path.expand', + documentation: + 'Returns paths expanded from the start node following the given relationship types from min-depth to max-depth.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: ANY?', + }, + { + label: 'relFilter', + documentation: 'relFilter :: STRING?', + }, + { + label: 'labelFilter', + documentation: 'labelFilter :: STRING?', + }, + { + label: 'minDepth', + documentation: 'minDepth :: INTEGER?', + }, + { + label: 'maxDepth', + documentation: 'maxDepth :: INTEGER?', + }, + ], }, 'apoc.path.expandConfig': { label: 'apoc.path.expandConfig', + documentation: + 'Returns paths expanded from the start node the given relationship types from min-depth to max-depth.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: ANY?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.path.spanningTree': { label: 'apoc.path.spanningTree', + documentation: + 'Returns spanning tree paths expanded from the start node following the given relationship types to max-depth.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: ANY?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.path.subgraphAll': { label: 'apoc.path.subgraphAll', + documentation: + 'Returns the sub-graph reachable from the start node following the given relationship types to max-depth.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: ANY?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.path.subgraphNodes': { label: 'apoc.path.subgraphNodes', + documentation: + 'Returns the nodes in the sub-graph reachable from the start node following the given relationship types to max-depth.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: ANY?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.periodic.cancel': { label: 'apoc.periodic.cancel', + documentation: 'Cancels the given background job.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING?', + }, + ], }, 'apoc.periodic.commit': { label: 'apoc.periodic.commit', + documentation: + 'Runs the given statement in separate batched transactions.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'params', + documentation: 'params = {} :: MAP?', + }, + ], }, 'apoc.periodic.countdown': { label: 'apoc.periodic.countdown', + documentation: + 'Runs a repeatedly called background statement until it returns 0.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING?', + }, + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'rate', + documentation: 'rate :: INTEGER?', + }, + ], }, 'apoc.periodic.iterate': { label: 'apoc.periodic.iterate', + documentation: + 'Runs the second statement for each item returned by the first statement.\nThis procedure returns the number of batches and the total number of processed rows.', + parameters: [ + { + label: 'cypherIterate', + documentation: 'cypherIterate :: STRING?', + }, + { + label: 'cypherAction', + documentation: 'cypherAction :: STRING?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'apoc.periodic.list': { label: 'apoc.periodic.list', + documentation: 'Returns a list of all background jobs.', + parameters: [], }, 'apoc.periodic.repeat': { label: 'apoc.periodic.repeat', - }, - 'apoc.periodic.rock_n_roll': { - label: 'apoc.periodic.rock_n_roll', - }, - 'apoc.periodic.rock_n_roll_while': { - label: 'apoc.periodic.rock_n_roll_while', + documentation: + 'Runs a repeatedly called background job.\nTo stop this procedure, use `apoc.periodic.cancel`.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING?', + }, + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'rate', + documentation: 'rate :: INTEGER?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.periodic.submit': { label: 'apoc.periodic.submit', + documentation: + 'Creates a background job which runs the given Cypher statement once.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING?', + }, + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'params', + documentation: 'params = {} :: MAP?', + }, + ], }, 'apoc.periodic.truncate': { label: 'apoc.periodic.truncate', - }, - 'apoc.redis.append': { - label: 'apoc.redis.append', - }, - 'apoc.redis.configGet': { - label: 'apoc.redis.configGet', - }, - 'apoc.redis.configSet': { - label: 'apoc.redis.configSet', - }, - 'apoc.redis.copy': { - label: 'apoc.redis.copy', - }, - 'apoc.redis.eval': { - label: 'apoc.redis.eval', - }, - 'apoc.redis.exists': { - label: 'apoc.redis.exists', - }, - 'apoc.redis.get': { - label: 'apoc.redis.get', - }, - 'apoc.redis.getSet': { - label: 'apoc.redis.getSet', - }, - 'apoc.redis.hdel': { - label: 'apoc.redis.hdel', - }, - 'apoc.redis.hexists': { - label: 'apoc.redis.hexists', - }, - 'apoc.redis.hget': { - label: 'apoc.redis.hget', - }, - 'apoc.redis.hgetall': { - label: 'apoc.redis.hgetall', - }, - 'apoc.redis.hincrby': { - label: 'apoc.redis.hincrby', - }, - 'apoc.redis.hset': { - label: 'apoc.redis.hset', - }, - 'apoc.redis.incrby': { - label: 'apoc.redis.incrby', - }, - 'apoc.redis.info': { - label: 'apoc.redis.info', - }, - 'apoc.redis.lrange': { - label: 'apoc.redis.lrange', - }, - 'apoc.redis.persist': { - label: 'apoc.redis.persist', - }, - 'apoc.redis.pexpire': { - label: 'apoc.redis.pexpire', - }, - 'apoc.redis.pop': { - label: 'apoc.redis.pop', - }, - 'apoc.redis.pttl': { - label: 'apoc.redis.pttl', - }, - 'apoc.redis.push': { - label: 'apoc.redis.push', - }, - 'apoc.redis.sadd': { - label: 'apoc.redis.sadd', - }, - 'apoc.redis.scard': { - label: 'apoc.redis.scard', - }, - 'apoc.redis.smembers': { - label: 'apoc.redis.smembers', - }, - 'apoc.redis.spop': { - label: 'apoc.redis.spop', - }, - 'apoc.redis.sunion': { - label: 'apoc.redis.sunion', - }, - 'apoc.redis.zadd': { - label: 'apoc.redis.zadd', - }, - 'apoc.redis.zcard': { - label: 'apoc.redis.zcard', - }, - 'apoc.redis.zrangebyscore': { - label: 'apoc.redis.zrangebyscore', - }, - 'apoc.redis.zrem': { - label: 'apoc.redis.zrem', + documentation: + 'Removes all entities (and optionally indexes and constraints) from the database using the `apoc.periodic.iterate` procedure.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.refactor.categorize': { label: 'apoc.refactor.categorize', + documentation: + 'Creates new category nodes from nodes in the graph with the specified sourceKey as one of its property keys.\nThe new category nodes are then connected to the original nodes with a relationship of the given type.', + parameters: [ + { + label: 'sourceKey', + documentation: 'sourceKey :: STRING?', + }, + { + label: 'type', + documentation: 'type :: STRING?', + }, + { + label: 'outgoing', + documentation: 'outgoing :: BOOLEAN?', + }, + { + label: 'label', + documentation: 'label :: STRING?', + }, + { + label: 'targetKey', + documentation: 'targetKey :: STRING?', + }, + { + label: 'copiedKeys', + documentation: 'copiedKeys :: LIST? OF STRING?', + }, + { + label: 'batchSize', + documentation: 'batchSize :: INTEGER?', + }, + ], }, 'apoc.refactor.cloneNodes': { label: 'apoc.refactor.cloneNodes', - }, - 'apoc.refactor.cloneNodesWithRelationships': { - label: 'apoc.refactor.cloneNodesWithRelationships', + documentation: + 'Clones the given nodes with their labels and properties.\nIt is possible to skip any node properties using skipProperties (note: this only skips properties on nodes and not their relationships).', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + { + label: 'withRelationships', + documentation: 'withRelationships = false :: BOOLEAN?', + }, + { + label: 'skipProperties', + documentation: 'skipProperties = [] :: LIST? OF STRING?', + }, + ], }, 'apoc.refactor.cloneSubgraph': { label: 'apoc.refactor.cloneSubgraph', + documentation: + 'Clones the given nodes with their labels and properties (optionally skipping any properties in the skipProperties list via the config map), and clones the given relationships.\nIf no relationships are provided, all existing relationships between the given nodes will be cloned.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + { + label: 'rels', + documentation: 'rels = [] :: LIST? OF RELATIONSHIP?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.refactor.cloneSubgraphFromPaths': { label: 'apoc.refactor.cloneSubgraphFromPaths', + documentation: + 'Clones a sub-graph defined by the given list of paths.\nIt is possible to skip any node properties using the skipProperties list via the config map.', + parameters: [ + { + label: 'paths', + documentation: 'paths :: LIST? OF PATH?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.refactor.collapseNode': { label: 'apoc.refactor.collapseNode', + documentation: + 'Collapses the given node and replaces it with a relationship of the given type.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY?', + }, + { + label: 'relType', + documentation: 'relType :: STRING?', + }, + ], }, 'apoc.refactor.deleteAndReconnect': { label: 'apoc.refactor.deleteAndReconnect', + documentation: + 'Removes the given nodes from the path and reconnects the remaining nodes.', + parameters: [ + { + label: 'path', + documentation: 'path :: PATH?', + }, + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.refactor.extractNode': { label: 'apoc.refactor.extractNode', + documentation: + "Expands the given relationships into intermediate nodes.\nThe intermediate nodes are connected by the given 'OUT' and 'IN' types.", + parameters: [ + { + label: 'rels', + documentation: 'rels :: ANY?', + }, + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + { + label: 'outType', + documentation: 'outType :: STRING?', + }, + { + label: 'inType', + documentation: 'inType :: STRING?', + }, + ], }, 'apoc.refactor.from': { label: 'apoc.refactor.from', + documentation: + 'Redirects the given relationship to the given start node.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP?', + }, + { + label: 'newNode', + documentation: 'newNode :: NODE?', + }, + ], }, 'apoc.refactor.invert': { label: 'apoc.refactor.invert', + documentation: 'Inverts the direction of the given relationship.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP?', + }, + ], }, 'apoc.refactor.mergeNodes': { label: 'apoc.refactor.mergeNodes', + documentation: + 'Merges the given list of nodes onto the first node in the list.\nAll relationships are merged onto that node as well.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF NODE?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.refactor.mergeRelationships': { label: 'apoc.refactor.mergeRelationships', + documentation: + 'Merges the given list of relationships onto the first relationship in the list.', + parameters: [ + { + label: 'rels', + documentation: 'rels :: LIST? OF RELATIONSHIP?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.refactor.normalizeAsBoolean': { label: 'apoc.refactor.normalizeAsBoolean', + documentation: 'Refactors the given property to a boolean.', + parameters: [ + { + label: 'entity', + documentation: 'entity :: ANY?', + }, + { + label: 'propertyKey', + documentation: 'propertyKey :: STRING?', + }, + { + label: 'trueValues', + documentation: 'trueValues :: LIST? OF ANY?', + }, + { + label: 'falseValues', + documentation: 'falseValues :: LIST? OF ANY?', + }, + ], }, 'apoc.refactor.rename.label': { label: 'apoc.refactor.rename.label', + documentation: + "Renames the given label from 'oldLabel' to 'newLabel' for all nodes.\nIf a list of nodes is provided, the renaming is applied to the nodes within this list only.", + parameters: [ + { + label: 'oldLabel', + documentation: 'oldLabel :: STRING?', + }, + { + label: 'newLabel', + documentation: 'newLabel :: STRING?', + }, + { + label: 'nodes', + documentation: 'nodes = [] :: LIST? OF NODE?', + }, + ], }, 'apoc.refactor.rename.nodeProperty': { label: 'apoc.refactor.rename.nodeProperty', + documentation: + "Renames the given property from 'oldName' to 'newName' for all nodes.\nIf a list of nodes is provided, the renaming is applied to the nodes within this list only.", + parameters: [ + { + label: 'oldName', + documentation: 'oldName :: STRING?', + }, + { + label: 'newName', + documentation: 'newName :: STRING?', + }, + { + label: 'nodes', + documentation: 'nodes = [] :: LIST? OF NODE?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.refactor.rename.type': { label: 'apoc.refactor.rename.type', + documentation: + "Renames all relationships with type 'oldType' to 'newType'.\nIf a list of relationships is provided, the renaming is applied to the relationships within this list only.", + parameters: [ + { + label: 'oldType', + documentation: 'oldType :: STRING?', + }, + { + label: 'newType', + documentation: 'newType :: STRING?', + }, + { + label: 'rels', + documentation: 'rels = [] :: LIST? OF RELATIONSHIP?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.refactor.rename.typeProperty': { label: 'apoc.refactor.rename.typeProperty', + documentation: + "Renames the given property from 'oldName' to 'newName' for all relationships.\nIf a list of relationships is provided, the renaming is applied to the relationships within this list only.", + parameters: [ + { + label: 'oldName', + documentation: 'oldName :: STRING?', + }, + { + label: 'newName', + documentation: 'newName :: STRING?', + }, + { + label: 'rels', + documentation: 'rels = [] :: LIST? OF RELATIONSHIP?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.refactor.setType': { label: 'apoc.refactor.setType', + documentation: 'Changes the type of the given relationship.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP?', + }, + { + label: 'newType', + documentation: 'newType :: STRING?', + }, + ], }, 'apoc.refactor.to': { label: 'apoc.refactor.to', + documentation: 'Redirects the given relationship to the given end node.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP?', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE?', + }, + ], }, 'apoc.schema.assert': { label: 'apoc.schema.assert', + documentation: + 'Drops all other existing indexes and constraints when `dropExisting` is `true` (default is `true`).\nAsserts at the end of the operation that the given indexes and unique constraints are there.', + parameters: [ + { + label: 'indexes', + documentation: 'indexes :: MAP?', + }, + { + label: 'constraints', + documentation: 'constraints :: MAP?', + }, + { + label: 'dropExisting', + documentation: 'dropExisting = true :: BOOLEAN?', + }, + ], }, 'apoc.schema.nodes': { label: 'apoc.schema.nodes', + documentation: + 'Returns all indexes and constraints information for all node labels in the database.\nIt is possible to define a set of labels to include or exclude in the config parameters.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.schema.properties.distinct': { label: 'apoc.schema.properties.distinct', + documentation: + 'Returns all distinct node property values for the given key.', + parameters: [ + { + label: 'label', + documentation: 'label :: STRING?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + ], }, 'apoc.schema.properties.distinctCount': { label: 'apoc.schema.properties.distinctCount', + documentation: + 'Returns all distinct property values and counts for the given key.', + parameters: [ + { + label: 'label', + documentation: 'label = :: STRING?', + }, + { + label: 'key', + documentation: 'key = :: STRING?', + }, + ], }, 'apoc.schema.relationships': { label: 'apoc.schema.relationships', + documentation: + 'Returns the indexes and constraints information for all the relationship types in the database.\nIt is possible to define a set of relationship types to include or exclude in the config parameters.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.search.multiSearchReduced': { label: 'apoc.search.multiSearchReduced', + documentation: + 'Returns a reduced representation of the nodes found after a parallel search over multiple indexes.\nThe reduced node representation includes: node id, node labels and the searched properties.', + parameters: [ + { + label: 'labelPropertyMap', + documentation: 'labelPropertyMap :: ANY?', + }, + { + label: 'operator', + documentation: 'operator :: STRING?', + }, + { + label: 'value', + documentation: 'value :: STRING?', + }, + ], }, 'apoc.search.node': { label: 'apoc.search.node', + documentation: + 'Returns all the distinct nodes found after a parallel search over multiple indexes.', + parameters: [ + { + label: 'labelPropertyMap', + documentation: 'labelPropertyMap :: ANY?', + }, + { + label: 'operator', + documentation: 'operator :: STRING?', + }, + { + label: 'value', + documentation: 'value :: STRING?', + }, + ], }, 'apoc.search.nodeAll': { label: 'apoc.search.nodeAll', + documentation: + 'Returns all the nodes found after a parallel search over multiple indexes.', + parameters: [ + { + label: 'labelPropertyMap', + documentation: 'labelPropertyMap :: ANY?', + }, + { + label: 'operator', + documentation: 'operator :: STRING?', + }, + { + label: 'value', + documentation: 'value :: STRING?', + }, + ], }, 'apoc.search.nodeAllReduced': { label: 'apoc.search.nodeAllReduced', + documentation: + 'Returns a reduced representation of the nodes found after a parallel search over multiple indexes.\nThe reduced node representation includes: node id, node labels and the searched properties.', + parameters: [ + { + label: 'labelPropertyMap', + documentation: 'labelPropertyMap :: ANY?', + }, + { + label: 'operator', + documentation: 'operator :: STRING?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.search.nodeReduced': { label: 'apoc.search.nodeReduced', + documentation: + 'Returns a reduced representation of the distinct nodes found after a parallel search over multiple indexes.\nThe reduced node representation includes: node id, node labels and the searched properties.', + parameters: [ + { + label: 'labelPropertyMap', + documentation: 'labelPropertyMap :: ANY?', + }, + { + label: 'operator', + documentation: 'operator :: STRING?', + }, + { + label: 'value', + documentation: 'value :: STRING?', + }, + ], }, 'apoc.spatial.geocode': { label: 'apoc.spatial.geocode', + documentation: + 'Returns the geographic location (latitude, longitude, and description) of the given address using a geocoding service (default: OpenStreetMap).', + parameters: [ + { + label: 'location', + documentation: 'location :: STRING?', + }, + { + label: 'maxResults', + documentation: 'maxResults = 100 :: INTEGER?', + }, + { + label: 'quotaException', + documentation: 'quotaException = false :: BOOLEAN?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.spatial.geocodeOnce': { label: 'apoc.spatial.geocodeOnce', + documentation: + 'Returns the geographic location (latitude, longitude, and description) of the given address using a geocoding service (default: OpenStreetMap).\nThis procedure returns at most one result.', + parameters: [ + { + label: 'location', + documentation: 'location :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.spatial.reverseGeocode': { label: 'apoc.spatial.reverseGeocode', + documentation: + 'Returns a textual address from the given geographic location (latitude, longitude) using a geocoding service (default: OpenStreetMap).\nThis procedure returns at most one result.', + parameters: [ + { + label: 'latitude', + documentation: 'latitude :: FLOAT?', + }, + { + label: 'longitude', + documentation: 'longitude :: FLOAT?', + }, + { + label: 'quotaException', + documentation: 'quotaException = false :: BOOLEAN?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.spatial.sortByDistance': { label: 'apoc.spatial.sortByDistance', - }, - 'apoc.static.get': { - label: 'apoc.static.get', - }, - 'apoc.static.list': { - label: 'apoc.static.list', - }, - 'apoc.static.set': { - label: 'apoc.static.set', + documentation: + 'Sorts the given collection of paths by the sum of their distance based on the latitude/longitude values on the nodes.', + parameters: [ + { + label: 'paths', + documentation: 'paths :: LIST? OF PATH?', + }, + ], }, 'apoc.stats.degrees': { label: 'apoc.stats.degrees', - }, - 'apoc.systemdb.execute': { - label: 'apoc.systemdb.execute', - }, - 'apoc.systemdb.export.metadata': { - label: 'apoc.systemdb.export.metadata', - }, - 'apoc.systemdb.graph': { - label: 'apoc.systemdb.graph', - }, - 'apoc.text.doubleMetaphone': { - label: 'apoc.text.doubleMetaphone', - }, - 'apoc.text.phonetic': { - label: 'apoc.text.phonetic', + documentation: + 'Returns the percentile groupings of the degrees on the nodes connected by the given relationship types.', + parameters: [ + { + label: 'relTypes', + documentation: 'relTypes = :: STRING?', + }, + ], }, 'apoc.text.phoneticDelta': { label: 'apoc.text.phoneticDelta', + documentation: + 'Returns the US_ENGLISH soundex character difference between the two given strings.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING?', + }, + { + label: 'text2', + documentation: 'text2 :: STRING?', + }, + ], }, 'apoc.trigger.add': { label: 'apoc.trigger.add', + documentation: + "Adds a trigger to the given Cypher statement.\nThe selector for this procedure is {phase:'before/after/rollback/afterAsync'}.", + parameters: [ + { + label: 'name', + documentation: 'name :: STRING?', + }, + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'selector', + documentation: 'selector :: MAP?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.trigger.drop': { label: 'apoc.trigger.drop', + documentation: 'Eventually removes the given trigger.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING?', + }, + { + label: 'name', + documentation: 'name :: STRING?', + }, + ], }, 'apoc.trigger.dropAll': { label: 'apoc.trigger.dropAll', + documentation: 'Eventually removes all triggers from the given database.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING?', + }, + ], }, 'apoc.trigger.install': { label: 'apoc.trigger.install', + documentation: + 'Eventually adds a trigger for a given database which is invoked when a successful transaction occurs.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING?', + }, + { + label: 'name', + documentation: 'name :: STRING?', + }, + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'selector', + documentation: 'selector :: MAP?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.trigger.list': { label: 'apoc.trigger.list', + documentation: + 'Lists all currently installed triggers for the session database.', + parameters: [], }, 'apoc.trigger.pause': { label: 'apoc.trigger.pause', + documentation: 'Pauses the given trigger.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING?', + }, + ], }, 'apoc.trigger.remove': { label: 'apoc.trigger.remove', + documentation: 'Removes the given trigger.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING?', + }, + ], }, 'apoc.trigger.removeAll': { label: 'apoc.trigger.removeAll', + documentation: 'Removes all previously added triggers.', + parameters: [], }, 'apoc.trigger.resume': { label: 'apoc.trigger.resume', + documentation: 'Resumes the given paused trigger.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING?', + }, + ], }, 'apoc.trigger.show': { label: 'apoc.trigger.show', + documentation: 'Lists all eventually installed triggers for a database.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING?', + }, + ], }, 'apoc.trigger.start': { label: 'apoc.trigger.start', + documentation: 'Eventually restarts the given paused trigger.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING?', + }, + { + label: 'name', + documentation: 'name :: STRING?', + }, + ], }, 'apoc.trigger.stop': { label: 'apoc.trigger.stop', - }, - 'apoc.ttl.expire': { - label: 'apoc.ttl.expire', - }, - 'apoc.ttl.expireIn': { - label: 'apoc.ttl.expireIn', + documentation: 'Eventually stops the given trigger.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING?', + }, + { + label: 'name', + documentation: 'name :: STRING?', + }, + ], }, 'apoc.util.sleep': { label: 'apoc.util.sleep', + documentation: + 'Causes the currently running Cypher to sleep for the given duration of milliseconds (the transaction termination is honored).', + parameters: [ + { + label: 'duration', + documentation: 'duration :: INTEGER?', + }, + ], }, 'apoc.util.validate': { label: 'apoc.util.validate', - }, - 'apoc.uuid.drop': { - label: 'apoc.uuid.drop', - }, - 'apoc.uuid.dropAll': { - label: 'apoc.uuid.dropAll', - }, - 'apoc.uuid.install': { - label: 'apoc.uuid.install', - }, - 'apoc.uuid.list': { - label: 'apoc.uuid.list', - }, - 'apoc.uuid.remove': { - label: 'apoc.uuid.remove', - }, - 'apoc.uuid.removeAll': { - label: 'apoc.uuid.removeAll', - }, - 'apoc.uuid.setup': { - label: 'apoc.uuid.setup', - }, - 'apoc.uuid.show': { - label: 'apoc.uuid.show', + documentation: 'If the given predicate is true an exception is thrown.', + parameters: [ + { + label: 'predicate', + documentation: 'predicate :: BOOLEAN?', + }, + { + label: 'message', + documentation: 'message :: STRING?', + }, + { + label: 'params', + documentation: 'params :: LIST? OF ANY?', + }, + ], }, 'apoc.warmup.run': { label: 'apoc.warmup.run', + documentation: + 'Loads all nodes and relationships in the database into memory.', + parameters: [ + { + label: 'loadProperties', + documentation: 'loadProperties = false :: BOOLEAN?', + }, + { + label: 'loadDynamicProperties', + documentation: 'loadDynamicProperties = false :: BOOLEAN?', + }, + { + label: 'loadIndexes', + documentation: 'loadIndexes = false :: BOOLEAN?', + }, + ], }, 'apoc.when': { label: 'apoc.when', - }, - 'apoc.xml.import': { - label: 'apoc.xml.import', + documentation: + 'This procedure will run the read-only ifQuery if the conditional has evaluated to true, otherwise the elseQuery will run.', + parameters: [ + { + label: 'condition', + documentation: 'condition :: BOOLEAN?', + }, + { + label: 'ifQuery', + documentation: 'ifQuery :: STRING?', + }, + { + label: 'elseQuery', + documentation: 'elseQuery = :: STRING?', + }, + { + label: 'params', + documentation: 'params = {} :: MAP?', + }, + ], }, 'db.awaitIndex': { label: 'db.awaitIndex', + documentation: + 'Wait for an index to come online (for example: CALL db.awaitIndex("MyIndex", 300)).', + parameters: [ + { + label: 'indexName', + documentation: 'indexName :: STRING?', + }, + { + label: 'timeOutSeconds', + documentation: 'timeOutSeconds = 300 :: INTEGER?', + }, + ], }, 'db.awaitIndexes': { label: 'db.awaitIndexes', + documentation: + 'Wait for all indexes to come online (for example: CALL db.awaitIndexes(300)).', + parameters: [ + { + label: 'timeOutSeconds', + documentation: 'timeOutSeconds = 300 :: INTEGER?', + }, + ], }, 'db.checkpoint': { label: 'db.checkpoint', + documentation: + 'Initiate and wait for a new check point, or wait any already on-going check point to complete. Note that this temporarily disables the `db.checkpoint.iops.limit` setting in order to make the check point complete faster. This might cause transaction throughput to degrade slightly, due to increased IO load.', + parameters: [], }, 'db.clearQueryCaches': { label: 'db.clearQueryCaches', - }, - 'db.constraints': { - label: 'db.constraints', - }, - 'db.createIndex': { - label: 'db.createIndex', + documentation: 'Clears all query caches.', + parameters: [], + }, + 'db.create.setVectorProperty': { + label: 'db.create.setVectorProperty', + documentation: + "Set a vector property on a given node in a more space efficient representation than Cypher's SET.", + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + { + label: 'vector', + documentation: 'vector :: LIST? OF FLOAT?', + }, + ], }, 'db.createLabel': { label: 'db.createLabel', - }, - 'db.createNodeKey': { - label: 'db.createNodeKey', + documentation: 'Create a label', + parameters: [ + { + label: 'newLabel', + documentation: 'newLabel :: STRING?', + }, + ], }, 'db.createProperty': { label: 'db.createProperty', + documentation: 'Create a Property', + parameters: [ + { + label: 'newProperty', + documentation: 'newProperty :: STRING?', + }, + ], }, 'db.createRelationshipType': { label: 'db.createRelationshipType', - }, - 'db.createUniquePropertyConstraint': { - label: 'db.createUniquePropertyConstraint', + documentation: 'Create a RelationshipType', + parameters: [ + { + label: 'newRelationshipType', + documentation: 'newRelationshipType :: STRING?', + }, + ], }, 'db.index.fulltext.awaitEventuallyConsistentIndexRefresh': { label: 'db.index.fulltext.awaitEventuallyConsistentIndexRefresh', - }, - 'db.index.fulltext.createNodeIndex': { - label: 'db.index.fulltext.createNodeIndex', - }, - 'db.index.fulltext.createRelationshipIndex': { - label: 'db.index.fulltext.createRelationshipIndex', - }, - 'db.index.fulltext.drop': { - label: 'db.index.fulltext.drop', + documentation: + 'Wait for the updates from recently committed transactions to be applied to any eventually-consistent full-text indexes.', + parameters: [], }, 'db.index.fulltext.listAvailableAnalyzers': { label: 'db.index.fulltext.listAvailableAnalyzers', + documentation: + 'List the available analyzers that the full-text indexes can be configured with.', + parameters: [], }, 'db.index.fulltext.queryNodes': { label: 'db.index.fulltext.queryNodes', + documentation: + "Query the given full-text index. Returns the matching nodes, and their Lucene query score, ordered by score. Valid keys for the options map are: 'skip' to skip the top N results; 'limit' to limit the number of results returned; 'analyzer' to use the specified analyzer as search analyzer for this query.", + parameters: [ + { + label: 'indexName', + documentation: 'indexName :: STRING?', + }, + { + label: 'queryString', + documentation: 'queryString :: STRING?', + }, + { + label: 'options', + documentation: 'options = {} :: MAP?', + }, + ], }, 'db.index.fulltext.queryRelationships': { label: 'db.index.fulltext.queryRelationships', - }, - 'db.indexDetails': { - label: 'db.indexDetails', - }, - 'db.indexes': { - label: 'db.indexes', + documentation: + "Query the given full-text index. Returns the matching relationships, and their Lucene query score, ordered by score. Valid keys for the options map are: 'skip' to skip the top N results; 'limit' to limit the number of results returned; 'analyzer' to use the specified analyzer as search analyzer for this query.", + parameters: [ + { + label: 'indexName', + documentation: 'indexName :: STRING?', + }, + { + label: 'queryString', + documentation: 'queryString :: STRING?', + }, + { + label: 'options', + documentation: 'options = {} :: MAP?', + }, + ], + }, + 'db.index.vector.createNodeIndex': { + label: 'db.index.vector.createNodeIndex', + documentation: + "Create a named node vector index for the given label and property for a specified vector dimensionality.\nValid similarity functions are 'EUCLIDEAN' and 'COSINE', and are case-insensitive.\nUse the `db.index.vector.queryNodes` procedure to query the named index.\n", + parameters: [ + { + label: 'indexName', + documentation: 'indexName :: STRING?', + }, + { + label: 'label', + documentation: 'label :: STRING?', + }, + { + label: 'propertyKey', + documentation: 'propertyKey :: STRING?', + }, + { + label: 'vectorDimension', + documentation: 'vectorDimension :: INTEGER?', + }, + { + label: 'vectorSimilarityFunction', + documentation: 'vectorSimilarityFunction :: STRING?', + }, + ], + }, + 'db.index.vector.queryNodes': { + label: 'db.index.vector.queryNodes', + documentation: + 'Query the given vector index.\nReturns requested number of nearest neighbors to the provided query vector,\nand their similarity score to that query vector, based on the configured similarity function for the index.\nThe similarity score is a value between [0, 1]; where 0 indicates least similar, 1 most similar.\n', + parameters: [ + { + label: 'indexName', + documentation: 'indexName :: STRING?', + }, + { + label: 'numberOfNearestNeighbours', + documentation: 'numberOfNearestNeighbours :: INTEGER?', + }, + { + label: 'query', + documentation: 'query :: LIST? OF FLOAT?', + }, + ], }, 'db.info': { label: 'db.info', + documentation: 'Provides information regarding the database.', + parameters: [], }, 'db.labels': { label: 'db.labels', + documentation: 'List all available labels in the database.', + parameters: [], }, 'db.listLocks': { label: 'db.listLocks', + documentation: 'List all locks at this database.', + parameters: [], }, 'db.ping': { label: 'db.ping', + documentation: + 'This procedure can be used by client side tooling to test whether they are correctly connected to a database. The procedure is available in all databases and always returns true. A faulty connection can be detected by not being able to call this procedure.', + parameters: [], }, 'db.prepareForReplanning': { label: 'db.prepareForReplanning', + documentation: + 'Triggers an index resample and waits for it to complete, and after that clears query caches. After this procedure has finished queries will be planned using the latest database statistics.', + parameters: [ + { + label: 'timeOutSeconds', + documentation: 'timeOutSeconds = 300 :: INTEGER?', + }, + ], }, 'db.propertyKeys': { label: 'db.propertyKeys', + documentation: 'List all property keys in the database.', + parameters: [], }, 'db.relationshipTypes': { label: 'db.relationshipTypes', + documentation: 'List all available relationship types in the database.', + parameters: [], }, 'db.resampleIndex': { label: 'db.resampleIndex', + documentation: + 'Schedule resampling of an index (for example: CALL db.resampleIndex("MyIndex")).', + parameters: [ + { + label: 'indexName', + documentation: 'indexName :: STRING?', + }, + ], }, 'db.resampleOutdatedIndexes': { label: 'db.resampleOutdatedIndexes', + documentation: 'Schedule resampling of all outdated indexes.', + parameters: [], }, 'db.schema.nodeTypeProperties': { label: 'db.schema.nodeTypeProperties', + documentation: + 'Show the derived property schema of the nodes in tabular form.', + parameters: [], }, 'db.schema.relTypeProperties': { label: 'db.schema.relTypeProperties', + documentation: + 'Show the derived property schema of the relationships in tabular form.', + parameters: [], }, 'db.schema.visualization': { label: 'db.schema.visualization', - }, - 'db.schemaStatements': { - label: 'db.schemaStatements', + documentation: + 'Visualizes the schema of the data based on available statistics. A new node is returned for each label. The properties represented on the node include: `name` (label name), `indexes` (list of indexes), and `constraints` (list of constraints). A relationship of a given type is returned for all possible combinations of start and end nodes. The properties represented on the relationship include: `name` (type name). Note that this may include additional relationships that do not exist in the data due to the information available in the count store. ', + parameters: [], }, 'db.stats.clear': { label: 'db.stats.clear', + documentation: + "Clear collected data of a given data section. Valid sections are 'QUERIES'", + parameters: [ + { + label: 'section', + documentation: 'section :: STRING?', + }, + ], }, 'db.stats.collect': { label: 'db.stats.collect', + documentation: + "Start data collection of a given data section. Valid sections are 'QUERIES'", + parameters: [ + { + label: 'section', + documentation: 'section :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'db.stats.retrieve': { label: 'db.stats.retrieve', + documentation: + "Retrieve statistical data about the current database. Valid sections are 'GRAPH COUNTS', 'TOKENS', 'QUERIES', 'META'", + parameters: [ + { + label: 'section', + documentation: 'section :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'db.stats.retrieveAllAnonymized': { label: 'db.stats.retrieveAllAnonymized', + documentation: + 'Retrieve all available statistical data about the current database, in an anonymized form.', + parameters: [ + { + label: 'graphToken', + documentation: 'graphToken :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'db.stats.status': { label: 'db.stats.status', + documentation: + 'Retrieve the status of all available collector daemons, for this database.', + parameters: [], }, 'db.stats.stop': { label: 'db.stats.stop', - }, - 'dbms.cluster.overview': { - label: 'dbms.cluster.overview', + documentation: + "Stop data collection of a given data section. Valid sections are 'QUERIES'", + parameters: [ + { + label: 'section', + documentation: 'section :: STRING?', + }, + ], + }, + 'dbms.checkConfigValue': { + label: 'dbms.checkConfigValue', + documentation: 'Check if a potential config setting value is valid.', + parameters: [ + { + label: 'setting', + documentation: 'setting :: STRING?', + }, + { + label: 'value', + documentation: 'value :: STRING?', + }, + ], + }, + 'dbms.cluster.checkConnectivity': { + label: 'dbms.cluster.checkConnectivity', + documentation: + "Check the connectivity of this instance to other cluster members. Not all ports are relevant to all members. Valid values for 'port-name' are: [CLUSTER, RAFT]", + parameters: [ + { + label: 'port-name', + documentation: 'port-name = null :: STRING?', + }, + { + label: 'server', + documentation: 'server = null :: STRING?', + }, + ], + }, + 'dbms.cluster.cordonServer': { + label: 'dbms.cluster.cordonServer', + documentation: + 'Mark a server in the topology as not suitable for new allocations. It will not force current allocations off the server. This is useful when deallocating databases when you have multiple unavailable servers.', + parameters: [ + { + label: 'server', + documentation: 'server :: STRING?', + }, + ], }, 'dbms.cluster.protocols': { label: 'dbms.cluster.protocols', - }, - 'dbms.cluster.role': { - label: 'dbms.cluster.role', + documentation: 'Overview of installed protocols', + parameters: [], + }, + 'dbms.cluster.readReplicaToggle': { + label: 'dbms.cluster.readReplicaToggle', + documentation: + 'The toggle can pause or resume read replica (deprecated in favor of dbms.cluster.secondaryReplicationDisable)', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING?', + }, + { + label: 'pause', + documentation: 'pause :: BOOLEAN?', + }, + ], }, 'dbms.cluster.routing.getRoutingTable': { label: 'dbms.cluster.routing.getRoutingTable', + documentation: + "Returns the advertised bolt capable endpoints for a given database, divided by each endpoint's capabilities. For example an endpoint may serve read queries, write queries and/or future getRoutingTable requests.", + parameters: [ + { + label: 'context', + documentation: 'context :: MAP?', + }, + { + label: 'database', + documentation: 'database = null :: STRING?', + }, + ], + }, + 'dbms.cluster.secondaryReplicationDisable': { + label: 'dbms.cluster.secondaryReplicationDisable', + documentation: + 'The toggle can pause or resume the secondary replication process', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING?', + }, + { + label: 'pause', + documentation: 'pause :: BOOLEAN?', + }, + ], + }, + 'dbms.cluster.setAutomaticallyEnableFreeServers': { + label: 'dbms.cluster.setAutomaticallyEnableFreeServers', + documentation: + 'With this method you can set whether free servers are automatically enabled.', + parameters: [ + { + label: 'autoEnable', + documentation: 'autoEnable :: BOOLEAN?', + }, + ], + }, + 'dbms.cluster.uncordonServer': { + label: 'dbms.cluster.uncordonServer', + documentation: + "Remove the cordon on a server, returning it to 'enabled'.", + parameters: [ + { + label: 'server', + documentation: 'server :: STRING?', + }, + ], }, 'dbms.components': { label: 'dbms.components', - }, - 'dbms.database.state': { - label: 'dbms.database.state', - }, - 'dbms.functions': { - label: 'dbms.functions', + documentation: 'List DBMS components and their versions.', + parameters: [], }, 'dbms.info': { label: 'dbms.info', + documentation: 'Provides information regarding the DBMS.', + parameters: [], }, 'dbms.killConnection': { label: 'dbms.killConnection', + documentation: 'Kill network connection with the given connection id.', + parameters: [ + { + label: 'id', + documentation: 'id :: STRING?', + }, + ], }, 'dbms.killConnections': { label: 'dbms.killConnections', - }, - 'dbms.killQueries': { - label: 'dbms.killQueries', - }, - 'dbms.killQuery': { - label: 'dbms.killQuery', - }, - 'dbms.killTransaction': { - label: 'dbms.killTransaction', - }, - 'dbms.killTransactions': { - label: 'dbms.killTransactions', + documentation: + 'Kill all network connections with the given connection ids.', + parameters: [ + { + label: 'ids', + documentation: 'ids :: LIST? OF STRING?', + }, + ], }, 'dbms.listActiveLocks': { label: 'dbms.listActiveLocks', + documentation: + 'List the active lock requests granted for the transaction executing the query with the given query id.', + parameters: [ + { + label: 'queryId', + documentation: 'queryId :: STRING?', + }, + ], }, 'dbms.listCapabilities': { label: 'dbms.listCapabilities', + documentation: 'List capabilities', + parameters: [], }, 'dbms.listConfig': { label: 'dbms.listConfig', + documentation: 'List the currently active config of Neo4j.', + parameters: [ + { + label: 'searchString', + documentation: 'searchString = :: STRING?', + }, + ], }, 'dbms.listConnections': { label: 'dbms.listConnections', + documentation: + 'List all accepted network connections at this instance that are visible to the user.', + parameters: [], }, 'dbms.listPools': { label: 'dbms.listPools', - }, - 'dbms.listQueries': { - label: 'dbms.listQueries', - }, - 'dbms.listTransactions': { - label: 'dbms.listTransactions', - }, - 'dbms.procedures': { - label: 'dbms.procedures', + documentation: + 'List all memory pools, including sub pools, currently registered at this instance that are visible to the user.', + parameters: [], }, 'dbms.quarantineDatabase': { label: 'dbms.quarantineDatabase', + documentation: 'Place a database into quarantine or remove from it.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING?', + }, + { + label: 'setStatus', + documentation: 'setStatus :: BOOLEAN?', + }, + { + label: 'reason', + documentation: 'reason = No reason given :: STRING?', + }, + ], }, 'dbms.queryJmx': { label: 'dbms.queryJmx', + documentation: + 'Query JMX management data by domain and name. For instance, "*:*"', + parameters: [ + { + label: 'query', + documentation: 'query :: STRING?', + }, + ], }, 'dbms.routing.getRoutingTable': { label: 'dbms.routing.getRoutingTable', + documentation: + "Returns the advertised bolt capable endpoints for a given database, divided by each endpoint's capabilities. For example an endpoint may serve read queries, write queries and/or future getRoutingTable requests.", + parameters: [ + { + label: 'context', + documentation: 'context :: MAP?', + }, + { + label: 'database', + documentation: 'database = null :: STRING?', + }, + ], }, 'dbms.scheduler.failedJobs': { label: 'dbms.scheduler.failedJobs', + documentation: + 'List failed job runs. There is a limit for amount of historical data.', + parameters: [], }, 'dbms.scheduler.groups': { label: 'dbms.scheduler.groups', + documentation: + 'List the job groups that are active in the database internal job scheduler.', + parameters: [], }, 'dbms.scheduler.jobs': { label: 'dbms.scheduler.jobs', - }, - 'dbms.scheduler.profile': { - label: 'dbms.scheduler.profile', - }, - 'dbms.security.activateUser': { - label: 'dbms.security.activateUser', - }, - 'dbms.security.addRoleToUser': { - label: 'dbms.security.addRoleToUser', - }, - 'dbms.security.changePassword': { - label: 'dbms.security.changePassword', - }, - 'dbms.security.changeUserPassword': { - label: 'dbms.security.changeUserPassword', + documentation: + 'List all jobs that are active in the database internal job scheduler.', + parameters: [], }, 'dbms.security.clearAuthCache': { label: 'dbms.security.clearAuthCache', - }, - 'dbms.security.createRole': { - label: 'dbms.security.createRole', - }, - 'dbms.security.createUser': { - label: 'dbms.security.createUser', - }, - 'dbms.security.deleteRole': { - label: 'dbms.security.deleteRole', - }, - 'dbms.security.deleteUser': { - label: 'dbms.security.deleteUser', - }, - 'dbms.security.listRoles': { - label: 'dbms.security.listRoles', - }, - 'dbms.security.listRolesForUser': { - label: 'dbms.security.listRolesForUser', - }, - 'dbms.security.listUsers': { - label: 'dbms.security.listUsers', - }, - 'dbms.security.listUsersForRole': { - label: 'dbms.security.listUsersForRole', - }, - 'dbms.security.removeRoleFromUser': { - label: 'dbms.security.removeRoleFromUser', - }, - 'dbms.security.suspendUser': { - label: 'dbms.security.suspendUser', + documentation: 'Clears authentication and authorization cache.', + parameters: [], }, 'dbms.setConfigValue': { label: 'dbms.setConfigValue', + documentation: + 'Updates a given setting value. Passing an empty value will result in removing the configured value and falling back to the default value. Changes will not persist and will be lost if the server is restarted.', + parameters: [ + { + label: 'setting', + documentation: 'setting :: STRING?', + }, + { + label: 'value', + documentation: 'value :: STRING?', + }, + ], + }, + 'dbms.setDatabaseAllocator': { + label: 'dbms.setDatabaseAllocator', + documentation: + 'With this method you can set the allocator, which is responsible to select servers for hosting databases.', + parameters: [ + { + label: 'allocator', + documentation: 'allocator :: STRING?', + }, + ], + }, + 'dbms.setDefaultAllocationNumbers': { + label: 'dbms.setDefaultAllocationNumbers', + documentation: + 'With this method you can set the default number of primaries and secondaries.', + parameters: [ + { + label: 'primaries', + documentation: 'primaries :: INTEGER?', + }, + { + label: 'secondaries', + documentation: 'secondaries :: INTEGER?', + }, + ], + }, + 'dbms.setDefaultDatabase': { + label: 'dbms.setDefaultDatabase', + documentation: + 'Change the default database to the provided value. The database must exist and the old default database must be stopped.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING?', + }, + ], }, 'dbms.showCurrentUser': { label: 'dbms.showCurrentUser', + documentation: 'Show the current user.', + parameters: [], + }, + 'dbms.showTopologyGraphConfig': { + label: 'dbms.showTopologyGraphConfig', + documentation: + 'With this method the configuration of the Topology Graph can be displayed.', + parameters: [], }, 'dbms.upgrade': { label: 'dbms.upgrade', + documentation: + 'Upgrade the system database schema if it is not the current schema.', + parameters: [], }, 'dbms.upgradeStatus': { label: 'dbms.upgradeStatus', + documentation: + 'Report the current status of the system database sub-graph schema.', + parameters: [], }, 'gds.allShortestPaths.delta.mutate': { label: 'gds.allShortestPaths.delta.mutate', + documentation: + 'The Delta Stepping shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph. The computation is run multi-threaded', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.allShortestPaths.delta.mutate.estimate': { label: 'gds.allShortestPaths.delta.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.allShortestPaths.delta.stats': { label: 'gds.allShortestPaths.delta.stats', + documentation: + 'The Delta Stepping shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph. The computation is run multi-threaded', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.allShortestPaths.delta.stats.estimate': { label: 'gds.allShortestPaths.delta.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.allShortestPaths.delta.stream': { label: 'gds.allShortestPaths.delta.stream', + documentation: + 'The Delta Stepping shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph. The computation is run multi-threaded', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.allShortestPaths.delta.stream.estimate': { label: 'gds.allShortestPaths.delta.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.allShortestPaths.delta.write': { label: 'gds.allShortestPaths.delta.write', + documentation: + 'The Delta Stepping shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph. The computation is run multi-threaded', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.allShortestPaths.delta.write.estimate': { label: 'gds.allShortestPaths.delta.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.allShortestPaths.dijkstra.mutate': { label: 'gds.allShortestPaths.dijkstra.mutate', + documentation: + 'The Dijkstra shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.allShortestPaths.dijkstra.mutate.estimate': { label: 'gds.allShortestPaths.dijkstra.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.allShortestPaths.dijkstra.stream': { label: 'gds.allShortestPaths.dijkstra.stream', + documentation: + 'The Dijkstra shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.allShortestPaths.dijkstra.stream.estimate': { label: 'gds.allShortestPaths.dijkstra.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.allShortestPaths.dijkstra.write': { label: 'gds.allShortestPaths.dijkstra.write', + documentation: + 'The Dijkstra shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.allShortestPaths.dijkstra.write.estimate': { label: 'gds.allShortestPaths.dijkstra.write.estimate', - }, - 'gds.alpha.allShortestPaths.stream': { - label: 'gds.alpha.allShortestPaths.stream', - }, - 'gds.alpha.backup': { - label: 'gds.alpha.backup', - }, - 'gds.alpha.closeness.harmonic.stream': { - label: 'gds.alpha.closeness.harmonic.stream', - }, - 'gds.alpha.closeness.harmonic.write': { - label: 'gds.alpha.closeness.harmonic.write', - }, - 'gds.alpha.conductance.stream': { - label: 'gds.alpha.conductance.stream', - }, - 'gds.alpha.config.defaults.list': { - label: 'gds.alpha.config.defaults.list', - }, - 'gds.alpha.config.defaults.set': { - label: 'gds.alpha.config.defaults.set', - }, - 'gds.alpha.config.limits.list': { - label: 'gds.alpha.config.limits.list', - }, - 'gds.alpha.config.limits.set': { - label: 'gds.alpha.config.limits.set', - }, - 'gds.alpha.create.cypherdb': { - label: 'gds.alpha.create.cypherdb', - }, - 'gds.alpha.drop.cypherdb': { - label: 'gds.alpha.drop.cypherdb', - }, - 'gds.alpha.graph.graphProperty.drop': { - label: 'gds.alpha.graph.graphProperty.drop', - }, - 'gds.alpha.graph.graphProperty.stream': { - label: 'gds.alpha.graph.graphProperty.stream', - }, - 'gds.alpha.graph.nodeLabel.mutate': { - label: 'gds.alpha.graph.nodeLabel.mutate', - }, - 'gds.alpha.graph.nodeLabel.write': { - label: 'gds.alpha.graph.nodeLabel.write', - }, - 'gds.alpha.hits.mutate': { - label: 'gds.alpha.hits.mutate', - }, - 'gds.alpha.hits.mutate.estimate': { - label: 'gds.alpha.hits.mutate.estimate', - }, - 'gds.alpha.hits.stats': { - label: 'gds.alpha.hits.stats', - }, - 'gds.alpha.hits.stats.estimate': { - label: 'gds.alpha.hits.stats.estimate', - }, - 'gds.alpha.hits.stream': { - label: 'gds.alpha.hits.stream', - }, - 'gds.alpha.hits.stream.estimate': { - label: 'gds.alpha.hits.stream.estimate', - }, - 'gds.alpha.hits.write': { - label: 'gds.alpha.hits.write', - }, - 'gds.alpha.hits.write.estimate': { - label: 'gds.alpha.hits.write.estimate', - }, - 'gds.alpha.kSpanningTree.write': { - label: 'gds.alpha.kSpanningTree.write', - }, - 'gds.alpha.knn.filtered.mutate': { - label: 'gds.alpha.knn.filtered.mutate', - }, - 'gds.alpha.knn.filtered.stats': { - label: 'gds.alpha.knn.filtered.stats', - }, - 'gds.alpha.knn.filtered.stream': { - label: 'gds.alpha.knn.filtered.stream', - }, - 'gds.alpha.knn.filtered.write': { - label: 'gds.alpha.knn.filtered.write', - }, - 'gds.alpha.maxkcut.mutate': { - label: 'gds.alpha.maxkcut.mutate', - }, - 'gds.alpha.maxkcut.mutate.estimate': { - label: 'gds.alpha.maxkcut.mutate.estimate', - }, - 'gds.alpha.maxkcut.stream': { - label: 'gds.alpha.maxkcut.stream', - }, - 'gds.alpha.maxkcut.stream.estimate': { - label: 'gds.alpha.maxkcut.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.allShortestPaths.stream': { + label: 'gds.allShortestPaths.stream', + documentation: + 'The All Pairs Shortest Path (APSP) calculates the shortest (weighted) path between all pairs of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.alpha.ml.splitRelationships.mutate': { label: 'gds.alpha.ml.splitRelationships.mutate', - }, - 'gds.alpha.model.delete': { - label: 'gds.alpha.model.delete', - }, - 'gds.alpha.model.load': { - label: 'gds.alpha.model.load', - }, - 'gds.alpha.model.publish': { - label: 'gds.alpha.model.publish', - }, - 'gds.alpha.model.store': { - label: 'gds.alpha.model.store', - }, - 'gds.alpha.modularity.stats': { - label: 'gds.alpha.modularity.stats', - }, - 'gds.alpha.modularity.stream': { - label: 'gds.alpha.modularity.stream', - }, - 'gds.alpha.nodeSimilarity.filtered.mutate': { - label: 'gds.alpha.nodeSimilarity.filtered.mutate', - }, - 'gds.alpha.nodeSimilarity.filtered.mutate.estimate': { - label: 'gds.alpha.nodeSimilarity.filtered.mutate.estimate', - }, - 'gds.alpha.nodeSimilarity.filtered.stats': { - label: 'gds.alpha.nodeSimilarity.filtered.stats', - }, - 'gds.alpha.nodeSimilarity.filtered.stats.estimate': { - label: 'gds.alpha.nodeSimilarity.filtered.stats.estimate', - }, - 'gds.alpha.nodeSimilarity.filtered.stream': { - label: 'gds.alpha.nodeSimilarity.filtered.stream', - }, - 'gds.alpha.nodeSimilarity.filtered.stream.estimate': { - label: 'gds.alpha.nodeSimilarity.filtered.stream.estimate', - }, - 'gds.alpha.nodeSimilarity.filtered.write': { - label: 'gds.alpha.nodeSimilarity.filtered.write', - }, - 'gds.alpha.nodeSimilarity.filtered.write.estimate': { - label: 'gds.alpha.nodeSimilarity.filtered.write.estimate', + documentation: + 'Splits a graph into holdout and remaining relationship types and adds them to the graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.alpha.pipeline.linkPrediction.addMLP': { label: 'gds.alpha.pipeline.linkPrediction.addMLP', - }, - 'gds.alpha.pipeline.linkPrediction.addRandomForest': { - label: 'gds.alpha.pipeline.linkPrediction.addRandomForest', + documentation: + 'Add a multilayer perceptron configuration to the parameter space of the link prediction train pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'gds.alpha.pipeline.linkPrediction.configureAutoTuning': { label: 'gds.alpha.pipeline.linkPrediction.configureAutoTuning', + documentation: + 'Configures the auto-tuning of the link prediction pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.alpha.pipeline.nodeClassification.addMLP': { label: 'gds.alpha.pipeline.nodeClassification.addMLP', - }, - 'gds.alpha.pipeline.nodeClassification.addRandomForest': { - label: 'gds.alpha.pipeline.nodeClassification.addRandomForest', + documentation: + 'Add a multilayer perceptron configuration to the parameter space of the node classification train pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'gds.alpha.pipeline.nodeClassification.configureAutoTuning': { label: 'gds.alpha.pipeline.nodeClassification.configureAutoTuning', + documentation: + 'Configures the auto-tuning of the node classification pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.alpha.pipeline.nodeRegression.addLinearRegression': { label: 'gds.alpha.pipeline.nodeRegression.addLinearRegression', + documentation: + 'Add a linear regression model candidate to a node regression pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.alpha.pipeline.nodeRegression.addNodeProperty': { label: 'gds.alpha.pipeline.nodeRegression.addNodeProperty', + documentation: + 'Add a node property step to an existing node regression training pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'procedureName', + documentation: 'procedureName :: STRING?', + }, + { + label: 'procedureConfiguration', + documentation: 'procedureConfiguration :: MAP?', + }, + ], }, 'gds.alpha.pipeline.nodeRegression.addRandomForest': { label: 'gds.alpha.pipeline.nodeRegression.addRandomForest', + documentation: + 'Add a random forest model candidate to a node regression pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.alpha.pipeline.nodeRegression.configureAutoTuning': { label: 'gds.alpha.pipeline.nodeRegression.configureAutoTuning', + documentation: + 'Configures the auto-tuning of a node regression pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.alpha.pipeline.nodeRegression.configureSplit': { label: 'gds.alpha.pipeline.nodeRegression.configureSplit', + documentation: + 'Configures the graph splitting of a node regression pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.alpha.pipeline.nodeRegression.create': { label: 'gds.alpha.pipeline.nodeRegression.create', + documentation: + 'Creates a node regression training pipeline in the pipeline catalog.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + ], }, 'gds.alpha.pipeline.nodeRegression.predict.mutate': { label: 'gds.alpha.pipeline.nodeRegression.predict.mutate', + documentation: + 'Predicts target node property using a previously trained `NodeRegression` model', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.alpha.pipeline.nodeRegression.predict.stream': { label: 'gds.alpha.pipeline.nodeRegression.predict.stream', + documentation: + 'Predicts target node property using a previously trained `NodeRegression` model', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.alpha.pipeline.nodeRegression.selectFeatures': { label: 'gds.alpha.pipeline.nodeRegression.selectFeatures', + documentation: + 'Add one or several features to an existing node regression training pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'featureProperties', + documentation: 'featureProperties :: ANY?', + }, + ], }, 'gds.alpha.pipeline.nodeRegression.train': { label: 'gds.alpha.pipeline.nodeRegression.train', - }, - 'gds.alpha.restore': { - label: 'gds.alpha.restore', - }, - 'gds.alpha.scaleProperties.mutate': { - label: 'gds.alpha.scaleProperties.mutate', - }, - 'gds.alpha.scaleProperties.stream': { - label: 'gds.alpha.scaleProperties.stream', - }, - 'gds.alpha.scc.stream': { - label: 'gds.alpha.scc.stream', - }, - 'gds.alpha.scc.write': { - label: 'gds.alpha.scc.write', - }, - 'gds.alpha.sllpa.mutate': { - label: 'gds.alpha.sllpa.mutate', - }, - 'gds.alpha.sllpa.mutate.estimate': { - label: 'gds.alpha.sllpa.mutate.estimate', - }, - 'gds.alpha.sllpa.stats': { - label: 'gds.alpha.sllpa.stats', - }, - 'gds.alpha.sllpa.stats.estimate': { - label: 'gds.alpha.sllpa.stats.estimate', - }, - 'gds.alpha.sllpa.stream': { - label: 'gds.alpha.sllpa.stream', - }, - 'gds.alpha.sllpa.stream.estimate': { - label: 'gds.alpha.sllpa.stream.estimate', - }, - 'gds.alpha.sllpa.write': { - label: 'gds.alpha.sllpa.write', - }, - 'gds.alpha.sllpa.write.estimate': { - label: 'gds.alpha.sllpa.write.estimate', - }, - 'gds.alpha.systemMonitor': { - label: 'gds.alpha.systemMonitor', - }, - 'gds.alpha.triangles': { - label: 'gds.alpha.triangles', - }, - 'gds.alpha.userLog': { - label: 'gds.alpha.userLog', + documentation: 'Trains a node classification model based on a pipeline', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.articleRank.mutate': { label: 'gds.articleRank.mutate', + documentation: + 'Article Rank is a variant of the Page Rank algorithm, which measures the transitive influence or connectivity of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.articleRank.mutate.estimate': { label: 'gds.articleRank.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.articleRank.stats': { label: 'gds.articleRank.stats', + documentation: + 'Executes the algorithm and returns result statistics without writing the result to Neo4j.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.articleRank.stats.estimate': { label: 'gds.articleRank.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.articleRank.stream': { label: 'gds.articleRank.stream', + documentation: + 'Article Rank is a variant of the Page Rank algorithm, which measures the transitive influence or connectivity of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.articleRank.stream.estimate': { label: 'gds.articleRank.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.articleRank.write': { label: 'gds.articleRank.write', + documentation: + 'Article Rank is a variant of the Page Rank algorithm, which measures the transitive influence or connectivity of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.articleRank.write.estimate': { label: 'gds.articleRank.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.backup': { + label: 'gds.backup', + documentation: 'The back-up procedure persists graphs and models to disk', + parameters: [ + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.bellmanFord.mutate': { label: 'gds.bellmanFord.mutate', + documentation: + 'The Bellman-Ford shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph without negative cycles.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.bellmanFord.mutate.estimate': { label: 'gds.bellmanFord.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.bellmanFord.stats': { label: 'gds.bellmanFord.stats', + documentation: + 'The Bellman-Ford shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph without negative cycles.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.bellmanFord.stats.estimate': { label: 'gds.bellmanFord.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.bellmanFord.stream': { label: 'gds.bellmanFord.stream', + documentation: + 'The Bellman-Ford shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph without negative cycles.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.bellmanFord.stream.estimate': { label: 'gds.bellmanFord.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.bellmanFord.write': { label: 'gds.bellmanFord.write', + documentation: + 'The Bellman-Ford shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph without negative cycles.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.bellmanFord.write.estimate': { label: 'gds.bellmanFord.write.estimate', - }, - 'gds.beta.closeness.mutate': { - label: 'gds.beta.closeness.mutate', - }, - 'gds.beta.closeness.stats': { - label: 'gds.beta.closeness.stats', - }, - 'gds.beta.closeness.stream': { - label: 'gds.beta.closeness.stream', - }, - 'gds.beta.closeness.write': { - label: 'gds.beta.closeness.write', - }, - 'gds.beta.collapsePath.mutate': { - label: 'gds.beta.collapsePath.mutate', - }, - 'gds.beta.graph.export.csv': { - label: 'gds.beta.graph.export.csv', - }, - 'gds.beta.graph.export.csv.estimate': { - label: 'gds.beta.graph.export.csv.estimate', - }, - 'gds.beta.graph.generate': { - label: 'gds.beta.graph.generate', - }, - 'gds.beta.graph.project.subgraph': { - label: 'gds.beta.graph.project.subgraph', - }, - 'gds.beta.graph.relationships.stream': { - label: 'gds.beta.graph.relationships.stream', - }, - 'gds.beta.graph.relationships.toUndirected': { - label: 'gds.beta.graph.relationships.toUndirected', - }, - 'gds.beta.graph.relationships.toUndirected.estimate': { - label: 'gds.beta.graph.relationships.toUndirected.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.beta.graphSage.mutate': { label: 'gds.beta.graphSage.mutate', + documentation: + 'The GraphSage algorithm inductively computes embeddings for nodes based on a their features and neighborhoods.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.beta.graphSage.mutate.estimate': { label: 'gds.beta.graphSage.mutate.estimate', + documentation: + 'The GraphSage algorithm inductively computes embeddings for nodes based on a their features and neighborhoods.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.beta.graphSage.stream': { label: 'gds.beta.graphSage.stream', + documentation: + 'The GraphSage algorithm inductively computes embeddings for nodes based on a their features and neighborhoods.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.beta.graphSage.stream.estimate': { label: 'gds.beta.graphSage.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.beta.graphSage.train': { label: 'gds.beta.graphSage.train', + documentation: + 'The GraphSage algorithm inductively computes embeddings for nodes based on a their features and neighborhoods.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.beta.graphSage.train.estimate': { label: 'gds.beta.graphSage.train.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.beta.graphSage.write': { label: 'gds.beta.graphSage.write', + documentation: + 'The GraphSage algorithm inductively computes embeddings for nodes based on a their features and neighborhoods.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.beta.graphSage.write.estimate': { label: 'gds.beta.graphSage.write.estimate', - }, - 'gds.beta.hashgnn.mutate': { - label: 'gds.beta.hashgnn.mutate', - }, - 'gds.beta.hashgnn.mutate.estimate': { - label: 'gds.beta.hashgnn.mutate.estimate', - }, - 'gds.beta.hashgnn.stream': { - label: 'gds.beta.hashgnn.stream', - }, - 'gds.beta.hashgnn.stream.estimate': { - label: 'gds.beta.hashgnn.stream.estimate', - }, - 'gds.beta.influenceMaximization.celf.mutate': { - label: 'gds.beta.influenceMaximization.celf.mutate', - }, - 'gds.beta.influenceMaximization.celf.mutate.estimate': { - label: 'gds.beta.influenceMaximization.celf.mutate.estimate', - }, - 'gds.beta.influenceMaximization.celf.stats': { - label: 'gds.beta.influenceMaximization.celf.stats', - }, - 'gds.beta.influenceMaximization.celf.stats.estimate': { - label: 'gds.beta.influenceMaximization.celf.stats.estimate', - }, - 'gds.beta.influenceMaximization.celf.stream': { - label: 'gds.beta.influenceMaximization.celf.stream', - }, - 'gds.beta.influenceMaximization.celf.stream.estimate': { - label: 'gds.beta.influenceMaximization.celf.stream.estimate', - }, - 'gds.beta.influenceMaximization.celf.write': { - label: 'gds.beta.influenceMaximization.celf.write', - }, - 'gds.beta.influenceMaximization.celf.write.estimate': { - label: 'gds.beta.influenceMaximization.celf.write.estimate', - }, - 'gds.beta.k1coloring.mutate': { - label: 'gds.beta.k1coloring.mutate', - }, - 'gds.beta.k1coloring.mutate.estimate': { - label: 'gds.beta.k1coloring.mutate.estimate', - }, - 'gds.beta.k1coloring.stats': { - label: 'gds.beta.k1coloring.stats', - }, - 'gds.beta.k1coloring.stats.estimate': { - label: 'gds.beta.k1coloring.stats.estimate', - }, - 'gds.beta.k1coloring.stream': { - label: 'gds.beta.k1coloring.stream', - }, - 'gds.beta.k1coloring.stream.estimate': { - label: 'gds.beta.k1coloring.stream.estimate', - }, - 'gds.beta.k1coloring.write': { - label: 'gds.beta.k1coloring.write', - }, - 'gds.beta.k1coloring.write.estimate': { - label: 'gds.beta.k1coloring.write.estimate', - }, - 'gds.beta.kmeans.mutate': { - label: 'gds.beta.kmeans.mutate', - }, - 'gds.beta.kmeans.mutate.estimate': { - label: 'gds.beta.kmeans.mutate.estimate', - }, - 'gds.beta.kmeans.stats': { - label: 'gds.beta.kmeans.stats', - }, - 'gds.beta.kmeans.stats.estimate': { - label: 'gds.beta.kmeans.stats.estimate', - }, - 'gds.beta.kmeans.stream': { - label: 'gds.beta.kmeans.stream', - }, - 'gds.beta.kmeans.stream.estimate': { - label: 'gds.beta.kmeans.stream.estimate', - }, - 'gds.beta.kmeans.write': { - label: 'gds.beta.kmeans.write', - }, - 'gds.beta.kmeans.write.estimate': { - label: 'gds.beta.kmeans.write.estimate', - }, - 'gds.beta.leiden.mutate': { - label: 'gds.beta.leiden.mutate', - }, - 'gds.beta.leiden.mutate.estimate': { - label: 'gds.beta.leiden.mutate.estimate', - }, - 'gds.beta.leiden.stats': { - label: 'gds.beta.leiden.stats', - }, - 'gds.beta.leiden.stats.estimate': { - label: 'gds.beta.leiden.stats.estimate', - }, - 'gds.beta.leiden.stream': { - label: 'gds.beta.leiden.stream', - }, - 'gds.beta.leiden.stream.estimate': { - label: 'gds.beta.leiden.stream.estimate', - }, - 'gds.beta.leiden.write': { - label: 'gds.beta.leiden.write', - }, - 'gds.beta.leiden.write.estimate': { - label: 'gds.beta.leiden.write.estimate', - }, - 'gds.beta.listProgress': { - label: 'gds.beta.listProgress', - }, - 'gds.beta.model.drop': { - label: 'gds.beta.model.drop', - }, - 'gds.beta.model.exists': { - label: 'gds.beta.model.exists', - }, - 'gds.beta.model.list': { - label: 'gds.beta.model.list', - }, - 'gds.beta.modularityOptimization.mutate': { - label: 'gds.beta.modularityOptimization.mutate', - }, - 'gds.beta.modularityOptimization.mutate.estimate': { - label: 'gds.beta.modularityOptimization.mutate.estimate', - }, - 'gds.beta.modularityOptimization.stream': { - label: 'gds.beta.modularityOptimization.stream', - }, - 'gds.beta.modularityOptimization.stream.estimate': { - label: 'gds.beta.modularityOptimization.stream.estimate', - }, - 'gds.beta.modularityOptimization.write': { - label: 'gds.beta.modularityOptimization.write', - }, - 'gds.beta.modularityOptimization.write.estimate': { - label: 'gds.beta.modularityOptimization.write.estimate', - }, - 'gds.beta.node2vec.mutate': { - label: 'gds.beta.node2vec.mutate', - }, - 'gds.beta.node2vec.mutate.estimate': { - label: 'gds.beta.node2vec.mutate.estimate', - }, - 'gds.beta.node2vec.stream': { - label: 'gds.beta.node2vec.stream', - }, - 'gds.beta.node2vec.stream.estimate': { - label: 'gds.beta.node2vec.stream.estimate', - }, - 'gds.beta.node2vec.write': { - label: 'gds.beta.node2vec.write', - }, - 'gds.beta.node2vec.write.estimate': { - label: 'gds.beta.node2vec.write.estimate', - }, - 'gds.beta.pipeline.drop': { - label: 'gds.beta.pipeline.drop', - }, - 'gds.beta.pipeline.exists': { - label: 'gds.beta.pipeline.exists', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.beta.pipeline.linkPrediction.addFeature': { label: 'gds.beta.pipeline.linkPrediction.addFeature', + documentation: + 'Add a feature step to an existing link prediction pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'featureType', + documentation: 'featureType :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.beta.pipeline.linkPrediction.addLogisticRegression': { label: 'gds.beta.pipeline.linkPrediction.addLogisticRegression', + documentation: + 'Add a logistic regression configuration to the parameter space of the link prediction train pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'gds.beta.pipeline.linkPrediction.addNodeProperty': { label: 'gds.beta.pipeline.linkPrediction.addNodeProperty', + documentation: + 'Add a node property step to an existing link prediction pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'procedureName', + documentation: 'procedureName :: STRING?', + }, + { + label: 'procedureConfiguration', + documentation: 'procedureConfiguration :: MAP?', + }, + ], }, 'gds.beta.pipeline.linkPrediction.addRandomForest': { label: 'gds.beta.pipeline.linkPrediction.addRandomForest', + documentation: + 'Add a random forest configuration to the parameter space of the link prediction train pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'gds.beta.pipeline.linkPrediction.configureSplit': { label: 'gds.beta.pipeline.linkPrediction.configureSplit', + documentation: 'Configures the split of the link prediction pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.beta.pipeline.linkPrediction.create': { label: 'gds.beta.pipeline.linkPrediction.create', + documentation: + 'Creates a link prediction pipeline in the pipeline catalog.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + ], }, 'gds.beta.pipeline.linkPrediction.predict.mutate': { label: 'gds.beta.pipeline.linkPrediction.predict.mutate', + documentation: + 'Predicts relationships for all non-connected node pairs based on a previously trained LinkPrediction model.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.beta.pipeline.linkPrediction.predict.mutate.estimate': { label: 'gds.beta.pipeline.linkPrediction.predict.mutate.estimate', + documentation: + 'Estimates memory for predicting relationships for all non-connected node pairs based on a previously trained LinkPrediction model', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.beta.pipeline.linkPrediction.predict.stream': { label: 'gds.beta.pipeline.linkPrediction.predict.stream', + documentation: + 'Predicts relationships for all non-connected node pairs based on a previously trained LinkPrediction model.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.beta.pipeline.linkPrediction.predict.stream.estimate': { label: 'gds.beta.pipeline.linkPrediction.predict.stream.estimate', + documentation: + 'Estimates memory for predicting relationships for all non-connected node pairs based on a previously trained LinkPrediction model', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.beta.pipeline.linkPrediction.train': { label: 'gds.beta.pipeline.linkPrediction.train', + documentation: 'Trains a link prediction model based on a pipeline', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.beta.pipeline.linkPrediction.train.estimate': { label: 'gds.beta.pipeline.linkPrediction.train.estimate', - }, - 'gds.beta.pipeline.list': { - label: 'gds.beta.pipeline.list', + documentation: 'Estimates memory for applying a linkPrediction model', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.addLogisticRegression': { label: 'gds.beta.pipeline.nodeClassification.addLogisticRegression', + documentation: + 'Add a logistic regression configuration to the parameter space of the node classification train pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.addNodeProperty': { label: 'gds.beta.pipeline.nodeClassification.addNodeProperty', + documentation: + 'Add a node property step to an existing node classification training pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'procedureName', + documentation: 'procedureName :: STRING?', + }, + { + label: 'procedureConfiguration', + documentation: 'procedureConfiguration :: MAP?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.addRandomForest': { label: 'gds.beta.pipeline.nodeClassification.addRandomForest', + documentation: + 'Add a random forest configuration to the parameter space of the node classification train pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.configureSplit': { label: 'gds.beta.pipeline.nodeClassification.configureSplit', + documentation: + 'Configures the split of the node classification training pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.create': { label: 'gds.beta.pipeline.nodeClassification.create', + documentation: + 'Creates a node classification training pipeline in the pipeline catalog.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.predict.mutate': { label: 'gds.beta.pipeline.nodeClassification.predict.mutate', + documentation: + 'Predicts classes for all nodes based on a previously trained pipeline model', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.predict.mutate.estimate': { label: 'gds.beta.pipeline.nodeClassification.predict.mutate.estimate', + documentation: + 'Estimates memory for predicting classes for all nodes based on a previously trained pipeline model', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.predict.stream': { label: 'gds.beta.pipeline.nodeClassification.predict.stream', + documentation: + 'Predicts classes for all nodes based on a previously trained pipeline model', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.predict.stream.estimate': { label: 'gds.beta.pipeline.nodeClassification.predict.stream.estimate', + documentation: + 'Estimates memory for predicting classes for all nodes based on a previously trained pipeline model', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.predict.write': { label: 'gds.beta.pipeline.nodeClassification.predict.write', + documentation: + 'Predicts classes for all nodes based on a previously trained pipeline model', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.predict.write.estimate': { label: 'gds.beta.pipeline.nodeClassification.predict.write.estimate', + documentation: + 'Estimates memory for predicting classes for all nodes based on a previously trained pipeline model', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.selectFeatures': { label: 'gds.beta.pipeline.nodeClassification.selectFeatures', + documentation: + 'Add one or several features to an existing node classification training pipeline.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'nodeProperties', + documentation: 'nodeProperties :: ANY?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.train': { label: 'gds.beta.pipeline.nodeClassification.train', + documentation: 'Trains a node classification model based on a pipeline', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.beta.pipeline.nodeClassification.train.estimate': { label: 'gds.beta.pipeline.nodeClassification.train.estimate', - }, - 'gds.beta.spanningTree.mutate': { - label: 'gds.beta.spanningTree.mutate', - }, - 'gds.beta.spanningTree.mutate.estimate': { - label: 'gds.beta.spanningTree.mutate.estimate', - }, - 'gds.beta.spanningTree.stats': { - label: 'gds.beta.spanningTree.stats', - }, - 'gds.beta.spanningTree.stats.estimate': { - label: 'gds.beta.spanningTree.stats.estimate', - }, - 'gds.beta.spanningTree.stream': { - label: 'gds.beta.spanningTree.stream', - }, - 'gds.beta.spanningTree.stream.estimate': { - label: 'gds.beta.spanningTree.stream.estimate', - }, - 'gds.beta.spanningTree.write': { - label: 'gds.beta.spanningTree.write', - }, - 'gds.beta.spanningTree.write.estimate': { - label: 'gds.beta.spanningTree.write.estimate', - }, - 'gds.beta.steinerTree.mutate': { - label: 'gds.beta.steinerTree.mutate', - }, - 'gds.beta.steinerTree.stats': { - label: 'gds.beta.steinerTree.stats', - }, - 'gds.beta.steinerTree.stream': { - label: 'gds.beta.steinerTree.stream', - }, - 'gds.beta.steinerTree.write': { - label: 'gds.beta.steinerTree.write', + documentation: + 'Estimates memory for training a node classification model based on a pipeline', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.betweenness.mutate': { label: 'gds.betweenness.mutate', + documentation: + 'Betweenness centrality measures the relative information flow that passes through a node.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.betweenness.mutate.estimate': { label: 'gds.betweenness.mutate.estimate', + documentation: + 'Betweenness centrality measures the relative information flow that passes through a node.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.betweenness.stats': { label: 'gds.betweenness.stats', + documentation: + 'Betweenness centrality measures the relative information flow that passes through a node.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.betweenness.stats.estimate': { label: 'gds.betweenness.stats.estimate', + documentation: + 'Betweenness centrality measures the relative information flow that passes through a node.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.betweenness.stream': { label: 'gds.betweenness.stream', + documentation: + 'Betweenness centrality measures the relative information flow that passes through a node.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.betweenness.stream.estimate': { label: 'gds.betweenness.stream.estimate', + documentation: + 'Betweenness centrality measures the relative information flow that passes through a node.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.betweenness.write': { label: 'gds.betweenness.write', + documentation: + 'Betweenness centrality measures the relative information flow that passes through a node.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.betweenness.write.estimate': { label: 'gds.betweenness.write.estimate', + documentation: + 'Betweenness centrality measures the relative information flow that passes through a node.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.bfs.mutate': { label: 'gds.bfs.mutate', + documentation: + 'BFS is a traversal algorithm, which explores all of the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.bfs.mutate.estimate': { label: 'gds.bfs.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.bfs.stats': { label: 'gds.bfs.stats', + documentation: + 'BFS is a traversal algorithm, which explores all of the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.bfs.stats.estimate': { label: 'gds.bfs.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.bfs.stream': { label: 'gds.bfs.stream', + documentation: + 'BFS is a traversal algorithm, which explores all of the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.bfs.stream.estimate': { label: 'gds.bfs.stream.estimate', + documentation: + 'BFS is a traversal algorithm, which explores all of the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.closeness.harmonic.mutate': { + label: 'gds.closeness.harmonic.mutate', + documentation: + 'Harmonic centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.closeness.harmonic.stats': { + label: 'gds.closeness.harmonic.stats', + documentation: + 'Harmonic centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.closeness.harmonic.stream': { + label: 'gds.closeness.harmonic.stream', + documentation: + 'Harmonic centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.closeness.harmonic.write': { + label: 'gds.closeness.harmonic.write', + documentation: + 'Harmonic centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.closeness.mutate': { + label: 'gds.closeness.mutate', + documentation: + 'Closeness centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.closeness.stats': { + label: 'gds.closeness.stats', + documentation: + 'Closeness centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.closeness.stream': { + label: 'gds.closeness.stream', + documentation: + 'Closeness centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.closeness.write': { + label: 'gds.closeness.write', + documentation: + 'Closeness centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.collapsePath.mutate': { + label: 'gds.collapsePath.mutate', + documentation: + 'Collapse Path algorithm is a traversal algorithm capable of creating relationships between the start and end nodes of a traversal', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.conductance.stream': { + label: 'gds.conductance.stream', + documentation: + 'Evaluates a division of nodes into communities based on the proportion of relationships that cross community boundaries.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.config.defaults.list': { + label: 'gds.config.defaults.list', + documentation: + 'List defaults; global by default, but also optionally for a specific user and/ or key', + parameters: [ + { + label: 'parameters', + documentation: 'parameters = {} :: MAP?', + }, + ], + }, + 'gds.config.defaults.set': { + label: 'gds.config.defaults.set', + documentation: + 'Set a default; global by, default, but also optionally for a specific user', + parameters: [ + { + label: 'key', + documentation: 'key :: STRING?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + { + label: 'username', + documentation: + 'username = d81eb72e-c499-4f78-90c7-0c76123606a2 :: STRING?', + }, + ], + }, + 'gds.config.limits.list': { + label: 'gds.config.limits.list', + documentation: + 'List limits; global by default, but also optionally for a specific user and/ or key', + parameters: [ + { + label: 'parameters', + documentation: 'parameters = {} :: MAP?', + }, + ], + }, + 'gds.config.limits.set': { + label: 'gds.config.limits.set', + documentation: + 'Set a limit; global by, default, but also optionally for a specific user', + parameters: [ + { + label: 'key', + documentation: 'key :: STRING?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + { + label: 'username', + documentation: + 'username = d81eb72e-c499-4f78-90c7-0c76123606a2 :: STRING?', + }, + ], + }, + 'gds.dag.longestPath.stream': { + label: 'gds.dag.longestPath.stream', + documentation: 'Returns the longest paths ending in given target nodes', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.dag.topologicalSort.stream': { + label: 'gds.dag.topologicalSort.stream', + documentation: + 'Returns all the nodes in the graph that are not part of a cycle or depend on a cycle, sorted in a topological order', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.debug.arrow': { label: 'gds.debug.arrow', + documentation: + 'Returns details about the status of the GDS Flight server', + parameters: [], }, 'gds.debug.sysInfo': { label: 'gds.debug.sysInfo', + documentation: 'Returns details about the status of the system', + parameters: [], }, 'gds.degree.mutate': { label: 'gds.degree.mutate', + documentation: + 'Degree centrality measures the number of incoming and outgoing relationships from a node.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.degree.mutate.estimate': { label: 'gds.degree.mutate.estimate', + documentation: + 'Degree centrality measures the number of incoming and outgoing relationships from a node.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.degree.stats': { label: 'gds.degree.stats', + documentation: + 'Degree centrality measures the number of incoming and outgoing relationships from a node.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.degree.stats.estimate': { label: 'gds.degree.stats.estimate', + documentation: + 'Degree centrality measures the number of incoming and outgoing relationships from a node.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.degree.stream': { label: 'gds.degree.stream', + documentation: + 'Degree centrality measures the number of incoming and outgoing relationships from a node.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.degree.stream.estimate': { label: 'gds.degree.stream.estimate', + documentation: + 'Degree centrality measures the number of incoming and outgoing relationships from a node.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.degree.write': { label: 'gds.degree.write', + documentation: + 'Degree centrality measures the number of incoming and outgoing relationships from a node.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.degree.write.estimate': { label: 'gds.degree.write.estimate', + documentation: + 'Degree centrality measures the number of incoming and outgoing relationships from a node.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.dfs.mutate': { label: 'gds.dfs.mutate', + documentation: + 'Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures. The algorithm starts at the root node (selecting some arbitrary node as the root node in the case of a graph) and explores as far as possible along each branch before backtracking.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.dfs.mutate.estimate': { label: 'gds.dfs.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.dfs.stream': { label: 'gds.dfs.stream', + documentation: + 'Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures. The algorithm starts at the root node (selecting some arbitrary node as the root node in the case of a graph) and explores as far as possible along each branch before backtracking.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.dfs.stream.estimate': { label: 'gds.dfs.stream.estimate', + documentation: + 'Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures. The algorithm starts at the root node (selecting some arbitrary node as the root node in the case of a graph) and explores as far as possible along each branch before backtracking.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.eigenvector.mutate': { label: 'gds.eigenvector.mutate', + documentation: + 'Eigenvector Centrality is an algorithm that measures the transitive influence or connectivity of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.eigenvector.mutate.estimate': { label: 'gds.eigenvector.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.eigenvector.stats': { label: 'gds.eigenvector.stats', + documentation: + 'Eigenvector Centrality is an algorithm that measures the transitive influence or connectivity of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.eigenvector.stats.estimate': { label: 'gds.eigenvector.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.eigenvector.stream': { label: 'gds.eigenvector.stream', + documentation: + 'Eigenvector Centrality is an algorithm that measures the transitive influence or connectivity of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.eigenvector.stream.estimate': { label: 'gds.eigenvector.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.eigenvector.write': { label: 'gds.eigenvector.write', + documentation: + 'Eigenvector Centrality is an algorithm that measures the transitive influence or connectivity of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.eigenvector.write.estimate': { label: 'gds.eigenvector.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.ephemeral.database.create': { + label: 'gds.ephemeral.database.create', + documentation: 'Creates an ephemeral database from a GDS graph.', + parameters: [ + { + label: 'dbName', + documentation: 'dbName :: STRING?', + }, + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + ], + }, + 'gds.ephemeral.database.drop': { + label: 'gds.ephemeral.database.drop', + documentation: 'Drop an ephemeral database backed by an in-memory graph', + parameters: [ + { + label: 'dbName', + documentation: 'dbName :: STRING?', + }, + ], }, 'gds.fastRP.mutate': { label: 'gds.fastRP.mutate', + documentation: + 'Random Projection produces node embeddings via the fastrp algorithm', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.fastRP.mutate.estimate': { label: 'gds.fastRP.mutate.estimate', + documentation: + 'Random Projection produces node embeddings via the fastrp algorithm', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.fastRP.stats': { label: 'gds.fastRP.stats', + documentation: + 'Random Projection produces node embeddings via the fastrp algorithm', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.fastRP.stats.estimate': { label: 'gds.fastRP.stats.estimate', + documentation: + 'Random Projection produces node embeddings via the fastrp algorithm', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.fastRP.stream': { label: 'gds.fastRP.stream', + documentation: + 'Random Projection produces node embeddings via the fastrp algorithm', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.fastRP.stream.estimate': { label: 'gds.fastRP.stream.estimate', + documentation: + 'Random Projection produces node embeddings via the fastrp algorithm', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.fastRP.write': { label: 'gds.fastRP.write', + documentation: + 'Random Projection produces node embeddings via the fastrp algorithm', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.fastRP.write.estimate': { label: 'gds.fastRP.write.estimate', - }, - 'gds.graph.deleteRelationships': { - label: 'gds.graph.deleteRelationships', + documentation: + 'Random Projection produces node embeddings via the fastrp algorithm', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.graph.drop': { label: 'gds.graph.drop', + documentation: + 'Drops a named graph from the catalog and frees up the resources it occupies.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: ANY?', + }, + { + label: 'failIfMissing', + documentation: 'failIfMissing = true :: BOOLEAN?', + }, + { + label: 'dbName', + documentation: 'dbName = :: STRING?', + }, + { + label: 'username', + documentation: 'username = :: STRING?', + }, + ], }, 'gds.graph.exists': { label: 'gds.graph.exists', + documentation: 'Checks if a graph exists in the catalog.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + ], }, 'gds.graph.export': { label: 'gds.graph.export', + documentation: 'Exports a named graph into a new offline Neo4j database.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.graph.export.csv': { + label: 'gds.graph.export.csv', + documentation: 'Exports a named graph to CSV files.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.graph.export.csv.estimate': { + label: 'gds.graph.export.csv.estimate', + documentation: + 'Estimate the required disk space for exporting a named graph to CSV files.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.graph.filter': { + label: 'gds.graph.filter', + documentation: + 'Applies node and relationship predicates on a graph and stores the result as a new graph in the catalog.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'fromGraphName', + documentation: 'fromGraphName :: STRING?', + }, + { + label: 'nodeFilter', + documentation: 'nodeFilter :: STRING?', + }, + { + label: 'relationshipFilter', + documentation: 'relationshipFilter :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.graph.generate': { + label: 'gds.graph.generate', + documentation: + 'Computes a random graph, which will be stored in the graph catalog.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'nodeCount', + documentation: 'nodeCount :: INTEGER?', + }, + { + label: 'averageDegree', + documentation: 'averageDegree :: INTEGER?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.graph.graphProperty.drop': { + label: 'gds.graph.graphProperty.drop', + documentation: 'Removes a graph property from a projected graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'graphProperty', + documentation: 'graphProperty :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.graph.graphProperty.stream': { + label: 'gds.graph.graphProperty.stream', + documentation: 'Streams the given graph property.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'graphProperty', + documentation: 'graphProperty :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.list': { label: 'gds.graph.list', + documentation: + 'Lists information about named graphs stored in the catalog.', + parameters: [ + { + label: 'graphName', + documentation: + 'graphName = d9b6394a-9482-4929-adab-f97df578a6c6 :: STRING?', + }, + ], + }, + 'gds.graph.nodeLabel.mutate': { + label: 'gds.graph.nodeLabel.mutate', + documentation: 'Mutates the in-memory graph with the given node Label.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'nodeLabel', + documentation: 'nodeLabel :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], + }, + 'gds.graph.nodeLabel.write': { + label: 'gds.graph.nodeLabel.write', + documentation: 'Writes the given node Label to an online Neo4j database.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'nodeLabel', + documentation: 'nodeLabel :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.graph.nodeProperties.drop': { label: 'gds.graph.nodeProperties.drop', + documentation: 'Removes node properties from a projected graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'nodeProperties', + documentation: 'nodeProperties :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.nodeProperties.stream': { label: 'gds.graph.nodeProperties.stream', + documentation: 'Streams the given node properties.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'nodeProperties', + documentation: 'nodeProperties :: ANY?', + }, + { + label: 'nodeLabels', + documentation: 'nodeLabels = [*] :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.nodeProperties.write': { label: 'gds.graph.nodeProperties.write', + documentation: + 'Writes the given node properties to an online Neo4j database.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'nodeProperties', + documentation: 'nodeProperties :: ANY?', + }, + { + label: 'nodeLabels', + documentation: 'nodeLabels = [*] :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.nodeProperty.stream': { label: 'gds.graph.nodeProperty.stream', + documentation: 'Streams the given node property.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'nodeProperties', + documentation: 'nodeProperties :: STRING?', + }, + { + label: 'nodeLabels', + documentation: 'nodeLabels = [*] :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.project': { label: 'gds.graph.project', + documentation: + 'Creates a named graph in the catalog for use by algorithms.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'nodeProjection', + documentation: 'nodeProjection :: ANY?', + }, + { + label: 'relationshipProjection', + documentation: 'relationshipProjection :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.project.cypher': { label: 'gds.graph.project.cypher', + documentation: + 'Creates a named graph in the catalog for use by algorithms.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'nodeQuery', + documentation: 'nodeQuery :: STRING?', + }, + { + label: 'relationshipQuery', + documentation: 'relationshipQuery :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.project.cypher.estimate': { label: 'gds.graph.project.cypher.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'nodeQuery', + documentation: 'nodeQuery :: STRING?', + }, + { + label: 'relationshipQuery', + documentation: 'relationshipQuery :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.project.estimate': { label: 'gds.graph.project.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'nodeProjection', + documentation: 'nodeProjection :: ANY?', + }, + { + label: 'relationshipProjection', + documentation: 'relationshipProjection :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.relationship.write': { label: 'gds.graph.relationship.write', + documentation: + 'Writes the given relationship and an optional relationship property to an online Neo4j database.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'relationshipType', + documentation: 'relationshipType :: STRING?', + }, + { + label: 'relationshipProperty', + documentation: 'relationshipProperty = :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.relationshipProperties.stream': { label: 'gds.graph.relationshipProperties.stream', + documentation: 'Streams the given relationship properties.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'relationshipProperties', + documentation: 'relationshipProperties :: LIST? OF STRING?', + }, + { + label: 'relationshipTypes', + documentation: 'relationshipTypes = [*] :: LIST? OF STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.relationshipProperties.write': { label: 'gds.graph.relationshipProperties.write', + documentation: + 'Writes the given relationship and a list of relationship properties to an online Neo4j database.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'relationshipType', + documentation: 'relationshipType :: STRING?', + }, + { + label: 'relationshipProperties', + documentation: 'relationshipProperties :: LIST? OF STRING?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.graph.relationshipProperty.stream': { label: 'gds.graph.relationshipProperty.stream', + documentation: 'Streams the given relationship property.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'relationshipProperty', + documentation: 'relationshipProperty :: STRING?', + }, + { + label: 'relationshipTypes', + documentation: 'relationshipTypes = [*] :: LIST? OF STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.relationships.drop': { label: 'gds.graph.relationships.drop', - }, - 'gds.graph.removeNodeProperties': { - label: 'gds.graph.removeNodeProperties', + documentation: + 'Delete the relationship type for a given graph stored in the graph-catalog.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'relationshipType', + documentation: 'relationshipType :: STRING?', + }, + ], + }, + 'gds.graph.relationships.stream': { + label: 'gds.graph.relationships.stream', + documentation: 'Streams the given relationship source/target pairs', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'relationshipTypes', + documentation: 'relationshipTypes = [*] :: LIST? OF STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.graph.relationships.toUndirected': { + label: 'gds.graph.relationships.toUndirected', + documentation: + 'The ToUndirected procedure converts directed relationships to undirected relationships', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.graph.relationships.toUndirected.estimate': { + label: 'gds.graph.relationships.toUndirected.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.graph.sample.cnarw': { label: 'gds.graph.sample.cnarw', + documentation: + 'Constructs a random subgraph based on common neighbour aware random walks', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'fromGraphName', + documentation: 'fromGraphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.sample.cnarw.estimate': { label: 'gds.graph.sample.cnarw.estimate', + documentation: + 'Estimate memory requirements for sampling graph using CNARW algorithm', + parameters: [ + { + label: 'fromGraphName', + documentation: 'fromGraphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.graph.sample.rwr': { label: 'gds.graph.sample.rwr', - }, - 'gds.graph.streamNodeProperties': { - label: 'gds.graph.streamNodeProperties', - }, - 'gds.graph.streamNodeProperty': { - label: 'gds.graph.streamNodeProperty', - }, - 'gds.graph.streamRelationshipProperties': { - label: 'gds.graph.streamRelationshipProperties', - }, - 'gds.graph.streamRelationshipProperty': { - label: 'gds.graph.streamRelationshipProperty', - }, - 'gds.graph.writeNodeProperties': { - label: 'gds.graph.writeNodeProperties', - }, - 'gds.graph.writeRelationship': { - label: 'gds.graph.writeRelationship', + documentation: + 'Constructs a random subgraph based on random walks with restarts', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'fromGraphName', + documentation: 'fromGraphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.hashgnn.mutate': { + label: 'gds.hashgnn.mutate', + documentation: + 'HashGNN creates node embeddings by hashing and message passing.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.hashgnn.mutate.estimate': { + label: 'gds.hashgnn.mutate.estimate', + documentation: + 'HashGNN creates node embeddings by hashing and message passing.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.hashgnn.stream': { + label: 'gds.hashgnn.stream', + documentation: + 'HashGNN creates node embeddings by hashing and message passing.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.hashgnn.stream.estimate': { + label: 'gds.hashgnn.stream.estimate', + documentation: + 'HashGNN creates node embeddings by hashing and message passing.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.hits.mutate': { + label: 'gds.hits.mutate', + documentation: + 'Hyperlink-Induced Topic Search (HITS) is a link analysis algorithm that rates nodes', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.hits.mutate.estimate': { + label: 'gds.hits.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.hits.stats': { + label: 'gds.hits.stats', + documentation: + 'Hyperlink-Induced Topic Search (HITS) is a link analysis algorithm that rates nodes', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.hits.stats.estimate': { + label: 'gds.hits.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.hits.stream': { + label: 'gds.hits.stream', + documentation: + 'Hyperlink-Induced Topic Search (HITS) is a link analysis algorithm that rates nodes', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.hits.stream.estimate': { + label: 'gds.hits.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.hits.write': { + label: 'gds.hits.write', + documentation: + 'Hyperlink-Induced Topic Search (HITS) is a link analysis algorithm that rates nodes', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.hits.write.estimate': { + label: 'gds.hits.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.influenceMaximization.celf.mutate': { + label: 'gds.influenceMaximization.celf.mutate', + documentation: + 'The Cost Effective Lazy Forward (CELF) algorithm aims to find k nodes that maximize the expected spread of influence in the network.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.influenceMaximization.celf.mutate.estimate': { + label: 'gds.influenceMaximization.celf.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.influenceMaximization.celf.stats': { + label: 'gds.influenceMaximization.celf.stats', + documentation: + 'Executes the algorithm and returns result statistics without writing the result to Neo4j.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.influenceMaximization.celf.stats.estimate': { + label: 'gds.influenceMaximization.celf.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.influenceMaximization.celf.stream': { + label: 'gds.influenceMaximization.celf.stream', + documentation: + 'The Cost Effective Lazy Forward (CELF) algorithm aims to find k nodes that maximize the expected spread of influence in the network.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.influenceMaximization.celf.stream.estimate': { + label: 'gds.influenceMaximization.celf.stream.estimate', + documentation: + 'The Cost Effective Lazy Forward (CELF) algorithm aims to find k nodes that maximize the expected spread of influence in the network.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.influenceMaximization.celf.write': { + label: 'gds.influenceMaximization.celf.write', + documentation: + 'The Cost Effective Lazy Forward (CELF) algorithm aims to find k nodes that maximize the expected spread of influence in the network.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.influenceMaximization.celf.write.estimate': { + label: 'gds.influenceMaximization.celf.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.k1coloring.mutate': { + label: 'gds.k1coloring.mutate', + documentation: + 'The K-1 Coloring algorithm assigns a color to every node in the graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.k1coloring.mutate.estimate': { + label: 'gds.k1coloring.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.k1coloring.stats': { + label: 'gds.k1coloring.stats', + documentation: + 'The K-1 Coloring algorithm assigns a color to every node in the graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.k1coloring.stats.estimate': { + label: 'gds.k1coloring.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.k1coloring.stream': { + label: 'gds.k1coloring.stream', + documentation: + 'The K-1 Coloring algorithm assigns a color to every node in the graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.k1coloring.stream.estimate': { + label: 'gds.k1coloring.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.k1coloring.write': { + label: 'gds.k1coloring.write', + documentation: + 'The K-1 Coloring algorithm assigns a color to every node in the graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.k1coloring.write.estimate': { + label: 'gds.k1coloring.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.kSpanningTree.write': { + label: 'gds.kSpanningTree.write', + documentation: + 'The K-spanning tree algorithm starts from a root node and returns a spanning tree with exactly k nodes', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.kcore.mutate': { label: 'gds.kcore.mutate', + documentation: 'It computes the k-core values in a network', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.kcore.mutate.estimate': { label: 'gds.kcore.mutate.estimate', + documentation: 'It computes the k-core values in a network', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.kcore.stats': { label: 'gds.kcore.stats', + documentation: 'It computes the k-core values in a network', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.kcore.stats.estimate': { label: 'gds.kcore.stats.estimate', + documentation: 'It computes the k-core values in a network', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.kcore.stream': { label: 'gds.kcore.stream', + documentation: 'It computes the k-core values in a network', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.kcore.stream.estimate': { label: 'gds.kcore.stream.estimate', + documentation: 'It computes the k-core values in a network', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.kcore.write': { label: 'gds.kcore.write', + documentation: 'It computes the k-core values in a network', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.kcore.write.estimate': { label: 'gds.kcore.write.estimate', + documentation: 'It computes the k-core values in a network', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.kmeans.mutate': { + label: 'gds.kmeans.mutate', + documentation: + 'The Kmeans algorithm clusters nodes into different communities based on Euclidean distance', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.kmeans.mutate.estimate': { + label: 'gds.kmeans.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.kmeans.stats': { + label: 'gds.kmeans.stats', + documentation: + 'The Kmeans algorithm clusters nodes into different communities based on Euclidean distance', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.kmeans.stats.estimate': { + label: 'gds.kmeans.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.kmeans.stream': { + label: 'gds.kmeans.stream', + documentation: + 'The Kmeans algorithm clusters nodes into different communities based on Euclidean distance', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.kmeans.stream.estimate': { + label: 'gds.kmeans.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.kmeans.write': { + label: 'gds.kmeans.write', + documentation: + 'The Kmeans algorithm clusters nodes into different communities based on Euclidean distance', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.kmeans.write.estimate': { + label: 'gds.kmeans.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.knn.filtered.mutate': { + label: 'gds.knn.filtered.mutate', + documentation: + 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes. KNN computes distances based on the similarity of node properties. Filtered KNN extends this functionality, allowing filtering on source nodes and target nodes, respectively.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.knn.filtered.mutate.estimate': { + label: 'gds.knn.filtered.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.knn.filtered.stats': { + label: 'gds.knn.filtered.stats', + documentation: + 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes. KNN computes distances based on the similarity of node properties. Filtered KNN extends this functionality, allowing filtering on source nodes and target nodes, respectively.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.knn.filtered.stats.estimate': { + label: 'gds.knn.filtered.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.knn.filtered.stream': { + label: 'gds.knn.filtered.stream', + documentation: + 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes. KNN computes distances based on the similarity of node properties. Filtered KNN extends this functionality, allowing filtering on source nodes and target nodes, respectively.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.knn.filtered.stream.estimate': { + label: 'gds.knn.filtered.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.knn.filtered.write': { + label: 'gds.knn.filtered.write', + documentation: + 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes. KNN computes distances based on the similarity of node properties. Filtered KNN extends this functionality, allowing filtering on source nodes and target nodes, respectively.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.knn.filtered.write.estimate': { + label: 'gds.knn.filtered.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.knn.mutate': { label: 'gds.knn.mutate', + documentation: + 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes.KNN computes distances based on the similarity of node properties', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.knn.mutate.estimate': { label: 'gds.knn.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.knn.stats': { label: 'gds.knn.stats', + documentation: + 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes.KNN computes distances based on the similarity of node properties', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.knn.stats.estimate': { label: 'gds.knn.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.knn.stream': { label: 'gds.knn.stream', + documentation: + 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes.KNN computes distances based on the similarity of node properties', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.knn.stream.estimate': { label: 'gds.knn.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.knn.write': { label: 'gds.knn.write', + documentation: + 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes.KNN computes distances based on the similarity of node properties', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.knn.write.estimate': { label: 'gds.knn.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.labelPropagation.mutate': { label: 'gds.labelPropagation.mutate', + documentation: + 'The Label Propagation algorithm is a fast algorithm for finding communities in a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.labelPropagation.mutate.estimate': { label: 'gds.labelPropagation.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.labelPropagation.stats': { label: 'gds.labelPropagation.stats', + documentation: + 'The Label Propagation algorithm is a fast algorithm for finding communities in a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.labelPropagation.stats.estimate': { label: 'gds.labelPropagation.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.labelPropagation.stream': { label: 'gds.labelPropagation.stream', + documentation: + 'The Label Propagation algorithm is a fast algorithm for finding communities in a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.labelPropagation.stream.estimate': { label: 'gds.labelPropagation.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.labelPropagation.write': { label: 'gds.labelPropagation.write', + documentation: + 'The Label Propagation algorithm is a fast algorithm for finding communities in a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.labelPropagation.write.estimate': { label: 'gds.labelPropagation.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.leiden.mutate': { + label: 'gds.leiden.mutate', + documentation: + 'Leiden is a community detection algorithm, which guarantees that communities are well connected', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.leiden.mutate.estimate': { + label: 'gds.leiden.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.leiden.stats': { + label: 'gds.leiden.stats', + documentation: + 'Executes the algorithm and returns result statistics without writing the result to Neo4j.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.leiden.stats.estimate': { + label: 'gds.leiden.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.leiden.stream': { + label: 'gds.leiden.stream', + documentation: + 'Leiden is a community detection algorithm, which guarantees that communities are well connected', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.leiden.stream.estimate': { + label: 'gds.leiden.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.leiden.write': { + label: 'gds.leiden.write', + documentation: + 'Leiden is a community detection algorithm, which guarantees that communities are well connected', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.leiden.write.estimate': { + label: 'gds.leiden.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.license.state': { + label: 'gds.license.state', + documentation: 'Returns details about the license state', + parameters: [], }, 'gds.list': { label: 'gds.list', + documentation: + 'CALL gds.list - lists all algorithm procedures, their description and signature', + parameters: [ + { + label: 'name', + documentation: 'name = :: STRING?', + }, + ], + }, + 'gds.listProgress': { + label: 'gds.listProgress', + documentation: 'List progress events for currently running tasks.', + parameters: [ + { + label: 'jobId', + documentation: 'jobId = :: STRING?', + }, + ], }, 'gds.localClusteringCoefficient.mutate': { label: 'gds.localClusteringCoefficient.mutate', + documentation: + 'The local clustering coefficient is a metric quantifying how connected the neighborhood of a node is.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.localClusteringCoefficient.mutate.estimate': { label: 'gds.localClusteringCoefficient.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.localClusteringCoefficient.stats': { label: 'gds.localClusteringCoefficient.stats', + documentation: + 'Executes the algorithm and returns result statistics without writing the result to Neo4j.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.localClusteringCoefficient.stats.estimate': { label: 'gds.localClusteringCoefficient.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.localClusteringCoefficient.stream': { label: 'gds.localClusteringCoefficient.stream', + documentation: + 'The local clustering coefficient is a metric quantifying how connected the neighborhood of a node is.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.localClusteringCoefficient.stream.estimate': { label: 'gds.localClusteringCoefficient.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.localClusteringCoefficient.write': { label: 'gds.localClusteringCoefficient.write', + documentation: + 'The local clustering coefficient is a metric quantifying how connected the neighborhood of a node is.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.localClusteringCoefficient.write.estimate': { label: 'gds.localClusteringCoefficient.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.louvain.mutate': { label: 'gds.louvain.mutate', + documentation: + 'The Louvain method for community detection is an algorithm for detecting communities in networks.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.louvain.mutate.estimate': { label: 'gds.louvain.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.louvain.stats': { label: 'gds.louvain.stats', + documentation: + 'Executes the algorithm and returns result statistics without writing the result to Neo4j.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.louvain.stats.estimate': { label: 'gds.louvain.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.louvain.stream': { label: 'gds.louvain.stream', + documentation: + 'The Louvain method for community detection is an algorithm for detecting communities in networks.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.louvain.stream.estimate': { label: 'gds.louvain.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.louvain.write': { label: 'gds.louvain.write', + documentation: + 'The Louvain method for community detection is an algorithm for detecting communities in networks.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.louvain.write.estimate': { label: 'gds.louvain.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.maxkcut.mutate': { + label: 'gds.maxkcut.mutate', + documentation: + 'Approximate Maximum k-cut maps each node into one of k disjoint communities trying to maximize the sum of weights of relationships between these communities.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.maxkcut.mutate.estimate': { + label: 'gds.maxkcut.mutate.estimate', + documentation: + 'Approximate Maximum k-cut maps each node into one of k disjoint communities trying to maximize the sum of weights of relationships between these communities.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.maxkcut.stream': { + label: 'gds.maxkcut.stream', + documentation: + 'Approximate Maximum k-cut maps each node into one of k disjoint communities trying to maximize the sum of weights of relationships between these communities.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.maxkcut.stream.estimate': { + label: 'gds.maxkcut.stream.estimate', + documentation: + 'Approximate Maximum k-cut maps each node into one of k disjoint communities trying to maximize the sum of weights of relationships between these communities.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.model.delete': { + label: 'gds.model.delete', + documentation: 'Deletes a stored model from disk.', + parameters: [ + { + label: 'modelName', + documentation: 'modelName :: STRING?', + }, + ], + }, + 'gds.model.drop': { + label: 'gds.model.drop', + documentation: + 'Drops a loaded model and frees up the resources it occupies.', + parameters: [ + { + label: 'modelName', + documentation: 'modelName :: STRING?', + }, + { + label: 'failIfMissing', + documentation: 'failIfMissing = true :: BOOLEAN?', + }, + ], + }, + 'gds.model.exists': { + label: 'gds.model.exists', + documentation: 'Checks if a given model exists in the model catalog.', + parameters: [ + { + label: 'modelName', + documentation: 'modelName :: STRING?', + }, + ], + }, + 'gds.model.list': { + label: 'gds.model.list', + documentation: 'Lists all models contained in the model catalog.', + parameters: [ + { + label: 'modelName', + documentation: 'modelName = __NO_VALUE :: STRING?', + }, + ], + }, + 'gds.model.load': { + label: 'gds.model.load', + documentation: 'Load a stored model into main memory.', + parameters: [ + { + label: 'modelName', + documentation: 'modelName :: STRING?', + }, + ], + }, + 'gds.model.publish': { + label: 'gds.model.publish', + documentation: 'Make a trained model accessible by all users', + parameters: [ + { + label: 'modelName', + documentation: 'modelName :: STRING?', + }, + ], + }, + 'gds.model.store': { + label: 'gds.model.store', + documentation: 'Store the selected model to disk.', + parameters: [ + { + label: 'modelName', + documentation: 'modelName :: STRING?', + }, + { + label: 'failIfUnsupported', + documentation: 'failIfUnsupported = true :: BOOLEAN?', + }, + ], + }, + 'gds.modularity.stats': { + label: 'gds.modularity.stats', + documentation: + 'The Modularity procedure computes the modularity scores for a given set of communities/', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.modularity.stats.estimate': { + label: 'gds.modularity.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.modularity.stream': { + label: 'gds.modularity.stream', + documentation: + 'The Modularity procedure computes the modularity scores for a given set of communities/', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.modularity.stream.estimate': { + label: 'gds.modularity.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.modularityOptimization.mutate': { + label: 'gds.modularityOptimization.mutate', + documentation: + 'The Modularity Optimization algorithm groups the nodes in the graph by optimizing the graphs modularity.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.modularityOptimization.mutate.estimate': { + label: 'gds.modularityOptimization.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.modularityOptimization.stats': { + label: 'gds.modularityOptimization.stats', + documentation: + 'The Modularity Optimization algorithm groups the nodes in the graph by optimizing the graphs modularity.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.modularityOptimization.stats.estimate': { + label: 'gds.modularityOptimization.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.modularityOptimization.stream': { + label: 'gds.modularityOptimization.stream', + documentation: + 'The Modularity Optimization algorithm groups the nodes in the graph by optimizing the graphs modularity.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.modularityOptimization.stream.estimate': { + label: 'gds.modularityOptimization.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.modularityOptimization.write': { + label: 'gds.modularityOptimization.write', + documentation: + 'The Modularity Optimization algorithm groups the nodes in the graph by optimizing the graphs modularity.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.modularityOptimization.write.estimate': { + label: 'gds.modularityOptimization.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.node2vec.mutate': { + label: 'gds.node2vec.mutate', + documentation: + 'The Node2Vec algorithm computes embeddings for nodes based on random walks.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.node2vec.mutate.estimate': { + label: 'gds.node2vec.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.node2vec.stream': { + label: 'gds.node2vec.stream', + documentation: + 'The Node2Vec algorithm computes embeddings for nodes based on random walks.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.node2vec.stream.estimate': { + label: 'gds.node2vec.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.node2vec.write': { + label: 'gds.node2vec.write', + documentation: + 'The Node2Vec algorithm computes embeddings for nodes based on random walks.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.node2vec.write.estimate': { + label: 'gds.node2vec.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.nodeSimilarity.filtered.mutate': { + label: 'gds.nodeSimilarity.filtered.mutate', + documentation: + 'The Filtered Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. The algorithm computes pair-wise similarities based on Jaccard or Overlap metrics. The filtered variant supports limiting which nodes to compare via source and target node filters.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.nodeSimilarity.filtered.mutate.estimate': { + label: 'gds.nodeSimilarity.filtered.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.nodeSimilarity.filtered.stats': { + label: 'gds.nodeSimilarity.filtered.stats', + documentation: + 'The Filtered Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. The algorithm computes pair-wise similarities based on Jaccard or Overlap metrics. The filtered variant supports limiting which nodes to compare via source and target node filters.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.nodeSimilarity.filtered.stats.estimate': { + label: 'gds.nodeSimilarity.filtered.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.nodeSimilarity.filtered.stream': { + label: 'gds.nodeSimilarity.filtered.stream', + documentation: + 'The Filtered Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. The algorithm computes pair-wise similarities based on Jaccard or Overlap metrics. The filtered variant supports limiting which nodes to compare via source and target node filters.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.nodeSimilarity.filtered.stream.estimate': { + label: 'gds.nodeSimilarity.filtered.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.nodeSimilarity.filtered.write': { + label: 'gds.nodeSimilarity.filtered.write', + documentation: + 'The Filtered Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. The algorithm computes pair-wise similarities based on Jaccard or Overlap metrics. The filtered variant supports limiting which nodes to compare via source and target node filters.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.nodeSimilarity.filtered.write.estimate': { + label: 'gds.nodeSimilarity.filtered.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.nodeSimilarity.mutate': { label: 'gds.nodeSimilarity.mutate', + documentation: + 'The Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. Node Similarity computes pair-wise similarities based on the Jaccard metric.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.nodeSimilarity.mutate.estimate': { label: 'gds.nodeSimilarity.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.nodeSimilarity.stats': { label: 'gds.nodeSimilarity.stats', + documentation: + 'The Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. Node Similarity computes pair-wise similarities based on the Jaccard metric.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.nodeSimilarity.stats.estimate': { label: 'gds.nodeSimilarity.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.nodeSimilarity.stream': { label: 'gds.nodeSimilarity.stream', + documentation: + 'The Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. Node Similarity computes pair-wise similarities based on the Jaccard metric.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.nodeSimilarity.stream.estimate': { label: 'gds.nodeSimilarity.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.nodeSimilarity.write': { label: 'gds.nodeSimilarity.write', + documentation: + 'The Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. Node Similarity computes pair-wise similarities based on the Jaccard metric.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.nodeSimilarity.write.estimate': { label: 'gds.nodeSimilarity.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.pageRank.mutate': { label: 'gds.pageRank.mutate', + documentation: + 'Page Rank is an algorithm that measures the transitive influence or connectivity of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.pageRank.mutate.estimate': { label: 'gds.pageRank.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.pageRank.stats': { label: 'gds.pageRank.stats', + documentation: + 'Executes the algorithm and returns result statistics without writing the result to Neo4j.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.pageRank.stats.estimate': { label: 'gds.pageRank.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.pageRank.stream': { label: 'gds.pageRank.stream', + documentation: + 'Page Rank is an algorithm that measures the transitive influence or connectivity of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.pageRank.stream.estimate': { label: 'gds.pageRank.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.pageRank.write': { label: 'gds.pageRank.write', + documentation: + 'Page Rank is an algorithm that measures the transitive influence or connectivity of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.pageRank.write.estimate': { label: 'gds.pageRank.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.pipeline.drop': { + label: 'gds.pipeline.drop', + documentation: 'Drops a pipeline and frees up the resources it occupies.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + { + label: 'failIfMissing', + documentation: 'failIfMissing = true :: BOOLEAN?', + }, + ], + }, + 'gds.pipeline.exists': { + label: 'gds.pipeline.exists', + documentation: + 'Checks if a given pipeline exists in the pipeline catalog.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName :: STRING?', + }, + ], + }, + 'gds.pipeline.list': { + label: 'gds.pipeline.list', + documentation: 'Lists all pipelines contained in the pipeline catalog.', + parameters: [ + { + label: 'pipelineName', + documentation: 'pipelineName = __NO_VALUE :: STRING?', + }, + ], }, 'gds.randomWalk.stats': { label: 'gds.randomWalk.stats', + documentation: + 'Random Walk is an algorithm that provides random paths in a graph. It’s similar to how a drunk person traverses a city.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.randomWalk.stats.estimate': { label: 'gds.randomWalk.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.randomWalk.stream': { label: 'gds.randomWalk.stream', + documentation: + 'Random Walk is an algorithm that provides random paths in a graph. It’s similar to how a drunk person traverses a city.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.randomWalk.stream.estimate': { label: 'gds.randomWalk.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.restore': { + label: 'gds.restore', + documentation: 'The restore procedure reads graphs and models from disk.', + parameters: [ + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.scaleProperties.mutate': { label: 'gds.scaleProperties.mutate', + documentation: 'Scale node properties', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.scaleProperties.mutate.estimate': { label: 'gds.scaleProperties.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.scaleProperties.stats': { label: 'gds.scaleProperties.stats', + documentation: 'Scale node properties', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.scaleProperties.stats.estimate': { label: 'gds.scaleProperties.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.scaleProperties.stream': { label: 'gds.scaleProperties.stream', + documentation: 'Scale node properties', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.scaleProperties.stream.estimate': { label: 'gds.scaleProperties.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.scaleProperties.write': { label: 'gds.scaleProperties.write', + documentation: 'Scale node properties', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.scaleProperties.write.estimate': { label: 'gds.scaleProperties.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.scc.mutate': { + label: 'gds.scc.mutate', + documentation: + 'The SCC algorithm finds sets of connected nodes in an directed graph, where all nodes in the same set form a connected component.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.scc.mutate.estimate': { + label: 'gds.scc.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.scc.stats': { + label: 'gds.scc.stats', + documentation: + 'The SCC algorithm finds sets of connected nodes in an directed graph, where all nodes in the same set form a connected component.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.scc.stats.estimate': { + label: 'gds.scc.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.scc.stream': { + label: 'gds.scc.stream', + documentation: + 'The SCC algorithm finds sets of connected nodes in an directed graph, where all nodes in the same set form a connected component.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.scc.stream.estimate': { + label: 'gds.scc.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.scc.write': { + label: 'gds.scc.write', + documentation: + 'The SCC algorithm finds sets of connected nodes in an directed graph, where all nodes in the same set form a connected component.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.scc.write.estimate': { + label: 'gds.scc.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.shortestPath.astar.mutate': { label: 'gds.shortestPath.astar.mutate', + documentation: + 'The A* shortest path algorithm computes the shortest path between a pair of nodes. It uses the relationship weight property to compare path lengths. In addition, this implementation uses the haversine distance as a heuristic to converge faster.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.shortestPath.astar.mutate.estimate': { label: 'gds.shortestPath.astar.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.shortestPath.astar.stream': { label: 'gds.shortestPath.astar.stream', + documentation: + 'The A* shortest path algorithm computes the shortest path between a pair of nodes. It uses the relationship weight property to compare path lengths. In addition, this implementation uses the haversine distance as a heuristic to converge faster.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.shortestPath.astar.stream.estimate': { label: 'gds.shortestPath.astar.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.shortestPath.astar.write': { label: 'gds.shortestPath.astar.write', + documentation: + 'The A* shortest path algorithm computes the shortest path between a pair of nodes. It uses the relationship weight property to compare path lengths. In addition, this implementation uses the haversine distance as a heuristic to converge faster.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.shortestPath.astar.write.estimate': { label: 'gds.shortestPath.astar.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.shortestPath.dijkstra.mutate': { label: 'gds.shortestPath.dijkstra.mutate', + documentation: + 'The Dijkstra shortest path algorithm computes the shortest (weighted) path between a pair of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.shortestPath.dijkstra.mutate.estimate': { label: 'gds.shortestPath.dijkstra.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.shortestPath.dijkstra.stream': { label: 'gds.shortestPath.dijkstra.stream', + documentation: + 'The Dijkstra shortest path algorithm computes the shortest (weighted) path between a pair of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.shortestPath.dijkstra.stream.estimate': { label: 'gds.shortestPath.dijkstra.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.shortestPath.dijkstra.write': { label: 'gds.shortestPath.dijkstra.write', + documentation: + 'The Dijkstra shortest path algorithm computes the shortest (weighted) path between a pair of nodes.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.shortestPath.dijkstra.write.estimate': { label: 'gds.shortestPath.dijkstra.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.shortestPath.yens.mutate': { label: 'gds.shortestPath.yens.mutate', + documentation: + "The Yen's shortest path algorithm computes the k shortest (weighted) paths between a pair of nodes.", + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.shortestPath.yens.mutate.estimate': { label: 'gds.shortestPath.yens.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.shortestPath.yens.stream': { label: 'gds.shortestPath.yens.stream', + documentation: + "The Yen's shortest path algorithm computes the k shortest (weighted) paths between a pair of nodes.", + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.shortestPath.yens.stream.estimate': { label: 'gds.shortestPath.yens.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], }, 'gds.shortestPath.yens.write': { label: 'gds.shortestPath.yens.write', + documentation: + "The Yen's shortest path algorithm computes the k shortest (weighted) paths between a pair of nodes.", + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.shortestPath.yens.write.estimate': { label: 'gds.shortestPath.yens.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration :: MAP?', + }, + ], + }, + 'gds.sllpa.mutate': { + label: 'gds.sllpa.mutate', + documentation: + 'The Speaker Listener Label Propagation algorithm is a fast algorithm for finding overlapping communities in a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.sllpa.mutate.estimate': { + label: 'gds.sllpa.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.sllpa.stats': { + label: 'gds.sllpa.stats', + documentation: + 'The Speaker Listener Label Propagation algorithm is a fast algorithm for finding overlapping communities in a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.sllpa.stats.estimate': { + label: 'gds.sllpa.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.sllpa.stream': { + label: 'gds.sllpa.stream', + documentation: + 'The Speaker Listener Label Propagation algorithm is a fast algorithm for finding overlapping communities in a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.sllpa.stream.estimate': { + label: 'gds.sllpa.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.sllpa.write': { + label: 'gds.sllpa.write', + documentation: + 'The Speaker Listener Label Propagation algorithm is a fast algorithm for finding overlapping communities in a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.sllpa.write.estimate': { + label: 'gds.sllpa.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.spanningTree.mutate': { + label: 'gds.spanningTree.mutate', + documentation: + 'The spanning tree algorithm visits all nodes that are in the same connected component as the starting node, and returns a spanning tree of all nodes in the component where the total weight of the relationships is either minimized or maximized.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.spanningTree.mutate.estimate': { + label: 'gds.spanningTree.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.spanningTree.stats': { + label: 'gds.spanningTree.stats', + documentation: + 'The spanning tree algorithm visits all nodes that are in the same connected component as the starting node, and returns a spanning tree of all nodes in the component where the total weight of the relationships is either minimized or maximized.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.spanningTree.stats.estimate': { + label: 'gds.spanningTree.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.spanningTree.stream': { + label: 'gds.spanningTree.stream', + documentation: + 'The spanning tree algorithm visits all nodes that are in the same connected component as the starting node, and returns a spanning tree of all nodes in the component where the total weight of the relationships is either minimized or maximized.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.spanningTree.stream.estimate': { + label: 'gds.spanningTree.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.spanningTree.write': { + label: 'gds.spanningTree.write', + documentation: + 'The spanning tree algorithm visits all nodes that are in the same connected component as the starting node, and returns a spanning tree of all nodes in the component where the total weight of the relationships is either minimized or maximized.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.spanningTree.write.estimate': { + label: 'gds.spanningTree.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.steinerTree.mutate': { + label: 'gds.steinerTree.mutate', + documentation: + 'The steiner tree algorithm accepts a source node, as well as a list of target nodes. It then attempts to find a spanning tree where there is a path from the source node to each target node, such that the total weight of the relationships is as low as possible.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.steinerTree.mutate.estimate': { + label: 'gds.steinerTree.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.steinerTree.stats': { + label: 'gds.steinerTree.stats', + documentation: + 'The steiner tree algorithm accepts a source node, as well as a list of target nodes. It then attempts to find a spanning tree where there is a path from the source node to each target node, such that the total weight of the relationships is as low as possible.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.steinerTree.stats.estimate': { + label: 'gds.steinerTree.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.steinerTree.stream': { + label: 'gds.steinerTree.stream', + documentation: + 'The steiner tree algorithm accepts a source node, as well as a list of target nodes. It then attempts to find a spanning tree where there is a path from the source node to each target node, such that the total weight of the relationships is as low as possible.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.steinerTree.stream.estimate': { + label: 'gds.steinerTree.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.steinerTree.write': { + label: 'gds.steinerTree.write', + documentation: + 'The steiner tree algorithm accepts a source node, as well as a list of target nodes. It then attempts to find a spanning tree where there is a path from the source node to each target node, such that the total weight of the relationships is as low as possible.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.steinerTree.write.estimate': { + label: 'gds.steinerTree.write.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.systemMonitor': { + label: 'gds.systemMonitor', + documentation: + "Get an overview of the system's workload and available resources", + parameters: [], }, 'gds.triangleCount.mutate': { label: 'gds.triangleCount.mutate', + documentation: + 'Triangle counting is a community detection graph algorithm that is used to determine the number of triangles passing through each node in the graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.triangleCount.mutate.estimate': { label: 'gds.triangleCount.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.triangleCount.stats': { label: 'gds.triangleCount.stats', + documentation: + 'Triangle counting is a community detection graph algorithm that is used to determine the number of triangles passing through each node in the graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.triangleCount.stats.estimate': { label: 'gds.triangleCount.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.triangleCount.stream': { label: 'gds.triangleCount.stream', + documentation: + 'Triangle counting is a community detection graph algorithm that is used to determine the number of triangles passing through each node in the graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.triangleCount.stream.estimate': { label: 'gds.triangleCount.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.triangleCount.write': { label: 'gds.triangleCount.write', + documentation: + 'Triangle counting is a community detection graph algorithm that is used to determine the number of triangles passing through each node in the graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.triangleCount.write.estimate': { label: 'gds.triangleCount.write.estimate', + documentation: + 'Triangle counting is a community detection graph algorithm that is used to determine the number of triangles passing through each node in the graph.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], + }, + 'gds.triangles': { + label: 'gds.triangles', + documentation: + 'Triangles streams the nodeIds of each triangle in the graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], + }, + 'gds.userLog': { + label: 'gds.userLog', + documentation: 'Log warnings and hints for currently running tasks.', + parameters: [ + { + label: 'jobId', + documentation: 'jobId = :: STRING?', + }, + ], + }, + 'gds.version': { + label: 'gds.version', + documentation: + 'CALL gds.version() | Return the installed graph data science library version.', + parameters: [], }, 'gds.wcc.mutate': { label: 'gds.wcc.mutate', + documentation: + 'The WCC algorithm finds sets of connected nodes in an undirected graph, where all nodes in the same set form a connected component.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.wcc.mutate.estimate': { label: 'gds.wcc.mutate.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.wcc.stats': { label: 'gds.wcc.stats', + documentation: + 'The WCC algorithm finds sets of connected nodes in an undirected graph, where all nodes in the same set form a connected component.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.wcc.stats.estimate': { label: 'gds.wcc.stats.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.wcc.stream': { label: 'gds.wcc.stream', + documentation: + 'The WCC algorithm finds sets of connected nodes in an undirected graph, where all nodes in the same set form a connected component.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.wcc.stream.estimate': { label: 'gds.wcc.stream.estimate', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'gds.wcc.write': { label: 'gds.wcc.write', + documentation: + 'The WCC algorithm finds sets of connected nodes in an undirected graph, where all nodes in the same set form a connected component.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'configuration', + documentation: 'configuration = {} :: MAP?', + }, + ], }, 'gds.wcc.write.estimate': { label: 'gds.wcc.write.estimate', - }, - 'jwt.security.requestAccess': { - label: 'jwt.security.requestAccess', + documentation: + 'Returns an estimation of the memory consumption for that procedure.', + parameters: [ + { + label: 'graphNameOrConfiguration', + documentation: 'graphNameOrConfiguration :: ANY?', + }, + { + label: 'algoConfiguration', + documentation: 'algoConfiguration :: MAP?', + }, + ], }, 'tx.getMetaData': { label: 'tx.getMetaData', + documentation: 'Provides attached transaction metadata.', + parameters: [], }, 'tx.setMetaData': { label: 'tx.setMetaData', + documentation: + 'Attaches a map of data to the transaction. The data will be printed when listing queries, and inserted into the query log.', + parameters: [ + { + label: 'data', + documentation: 'data :: MAP?', + }, + ], }, }, labels: ['Movie', 'Person'], diff --git a/packages/react-codemirror/src/index.ts b/packages/react-codemirror/src/index.ts index 8effa9ebf..ea77314b7 100644 --- a/packages/react-codemirror/src/index.ts +++ b/packages/react-codemirror/src/index.ts @@ -1,4 +1,4 @@ -export { CypherParser, parse } from '@neo4j-cypher/language-support'; +export { CypherParser } from '@neo4j-cypher/language-support'; export { CypherEditor } from './CypherEditor'; export { cypher } from './lang-cypher/lang-cypher'; export { darkThemeConstants, lightThemeConstants } from './themes'; diff --git a/packages/react-codemirror/src/lang-cypher/lang-cypher.ts b/packages/react-codemirror/src/lang-cypher/lang-cypher.ts index 3df7cdf46..86a3da598 100644 --- a/packages/react-codemirror/src/lang-cypher/lang-cypher.ts +++ b/packages/react-codemirror/src/lang-cypher/lang-cypher.ts @@ -6,6 +6,7 @@ import { import type { DbSchema } from '@neo4j-cypher/language-support'; import { cypherAutocomplete } from './autocomplete'; import { ParserAdapter } from './ParserAdapter'; +import { signatureHelpTooltip } from './signature-help'; import { cypherLinter } from './syntax-validation'; const facet = defineLanguageFacet({ @@ -28,5 +29,6 @@ export function cypher(config: CypherConfig) { autocomplete: cypherAutocomplete(config), }), cypherLinter(config), + signatureHelpTooltip(config), ]); } diff --git a/packages/react-codemirror/src/lang-cypher/signature-help.ts b/packages/react-codemirror/src/lang-cypher/signature-help.ts new file mode 100644 index 000000000..3f80bfd2d --- /dev/null +++ b/packages/react-codemirror/src/lang-cypher/signature-help.ts @@ -0,0 +1,75 @@ +import { EditorState, StateField } from '@codemirror/state'; +import { showTooltip, Tooltip } from '@codemirror/view'; +import { + CallClauseContext, + findParent, + FunctionInvocationContext, + parserWrapper, + signatureHelp, +} from '@neo4j-cypher/language-support'; +import { CypherConfig } from './lang-cypher'; + +function getSignatureHelpTooltip( + state: EditorState, + config: CypherConfig, +): Tooltip[] { + let result: Tooltip[] = []; + const schema = config.schema; + + if (schema) { + const pos = state.selection.main.head; + //const node = syntaxTree(state).resolveInner(pos, -1); + const tree = parserWrapper.parsingResult; + + if ( + tree && + findParent( + tree.stopNode, + (parent) => + parent instanceof FunctionInvocationContext || + parent instanceof CallClauseContext, + ) + ) { + const query = state.doc.toString(); + const signatureHelpInfo = signatureHelp(query, schema); + const activeSignature = signatureHelpInfo.activeSignature; + const signatures = signatureHelpInfo.signatures; + + if ( + activeSignature !== undefined && + signatures[activeSignature].documentation !== undefined + ) { + result = [ + { + pos: pos, + above: true, + strictSide: true, + arrow: true, + create: () => { + const dom = document.createElement('div'); + dom.className = 'cm-tooltip-cursor'; + dom.textContent = + signatures[activeSignature].documentation.toString(); + return { dom }; + }, + }, + ]; + } + } + } + + return result; +} + +export function signatureHelpTooltip(config: CypherConfig) { + return StateField.define({ + create: (state) => getSignatureHelpTooltip(state, config), + + update(tooltips, tr) { + if (!tr.docChanged && !tr.selection) return tooltips; + return getSignatureHelpTooltip(tr.state, config); + }, + + provide: (f) => showTooltip.computeN([f], (state) => state.field(f)), + }); +} From 711d3d5b8129f973ba6e88e009bfecc09da728be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Mon, 18 Dec 2023 09:35:57 +0000 Subject: [PATCH 02/19] Updates mock signatures with functions --- .../src/mock-schema.ts | 4081 ++++++++++++++++- 1 file changed, 3994 insertions(+), 87 deletions(-) diff --git a/packages/react-codemirror-playground/src/mock-schema.ts b/packages/react-codemirror-playground/src/mock-schema.ts index 4943ab35e..6f5f9caaf 100644 --- a/packages/react-codemirror-playground/src/mock-schema.ts +++ b/packages/react-codemirror-playground/src/mock-schema.ts @@ -2,1236 +2,5143 @@ export const dummyDbSchema = { functionSignatures: { abs: { label: 'abs', + documentation: 'Returns the absolute value of a floating point number.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, acos: { label: 'acos', + documentation: 'Returns the arccosine of a number in radians.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, all: { label: 'all', + documentation: + 'Returns true if the predicate holds for all elements in the given list.', + parameters: [ + { + label: 'variable', + documentation: 'variable :: ANY?', + }, + { + label: 'list', + documentation: 'list :: LIST? OF ANY?', + }, + ], }, any: { label: 'any', + documentation: + 'Returns true if the predicate holds for at least one element in the given list.', + parameters: [ + { + label: 'variable', + documentation: 'variable :: ANY?', + }, + { + label: 'list', + documentation: 'list :: LIST? OF ANY?', + }, + ], }, 'apoc.agg.first': { label: 'apoc.agg.first', + documentation: 'Returns the first value from the given collection.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.agg.graph': { label: 'apoc.agg.graph', + documentation: + 'Returns all distinct nodes and relationships collected into a map with the keys `nodes` and `relationships`.', + parameters: [ + { + label: 'path', + documentation: 'path :: ANY?', + }, + ], }, 'apoc.agg.last': { label: 'apoc.agg.last', + documentation: 'Returns the last value from the given collection.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.agg.maxItems': { label: 'apoc.agg.maxItems', + documentation: + 'Returns a map {items:[], value:n} where the `value` key is the maximum value present, and `items` represent all items with the same value.', + parameters: [ + { + label: 'items', + documentation: 'items :: ANY?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + { + label: 'groupLimit', + documentation: 'groupLimit = -1 :: INTEGER?', + }, + ], }, 'apoc.agg.median': { label: 'apoc.agg.median', + documentation: + 'Returns the mathematical median for all non-null numeric values.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.agg.minItems': { label: 'apoc.agg.minItems', + documentation: + 'Returns a map {items:[], value:n} where the `value` key is the minimum value present, and `items` represent all items with the same value.', + parameters: [ + { + label: 'items', + documentation: 'items :: ANY?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + { + label: 'groupLimit', + documentation: 'groupLimit = -1 :: INTEGER?', + }, + ], }, 'apoc.agg.nth': { label: 'apoc.agg.nth', + documentation: + 'Returns the nth value in the given collection (to fetch the last item of an unknown length collection, -1 can be used).', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY?', + }, + { + label: 'offset', + documentation: 'offset :: INTEGER?', + }, + ], }, 'apoc.agg.percentiles': { label: 'apoc.agg.percentiles', + documentation: + 'Returns the given percentiles over the range of numerical values in the given collection.', + parameters: [ + { + label: 'value', + documentation: 'value :: NUMBER?', + }, + { + label: 'percentiles', + documentation: + 'percentiles = [0.5, 0.75, 0.9, 0.95, 0.99] :: LIST? OF FLOAT?', + }, + ], }, 'apoc.agg.product': { label: 'apoc.agg.product', + documentation: + 'Returns the product of all non-null numerical values in the collection.', + parameters: [ + { + label: 'value', + documentation: 'value :: NUMBER?', + }, + ], }, 'apoc.agg.slice': { label: 'apoc.agg.slice', + documentation: + 'Returns a subset of non-null values from the given collection (the collection is considered to be zero-indexed).\nTo specify the range from start until the end of the collection, the length should be set to -1.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY?', + }, + { + label: 'from', + documentation: 'from = 0 :: INTEGER?', + }, + { + label: 'to', + documentation: 'to = -1 :: INTEGER?', + }, + ], }, 'apoc.agg.statistics': { label: 'apoc.agg.statistics', + documentation: + 'Returns the following statistics on the numerical values in the given collection: percentiles, min, minNonZero, max, total, mean, stdev.', + parameters: [ + { + label: 'value', + documentation: 'value :: NUMBER?', + }, + { + label: 'percentiles', + documentation: + 'percentiles = [0.5, 0.75, 0.9, 0.95, 0.99] :: LIST? OF FLOAT?', + }, + ], }, 'apoc.any.isDeleted': { label: 'apoc.any.isDeleted', + documentation: + 'Returns true if the given node or relationship no longer exists.', + parameters: [ + { + label: 'object', + documentation: 'object :: ANY?', + }, + ], }, 'apoc.any.properties': { label: 'apoc.any.properties', + documentation: + 'Returns all properties of the given object.\nThe object can be a virtual node, a real node, a virtual relationship, a real relationship, or a map.', + parameters: [ + { + label: 'object', + documentation: 'object :: ANY?', + }, + { + label: 'keys', + documentation: 'keys = null :: LIST? OF STRING?', + }, + ], }, 'apoc.any.property': { label: 'apoc.any.property', - }, - 'apoc.any.rebind': { - label: 'apoc.any.rebind', + documentation: + 'Returns the property for the given key from an object.\nThe object can be a virtual node, a real node, a virtual relationship, a real relationship, or a map.', + parameters: [ + { + label: 'object', + documentation: 'object :: ANY?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + ], }, 'apoc.bitwise.op': { label: 'apoc.bitwise.op', + documentation: 'Returns the result of the bitwise operation', + parameters: [ + { + label: 'a', + documentation: 'a :: INTEGER?', + }, + { + label: 'operator', + documentation: 'operator :: STRING?', + }, + { + label: 'b', + documentation: 'b :: INTEGER?', + }, + ], }, 'apoc.coll.avg': { label: 'apoc.coll.avg', - }, - 'apoc.coll.avgDuration': { - label: 'apoc.coll.avgDuration', + documentation: 'Returns the average of the numbers in the list.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF NUMBER?', + }, + ], }, 'apoc.coll.combinations': { label: 'apoc.coll.combinations', + documentation: + 'Returns a collection of all combinations of list elements between the selection size minSelect and maxSelect (default: minSelect).', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'minSelect', + documentation: 'minSelect :: INTEGER?', + }, + { + label: 'maxSelect', + documentation: 'maxSelect = -1 :: INTEGER?', + }, + ], }, 'apoc.coll.contains': { label: 'apoc.coll.contains', + documentation: + 'Returns whether or not the given value exists in the given collection (using a HashSet).', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.coll.containsAll': { label: 'apoc.coll.containsAll', + documentation: + 'Returns whether or not all of the given values exist in the given collection (using a HashSet).', + parameters: [ + { + label: 'coll1', + documentation: 'coll1 :: LIST? OF ANY?', + }, + { + label: 'coll2', + documentation: 'coll2 :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.containsAllSorted': { label: 'apoc.coll.containsAllSorted', + documentation: + 'Returns whether or not all of the given values in the second list exist in an already sorted collection (using a binary search).', + parameters: [ + { + label: 'coll1', + documentation: 'coll1 :: LIST? OF ANY?', + }, + { + label: 'coll2', + documentation: 'coll2 :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.containsDuplicates': { label: 'apoc.coll.containsDuplicates', + documentation: + 'Returns true if a collection contains duplicate elements.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.containsSorted': { label: 'apoc.coll.containsSorted', + documentation: + 'Returns whether or not the given value exists in an already sorted collection (using a binary search).', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.coll.different': { label: 'apoc.coll.different', + documentation: + 'Returns true if all the values in the given list are unique.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.disjunction': { label: 'apoc.coll.disjunction', + documentation: 'Returns the disjunct set of two lists.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST? OF ANY?', + }, + { + label: 'list2', + documentation: 'list2 :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.dropDuplicateNeighbors': { label: 'apoc.coll.dropDuplicateNeighbors', + documentation: 'Removes duplicate consecutive objects in the list.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.duplicates': { label: 'apoc.coll.duplicates', + documentation: 'Returns a list of duplicate items in the collection.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.duplicatesWithCount': { label: 'apoc.coll.duplicatesWithCount', + documentation: + 'Returns a list of duplicate items in the collection and their count, keyed by `item` and `count`.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.fill': { label: 'apoc.coll.fill', + documentation: 'Returns a list with the given count of items.', + parameters: [ + { + label: 'items', + documentation: 'items :: STRING?', + }, + { + label: 'count', + documentation: 'count :: INTEGER?', + }, + ], }, 'apoc.coll.flatten': { label: 'apoc.coll.flatten', - }, - 'apoc.coll.frequencies': { - label: 'apoc.coll.frequencies', - }, + documentation: + 'Flattens the given list (to flatten nested lists, set recursive to true).', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'recursive', + documentation: 'recursive = false :: BOOLEAN?', + }, + ], + }, + 'apoc.coll.frequencies': { + label: 'apoc.coll.frequencies', + documentation: + 'Returns a list of frequencies of the items in the collection, keyed by `item` and `count`.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + ], + }, 'apoc.coll.frequenciesAsMap': { label: 'apoc.coll.frequenciesAsMap', + documentation: + 'Returns a map of frequencies of the items in the collection, keyed by `item` and `count`.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.indexOf': { label: 'apoc.coll.indexOf', + documentation: + 'Returns the index for the first occurrence of the specified value in the list.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.coll.insert': { label: 'apoc.coll.insert', + documentation: 'Inserts a value into the specified index in the list.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'index', + documentation: 'index :: INTEGER?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.coll.insertAll': { label: 'apoc.coll.insertAll', + documentation: + 'Inserts all of the values into the list, starting at the specified index.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'index', + documentation: 'index :: INTEGER?', + }, + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.intersection': { label: 'apoc.coll.intersection', + documentation: 'Returns the distinct intersection of two lists.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST? OF ANY?', + }, + { + label: 'list2', + documentation: 'list2 :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.isEqualCollection': { label: 'apoc.coll.isEqualCollection', + documentation: + 'Returns true if the two collections contain the same elements with the same cardinality in any order (using a HashMap).', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.max': { label: 'apoc.coll.max', + documentation: 'Returns the maximum of all values in the given list.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.min': { label: 'apoc.coll.min', + documentation: 'Returns the minimum of all values in the given list.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.occurrences': { label: 'apoc.coll.occurrences', + documentation: 'Returns the count of the given item in the collection.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'item', + documentation: 'item :: ANY?', + }, + ], }, 'apoc.coll.pairWithOffset': { label: 'apoc.coll.pairWithOffset', + documentation: 'Returns a list of pairs defined by the offset.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'offset', + documentation: 'offset :: INTEGER?', + }, + ], }, 'apoc.coll.pairs': { label: 'apoc.coll.pairs', + documentation: + 'Returns a list of adjacent elements in the list ([1,2],[2,3],[3,null]).', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.pairsMin': { label: 'apoc.coll.pairsMin', + documentation: + 'Returns lists of adjacent elements in the list ([1,2],[2,3]), skipping the final element.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.partition': { label: 'apoc.coll.partition', + documentation: + 'Partitions the original list into sub-lists of the given batch size.\nThe final list may be smaller than the given batch size.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'batchSize', + documentation: 'batchSize :: INTEGER?', + }, + ], }, 'apoc.coll.randomItem': { label: 'apoc.coll.randomItem', + documentation: + 'Returns a random item from the list, or null on an empty or null list.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.randomItems': { label: 'apoc.coll.randomItems', + documentation: + 'Returns a list of itemCount random items from the original list (optionally allowing elements in the original list to be selected more than once).', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'itemCount', + documentation: 'itemCount :: INTEGER?', + }, + { + label: 'allowRepick', + documentation: 'allowRepick = false :: BOOLEAN?', + }, + ], }, 'apoc.coll.remove': { label: 'apoc.coll.remove', + documentation: + 'Removes a range of values from the list, beginning at position index for the given length of values.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'index', + documentation: 'index :: INTEGER?', + }, + { + label: 'length', + documentation: 'length = 1 :: INTEGER?', + }, + ], }, 'apoc.coll.removeAll': { label: 'apoc.coll.removeAll', - }, - 'apoc.coll.reverse': { - label: 'apoc.coll.reverse', + documentation: + 'Returns the first list with all elements of the second list removed.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST? OF ANY?', + }, + { + label: 'list2', + documentation: 'list2 :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.runningTotal': { label: 'apoc.coll.runningTotal', + documentation: 'Returns an accumulative array.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST? OF NUMBER?', + }, + ], }, 'apoc.coll.set': { label: 'apoc.coll.set', + documentation: 'Sets the element at the given index to the new value.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + { + label: 'index', + documentation: 'index :: INTEGER?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.coll.shuffle': { label: 'apoc.coll.shuffle', + documentation: 'Returns the list shuffled.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.sort': { label: 'apoc.coll.sort', + documentation: 'Sorts the given list into ascending order.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.sortMaps': { label: 'apoc.coll.sortMaps', + documentation: + 'Sorts the given list into ascending order, based on the map property indicated by `prop`.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST? OF MAP?', + }, + { + label: 'prop', + documentation: 'prop :: STRING?', + }, + ], }, 'apoc.coll.sortMulti': { label: 'apoc.coll.sortMulti', + documentation: + 'Sorts the given list of maps by the given fields.\nTo indicate that a field should be sorted according to ascending values, prefix it with a caret (^).\nIt is also possible to add limits to the list and to skip values.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF MAP?', + }, + { + label: 'orderFields', + documentation: 'orderFields = [] :: LIST? OF STRING?', + }, + { + label: 'limit', + documentation: 'limit = -1 :: INTEGER?', + }, + { + label: 'skip', + documentation: 'skip = 0 :: INTEGER?', + }, + ], }, 'apoc.coll.sortNodes': { label: 'apoc.coll.sortNodes', + documentation: + 'Sorts the given list of nodes by their property into ascending order.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF NODE?', + }, + { + label: 'prop', + documentation: 'prop :: STRING?', + }, + ], }, 'apoc.coll.sortText': { label: 'apoc.coll.sortText', + documentation: 'Sorts the given list of strings into ascending order.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF STRING?', + }, + { + label: 'conf', + documentation: 'conf = {} :: MAP?', + }, + ], }, 'apoc.coll.stdev': { label: 'apoc.coll.stdev', + documentation: + 'Returns sample or population standard deviation with isBiasCorrected true or false respectively.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST? OF NUMBER?', + }, + { + label: 'isBiasCorrected', + documentation: 'isBiasCorrected = true :: BOOLEAN?', + }, + ], }, 'apoc.coll.subtract': { label: 'apoc.coll.subtract', + documentation: + 'Returns the first list as a set with all the elements of the second list removed.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST? OF ANY?', + }, + { + label: 'list2', + documentation: 'list2 :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.sum': { label: 'apoc.coll.sum', + documentation: 'Returns the sum of all the numbers in the list.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF NUMBER?', + }, + ], }, 'apoc.coll.sumLongs': { label: 'apoc.coll.sumLongs', + documentation: 'Returns the sum of all the numbers in the list.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF NUMBER?', + }, + ], }, 'apoc.coll.toSet': { label: 'apoc.coll.toSet', + documentation: 'Returns a unique list from the given list.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.union': { label: 'apoc.coll.union', + documentation: 'Returns the distinct union of the two given lists.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST? OF ANY?', + }, + { + label: 'list2', + documentation: 'list2 :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.unionAll': { label: 'apoc.coll.unionAll', + documentation: + 'Returns the full union of the two given lists (duplicates included).', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST? OF ANY?', + }, + { + label: 'list2', + documentation: 'list2 :: LIST? OF ANY?', + }, + ], }, 'apoc.coll.zip': { label: 'apoc.coll.zip', + documentation: + 'Returns the two given lists zipped together as a list of lists.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST? OF ANY?', + }, + { + label: 'list2', + documentation: 'list2 :: LIST? OF ANY?', + }, + ], }, 'apoc.convert.fromJsonList': { label: 'apoc.convert.fromJsonList', + documentation: 'Converts the given JSON list into a Cypher list.', + parameters: [ + { + label: 'list', + documentation: 'list :: STRING?', + }, + { + label: 'path', + documentation: 'path = :: STRING?', + }, + { + label: 'pathOptions', + documentation: 'pathOptions = null :: LIST? OF STRING?', + }, + ], }, 'apoc.convert.fromJsonMap': { label: 'apoc.convert.fromJsonMap', + documentation: 'Converts the given JSON map into a Cypher map.', + parameters: [ + { + label: 'map', + documentation: 'map :: STRING?', + }, + { + label: 'path', + documentation: 'path = :: STRING?', + }, + { + label: 'pathOptions', + documentation: 'pathOptions = null :: LIST? OF STRING?', + }, + ], }, 'apoc.convert.getJsonProperty': { label: 'apoc.convert.getJsonProperty', + documentation: + 'Converts a serialized JSON object from the property of the given node into the equivalent Cypher structure (e.g. map, list).', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + { + label: 'path', + documentation: 'path = :: STRING?', + }, + { + label: 'pathOptions', + documentation: 'pathOptions = null :: LIST? OF STRING?', + }, + ], }, 'apoc.convert.getJsonPropertyMap': { label: 'apoc.convert.getJsonPropertyMap', - }, - 'apoc.convert.toBoolean': { - label: 'apoc.convert.toBoolean', - }, - 'apoc.convert.toBooleanList': { - label: 'apoc.convert.toBooleanList', - }, - 'apoc.convert.toFloat': { - label: 'apoc.convert.toFloat', - }, - 'apoc.convert.toIntList': { - label: 'apoc.convert.toIntList', - }, - 'apoc.convert.toInteger': { - label: 'apoc.convert.toInteger', + documentation: + 'Converts a serialized JSON object from the property of the given node into a Cypher map.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + { + label: 'path', + documentation: 'path = :: STRING?', + }, + { + label: 'pathOptions', + documentation: 'pathOptions = null :: LIST? OF STRING?', + }, + ], }, 'apoc.convert.toJson': { label: 'apoc.convert.toJson', + documentation: 'Serializes the given JSON value.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.convert.toList': { label: 'apoc.convert.toList', + documentation: 'Converts the given value into a list.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.convert.toMap': { label: 'apoc.convert.toMap', + documentation: 'Converts the given value into a map.', + parameters: [ + { + label: 'map', + documentation: 'map :: ANY?', + }, + ], }, 'apoc.convert.toNode': { label: 'apoc.convert.toNode', + documentation: 'Converts the given value into a node.', + parameters: [ + { + label: 'node', + documentation: 'node :: ANY?', + }, + ], }, 'apoc.convert.toNodeList': { label: 'apoc.convert.toNodeList', + documentation: 'Converts the given value into a list of nodes.', + parameters: [ + { + label: 'list', + documentation: 'list :: ANY?', + }, + ], }, 'apoc.convert.toRelationship': { label: 'apoc.convert.toRelationship', + documentation: 'Converts the given value into a relationship.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: ANY?', + }, + ], }, 'apoc.convert.toRelationshipList': { label: 'apoc.convert.toRelationshipList', + documentation: 'Converts the given value into a list of relationships.', + parameters: [ + { + label: 'relList', + documentation: 'relList :: ANY?', + }, + ], }, 'apoc.convert.toSet': { label: 'apoc.convert.toSet', + documentation: 'Converts the given value into a set.', + parameters: [ + { + label: 'list', + documentation: 'list :: ANY?', + }, + ], }, 'apoc.convert.toSortedJsonMap': { label: 'apoc.convert.toSortedJsonMap', - }, - 'apoc.convert.toString': { - label: 'apoc.convert.toString', - }, - 'apoc.convert.toStringList': { - label: 'apoc.convert.toStringList', + documentation: + 'Converts a serialized JSON object from the property of a given node into a Cypher map.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY?', + }, + { + label: 'ignoreCase', + documentation: 'ignoreCase = true :: BOOLEAN?', + }, + ], }, 'apoc.create.uuid': { label: 'apoc.create.uuid', + documentation: 'Returns a UUID.', + parameters: [], }, 'apoc.create.uuidBase64': { label: 'apoc.create.uuidBase64', + documentation: 'Returns a UUID encoded with base64.', + parameters: [], }, 'apoc.create.uuidBase64ToHex': { label: 'apoc.create.uuidBase64ToHex', + documentation: + 'Takes the given base64 encoded UUID and returns it as a hexadecimal string.', + parameters: [ + { + label: 'base64Uuid', + documentation: 'base64Uuid :: STRING?', + }, + ], }, 'apoc.create.uuidHexToBase64': { label: 'apoc.create.uuidHexToBase64', + documentation: + 'Takes the given UUID represented as a hexadecimal string and returns it encoded with base64.', + parameters: [ + { + label: 'uuid', + documentation: 'uuid :: STRING?', + }, + ], }, 'apoc.create.vNode': { label: 'apoc.create.vNode', + documentation: 'Returns a virtual node.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST? OF STRING?', + }, + { + label: 'props', + documentation: 'props = {} :: MAP?', + }, + ], }, 'apoc.create.vRelationship': { label: 'apoc.create.vRelationship', + documentation: 'Returns a virtual relationship.', + parameters: [ + { + label: 'from', + documentation: 'from :: NODE?', + }, + { + label: 'relType', + documentation: 'relType :: STRING?', + }, + { + label: 'props', + documentation: 'props :: MAP?', + }, + { + label: 'to', + documentation: 'to :: NODE?', + }, + ], }, 'apoc.create.virtual.fromNode': { label: 'apoc.create.virtual.fromNode', - }, - 'apoc.cypher.runFirstColumn': { - label: 'apoc.cypher.runFirstColumn', + documentation: 'Returns a virtual node from the given existing node.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'propertyNames', + documentation: 'propertyNames :: LIST? OF STRING?', + }, + ], }, 'apoc.cypher.runFirstColumnMany': { label: 'apoc.cypher.runFirstColumnMany', + documentation: + 'Runs the given statement with the given parameters and returns the first column collected into a list.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'params', + documentation: 'params :: MAP?', + }, + ], }, 'apoc.cypher.runFirstColumnSingle': { label: 'apoc.cypher.runFirstColumnSingle', - }, - 'apoc.data.domain': { - label: 'apoc.data.domain', + documentation: + 'Runs the given statement with the given parameters and returns the first element of the first column.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING?', + }, + { + label: 'params', + documentation: 'params :: MAP?', + }, + ], }, 'apoc.data.url': { label: 'apoc.data.url', + documentation: 'Turns a URL into a map.', + parameters: [ + { + label: 'url', + documentation: 'url :: STRING?', + }, + ], }, 'apoc.date.add': { label: 'apoc.date.add', + documentation: 'Adds a unit of specified time to the given timestamp.', + parameters: [ + { + label: 'time', + documentation: 'time :: INTEGER?', + }, + { + label: 'unit', + documentation: 'unit :: STRING?', + }, + { + label: 'addValue', + documentation: 'addValue :: INTEGER?', + }, + { + label: 'addUnit', + documentation: 'addUnit :: STRING?', + }, + ], }, 'apoc.date.convert': { label: 'apoc.date.convert', + documentation: + 'Converts the given timestamp from one time unit into a timestamp of a different time unit.', + parameters: [ + { + label: 'time', + documentation: 'time :: INTEGER?', + }, + { + label: 'unit', + documentation: 'unit :: STRING?', + }, + { + label: 'toUnit', + documentation: 'toUnit :: STRING?', + }, + ], }, 'apoc.date.convertFormat': { label: 'apoc.date.convertFormat', + documentation: + 'Converts a string of one type of date format into a string of another type of date format.', + parameters: [ + { + label: 'temporal', + documentation: 'temporal :: STRING?', + }, + { + label: 'currentFormat', + documentation: 'currentFormat :: STRING?', + }, + { + label: 'convertTo', + documentation: 'convertTo = yyyy-MM-dd :: STRING?', + }, + ], }, 'apoc.date.currentTimestamp': { label: 'apoc.date.currentTimestamp', + documentation: + 'Returns the current Unix epoch timestamp in milliseconds.', + parameters: [], }, 'apoc.date.field': { label: 'apoc.date.field', + documentation: 'Returns the value of one field from the given date time.', + parameters: [ + { + label: 'time', + documentation: 'time :: INTEGER?', + }, + { + label: 'unit', + documentation: 'unit = d :: STRING?', + }, + { + label: 'timezone', + documentation: 'timezone = UTC :: STRING?', + }, + ], }, 'apoc.date.fields': { label: 'apoc.date.fields', + documentation: + 'Splits the given date into fields returning a map containing the values of each field.', + parameters: [ + { + label: 'date', + documentation: 'date :: STRING?', + }, + { + label: 'pattern', + documentation: 'pattern = yyyy-MM-dd HH:mm:ss :: STRING?', + }, + ], }, 'apoc.date.format': { label: 'apoc.date.format', + documentation: + 'Returns a string representation of the time value.\nThe time unit (default: ms), date format (default: ISO), and time zone (default: current time zone) can all be changed.', + parameters: [ + { + label: 'time', + documentation: 'time :: INTEGER?', + }, + { + label: 'unit', + documentation: 'unit = ms :: STRING?', + }, + { + label: 'format', + documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING?', + }, + { + label: 'timezone', + documentation: 'timezone = :: STRING?', + }, + ], }, 'apoc.date.fromISO8601': { label: 'apoc.date.fromISO8601', + documentation: + 'Converts the given date string (ISO8601) to an integer representing the time value in milliseconds.', + parameters: [ + { + label: 'time', + documentation: 'time :: STRING?', + }, + ], }, 'apoc.date.parse': { label: 'apoc.date.parse', - }, - 'apoc.date.parseAsZonedDateTime': { - label: 'apoc.date.parseAsZonedDateTime', + documentation: + 'Parses the given date string from a specified format into the specified time unit.', + parameters: [ + { + label: 'time', + documentation: 'time :: STRING?', + }, + { + label: 'unit', + documentation: 'unit = ms :: STRING?', + }, + { + label: 'format', + documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING?', + }, + { + label: 'timezone', + documentation: 'timezone = :: STRING?', + }, + ], }, 'apoc.date.systemTimezone': { label: 'apoc.date.systemTimezone', + documentation: + 'Returns the display name of the system time zone (e.g. Europe/London).', + parameters: [], }, 'apoc.date.toISO8601': { label: 'apoc.date.toISO8601', + documentation: + 'Returns a string representation of a specified time value in the ISO8601 format.', + parameters: [ + { + label: 'time', + documentation: 'time :: INTEGER?', + }, + { + label: 'unit', + documentation: 'unit = ms :: STRING?', + }, + ], }, 'apoc.date.toYears': { label: 'apoc.date.toYears', + documentation: + 'Converts the given timestamp or the given date into a floating point representing years.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY?', + }, + { + label: 'format', + documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING?', + }, + ], }, 'apoc.diff.nodes': { label: 'apoc.diff.nodes', + documentation: + 'Returns a list detailing the differences between the two given nodes.', + parameters: [ + { + label: 'leftNode', + documentation: 'leftNode :: NODE?', + }, + { + label: 'rightNode', + documentation: 'rightNode :: NODE?', + }, + ], }, 'apoc.hashing.fingerprint': { label: 'apoc.hashing.fingerprint', + documentation: + 'Calculates a MD5 checksum over a node or a relationship (identical entities share the same checksum).\nUnsuitable for cryptographic use-cases.', + parameters: [ + { + label: 'object', + documentation: 'object :: ANY?', + }, + { + label: 'excludedPropertyKeys', + documentation: 'excludedPropertyKeys = [] :: LIST? OF STRING?', + }, + ], }, 'apoc.hashing.fingerprintGraph': { label: 'apoc.hashing.fingerprintGraph', + documentation: + 'Calculates a MD5 checksum over the full graph.\nThis function uses in-memory data structures.\nUnsuitable for cryptographic use-cases.', + parameters: [ + { + label: 'propertyExcludes', + documentation: 'propertyExcludes = [] :: LIST? OF STRING?', + }, + ], }, 'apoc.hashing.fingerprinting': { label: 'apoc.hashing.fingerprinting', + documentation: + 'Calculates a MD5 checksum over a node or a relationship (identical entities share the same checksum).\nUnlike `apoc.hashing.fingerprint()`, this function supports a number of config parameters.\nUnsuitable for cryptographic use-cases.', + parameters: [ + { + label: 'object', + documentation: 'object :: ANY?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.json.path': { label: 'apoc.json.path', + documentation: 'Returns the given JSON path.', + parameters: [ + { + label: 'json', + documentation: 'json :: STRING?', + }, + { + label: 'path', + documentation: 'path = $ :: STRING?', + }, + { + label: 'pathOptions', + documentation: 'pathOptions = null :: LIST? OF STRING?', + }, + ], }, 'apoc.label.exists': { label: 'apoc.label.exists', + documentation: + 'Returns true or false depending on whether or not the given label exists.', + parameters: [ + { + label: 'node', + documentation: 'node :: ANY?', + }, + { + label: 'label', + documentation: 'label :: STRING?', + }, + ], }, 'apoc.map.clean': { label: 'apoc.map.clean', + documentation: + 'Filters the keys and values contained in the given lists.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'keys', + documentation: 'keys :: LIST? OF STRING?', + }, + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.map.flatten': { label: 'apoc.map.flatten', + documentation: + 'Flattens nested items in the given map.\nThis function is the reverse of the `apoc.map.unflatten` function.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'delimiter', + documentation: 'delimiter = . :: STRING?', + }, + ], }, 'apoc.map.fromLists': { label: 'apoc.map.fromLists', + documentation: + 'Creates a map from the keys and values in the given lists.', + parameters: [ + { + label: 'keys', + documentation: 'keys :: LIST? OF STRING?', + }, + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.map.fromNodes': { label: 'apoc.map.fromNodes', + documentation: + 'Returns a map of the given prop to the node of the given label.', + parameters: [ + { + label: 'label', + documentation: 'label :: STRING?', + }, + { + label: 'prop', + documentation: 'prop :: STRING?', + }, + ], }, 'apoc.map.fromPairs': { label: 'apoc.map.fromPairs', + documentation: 'Creates a map from the given list of key-value pairs.', + parameters: [ + { + label: 'pairs', + documentation: 'pairs :: LIST? OF LIST? OF ANY?', + }, + ], }, 'apoc.map.fromValues': { label: 'apoc.map.fromValues', + documentation: + 'Creates a map from the alternating keys and values in the given list.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.map.get': { label: 'apoc.map.get', + documentation: + 'Returns a value for the given key.\nIf the given key does not exist, or lacks a default value, this function will throw an exception.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + { + label: 'value', + documentation: 'value = null :: ANY?', + }, + { + label: 'fail', + documentation: 'fail = true :: BOOLEAN?', + }, + ], }, 'apoc.map.groupBy': { label: 'apoc.map.groupBy', + documentation: + 'Creates a map of the list keyed by the given property, with single values.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + ], }, 'apoc.map.groupByMulti': { label: 'apoc.map.groupByMulti', + documentation: + 'Creates a map of the lists keyed by the given property, with the list values.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + ], }, 'apoc.map.merge': { label: 'apoc.map.merge', + documentation: 'Merges the two given maps into one map.', + parameters: [ + { + label: 'map1', + documentation: 'map1 :: MAP?', + }, + { + label: 'map2', + documentation: 'map2 :: MAP?', + }, + ], }, 'apoc.map.mergeList': { label: 'apoc.map.mergeList', + documentation: 'Merges all maps in the given list into one map.', + parameters: [ + { + label: 'maps', + documentation: 'maps :: LIST? OF MAP?', + }, + ], }, 'apoc.map.mget': { label: 'apoc.map.mget', + documentation: + 'Returns a list of values for the given keys.\nIf one of the keys does not exist, or lacks a default value, this function will throw an exception.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'keys', + documentation: 'keys :: LIST? OF STRING?', + }, + { + label: 'values', + documentation: 'values = [] :: LIST? OF ANY?', + }, + { + label: 'fail', + documentation: 'fail = true :: BOOLEAN?', + }, + ], }, 'apoc.map.removeKey': { label: 'apoc.map.removeKey', + documentation: + 'Removes the given key from the map (recursively if recursive is true).', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.map.removeKeys': { label: 'apoc.map.removeKeys', + documentation: + 'Removes the given keys from the map (recursively if recursive is true).', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'keys', + documentation: 'keys :: LIST? OF STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.map.setEntry': { label: 'apoc.map.setEntry', + documentation: 'Adds or updates the given entry in the map.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.map.setKey': { label: 'apoc.map.setKey', + documentation: 'Adds or updates the given entry in the map.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.map.setLists': { label: 'apoc.map.setLists', + documentation: + 'Adds or updates the given keys/value pairs provided in list format (e.g. [key1, key2],[value1, value2]) in a map.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'keys', + documentation: 'keys :: LIST? OF STRING?', + }, + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.map.setPairs': { label: 'apoc.map.setPairs', + documentation: + 'Adds or updates the given key/value pairs (e.g. [key1,value1],[key2,value2]) in a map.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'pairs', + documentation: 'pairs :: LIST? OF LIST? OF ANY?', + }, + ], }, 'apoc.map.setValues': { label: 'apoc.map.setValues', + documentation: + 'Adds or updates the alternating key/value pairs (e.g. [key1,value1,key2,value2]) in a map.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'pairs', + documentation: 'pairs :: LIST? OF ANY?', + }, + ], }, 'apoc.map.sortedProperties': { label: 'apoc.map.sortedProperties', + documentation: + 'Returns a list of key/value pairs.\nThe pairs are sorted by alphabetically by key, with optional case sensitivity.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'ignoreCase', + documentation: 'ignoreCase = true :: BOOLEAN?', + }, + ], }, 'apoc.map.submap': { label: 'apoc.map.submap', + documentation: + 'Returns a sub-map for the given keys.\nIf one of the keys does not exist, or lacks a default value, this function will throw an exception.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'keys', + documentation: 'keys :: LIST? OF STRING?', + }, + { + label: 'values', + documentation: 'values = [] :: LIST? OF ANY?', + }, + { + label: 'fail', + documentation: 'fail = true :: BOOLEAN?', + }, + ], }, 'apoc.map.unflatten': { label: 'apoc.map.unflatten', + documentation: + 'Unflattens items in the given map to nested items.\nThis function is the reverse of the `apoc.map.flatten` function.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'delimiter', + documentation: 'delimiter = . :: STRING?', + }, + ], }, 'apoc.map.updateTree': { label: 'apoc.map.updateTree', + documentation: + 'Adds the data map on each level of the nested tree, where the key-value pairs match.', + parameters: [ + { + label: 'tree', + documentation: 'tree :: MAP?', + }, + { + label: 'key', + documentation: 'key :: STRING?', + }, + { + label: 'data', + documentation: 'data :: LIST? OF LIST? OF ANY?', + }, + ], }, 'apoc.map.values': { label: 'apoc.map.values', + documentation: + 'Returns a list of values indicated by the given keys (returns a null value if a given key is missing).', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP?', + }, + { + label: 'keys', + documentation: 'keys = [] :: LIST? OF STRING?', + }, + { + label: 'addNullsForMissing', + documentation: 'addNullsForMissing = false :: BOOLEAN?', + }, + ], }, 'apoc.math.cosh': { label: 'apoc.math.cosh', + documentation: 'Returns the hyperbolic cosine.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT?', + }, + ], }, 'apoc.math.coth': { label: 'apoc.math.coth', + documentation: 'Returns the hyperbolic cotangent.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT?', + }, + ], }, 'apoc.math.csch': { label: 'apoc.math.csch', + documentation: 'Returns the hyperbolic cosecant.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT?', + }, + ], }, 'apoc.math.maxByte': { label: 'apoc.math.maxByte', + documentation: 'Returns the maximum value of a byte.', + parameters: [], }, 'apoc.math.maxDouble': { label: 'apoc.math.maxDouble', + documentation: + 'Returns the largest positive finite value of type double.', + parameters: [], }, 'apoc.math.maxInt': { label: 'apoc.math.maxInt', + documentation: 'Returns the maximum value of an integer.', + parameters: [], }, 'apoc.math.maxLong': { label: 'apoc.math.maxLong', + documentation: 'Returns the maximum value of a long.', + parameters: [], }, 'apoc.math.minByte': { label: 'apoc.math.minByte', + documentation: 'Returns the minimum value of a byte.', + parameters: [], }, 'apoc.math.minDouble': { label: 'apoc.math.minDouble', + documentation: + 'Returns the smallest positive non-zero value of type double.', + parameters: [], }, 'apoc.math.minInt': { label: 'apoc.math.minInt', + documentation: 'Returns the minimum value of an integer.', + parameters: [], }, 'apoc.math.minLong': { label: 'apoc.math.minLong', - }, - 'apoc.math.round': { - label: 'apoc.math.round', + documentation: 'Returns the minimum value of a long.', + parameters: [], }, 'apoc.math.sech': { label: 'apoc.math.sech', + documentation: 'Returns the hyperbolic secant of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT?', + }, + ], }, 'apoc.math.sigmoid': { label: 'apoc.math.sigmoid', + documentation: 'Returns the sigmoid of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT?', + }, + ], }, 'apoc.math.sigmoidPrime': { label: 'apoc.math.sigmoidPrime', + documentation: + 'Returns the sigmoid prime [ sigmoid(val) * (1 - sigmoid(val)) ] of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT?', + }, + ], }, 'apoc.math.sinh': { label: 'apoc.math.sinh', + documentation: 'Returns the hyperbolic sine of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT?', + }, + ], }, 'apoc.math.tanh': { label: 'apoc.math.tanh', + documentation: 'Returns the hyperbolic tangent of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT?', + }, + ], }, 'apoc.meta.cypher.isType': { label: 'apoc.meta.cypher.isType', + documentation: 'Returns true if the given value matches the given type.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY?', + }, + { + label: 'type', + documentation: 'type :: STRING?', + }, + ], }, 'apoc.meta.cypher.type': { label: 'apoc.meta.cypher.type', + documentation: 'Returns the type name of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY?', + }, + ], }, 'apoc.meta.cypher.types': { label: 'apoc.meta.cypher.types', - }, - 'apoc.meta.isType': { - label: 'apoc.meta.isType', + documentation: + 'Returns a map containing the type names of the given values.', + parameters: [ + { + label: 'props', + documentation: 'props :: ANY?', + }, + ], }, 'apoc.meta.nodes.count': { label: 'apoc.meta.nodes.count', - }, - 'apoc.meta.type': { - label: 'apoc.meta.type', - }, - 'apoc.meta.typeName': { - label: 'apoc.meta.typeName', - }, - 'apoc.meta.types': { - label: 'apoc.meta.types', + documentation: + 'Returns the sum of the nodes with the given labels in the list.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes = [] :: LIST? OF STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.node.degree': { label: 'apoc.node.degree', + documentation: 'Returns the total degrees for the given node.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING?', + }, + ], }, 'apoc.node.degree.in': { label: 'apoc.node.degree.in', + documentation: + 'Returns the total number of incoming relationships to the given node.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING?', + }, + ], }, 'apoc.node.degree.out': { label: 'apoc.node.degree.out', + documentation: + 'Returns the total number of outgoing relationships from the given node.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING?', + }, + ], }, 'apoc.node.id': { label: 'apoc.node.id', + documentation: 'Returns the id for the given virtual node.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + ], }, 'apoc.node.labels': { label: 'apoc.node.labels', - }, - 'apoc.node.rebind': { - label: 'apoc.node.rebind', + documentation: 'Returns the labels for the given virtual node.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + ], }, 'apoc.node.relationship.exists': { label: 'apoc.node.relationship.exists', + documentation: + 'Returns a boolean based on whether the given node has a relationship (or whether the given node has a relationship of the given type and direction).', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING?', + }, + ], }, 'apoc.node.relationship.types': { label: 'apoc.node.relationship.types', + documentation: + 'Returns a list of distinct relationship types for the given node.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING?', + }, + ], }, 'apoc.node.relationships.exist': { label: 'apoc.node.relationships.exist', + documentation: + 'Returns a boolean based on whether the given node has relationships (or whether the given nodes has relationships of the given type and direction).', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING?', + }, + ], }, 'apoc.nodes.connected': { label: 'apoc.nodes.connected', + documentation: + 'Returns true when a given node is directly connected to another given node.\nThis function is optimized for dense nodes.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE?', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE?', + }, + { + label: 'types', + documentation: 'types = :: STRING?', + }, + ], }, 'apoc.nodes.isDense': { label: 'apoc.nodes.isDense', + documentation: 'Returns true if the given node is a dense node.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE?', + }, + ], }, 'apoc.nodes.relationship.types': { label: 'apoc.nodes.relationship.types', + documentation: + 'Returns a list of distinct relationship types from the given list of nodes.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY?', + }, + { + label: 'types', + documentation: 'types = :: STRING?', + }, + ], }, 'apoc.nodes.relationships.exist': { label: 'apoc.nodes.relationships.exist', + documentation: + 'Returns a boolean based on whether or not the given nodes have the given relationships.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY?', + }, + { + label: 'types', + documentation: 'types = :: STRING?', + }, + ], }, 'apoc.number.arabicToRoman': { label: 'apoc.number.arabicToRoman', + documentation: 'Converts the given Arabic numbers to Roman numbers.', + parameters: [ + { + label: 'number', + documentation: 'number :: ANY?', + }, + ], }, 'apoc.number.exact.add': { label: 'apoc.number.exact.add', + documentation: + 'Returns the result of adding the two given large numbers (using Java BigDecimal).', + parameters: [ + { + label: 'stringA', + documentation: 'stringA :: STRING?', + }, + { + label: 'stringB', + documentation: 'stringB :: STRING?', + }, + ], }, 'apoc.number.exact.div': { label: 'apoc.number.exact.div', + documentation: + 'Returns the result of dividing a given large number with another given large number (using Java BigDecimal).', + parameters: [ + { + label: 'stringA', + documentation: 'stringA :: STRING?', + }, + { + label: 'stringB', + documentation: 'stringB :: STRING?', + }, + { + label: 'precision', + documentation: 'precision = 0 :: INTEGER?', + }, + { + label: 'roundingMode', + documentation: 'roundingMode = HALF_UP :: STRING?', + }, + ], }, 'apoc.number.exact.mul': { label: 'apoc.number.exact.mul', + documentation: + 'Returns the result of multiplying two given large numbers (using Java BigDecimal).', + parameters: [ + { + label: 'stringA', + documentation: 'stringA :: STRING?', + }, + { + label: 'stringB', + documentation: 'stringB :: STRING?', + }, + { + label: 'precision', + documentation: 'precision = 0 :: INTEGER?', + }, + { + label: 'roundingMode', + documentation: 'roundingMode = HALF_UP :: STRING?', + }, + ], }, 'apoc.number.exact.sub': { label: 'apoc.number.exact.sub', + documentation: + 'Returns the result of subtracting a given large number from another given large number (using Java BigDecimal).', + parameters: [ + { + label: 'stringA', + documentation: 'stringA :: STRING?', + }, + { + label: 'stringB', + documentation: 'stringB :: STRING?', + }, + ], }, 'apoc.number.exact.toExact': { label: 'apoc.number.exact.toExact', + documentation: + 'Returns the exact value of the given number (using Java BigDecimal).', + parameters: [ + { + label: 'number', + documentation: 'number :: INTEGER?', + }, + ], }, 'apoc.number.exact.toFloat': { label: 'apoc.number.exact.toFloat', + documentation: + 'Returns the float value of the given large number (using Java BigDecimal).', + parameters: [ + { + label: 'string', + documentation: 'string :: STRING?', + }, + { + label: 'precision', + documentation: 'precision = 0 :: INTEGER?', + }, + { + label: 'roundingMode', + documentation: 'roundingMode = HALF_UP :: STRING?', + }, + ], }, 'apoc.number.exact.toInteger': { label: 'apoc.number.exact.toInteger', + documentation: + 'Returns the integer value of the given large number (using Java BigDecimal).', + parameters: [ + { + label: 'string', + documentation: 'string :: STRING?', + }, + { + label: 'precision', + documentation: 'precision = 0 :: INTEGER?', + }, + { + label: 'roundingMode', + documentation: 'roundingMode = HALF_UP :: STRING?', + }, + ], }, 'apoc.number.format': { label: 'apoc.number.format', + documentation: + 'Formats the given long or double using the given pattern and language to produce a string.', + parameters: [ + { + label: 'number', + documentation: 'number :: ANY?', + }, + { + label: 'pattern', + documentation: 'pattern = :: STRING?', + }, + { + label: 'language', + documentation: 'language = :: STRING?', + }, + ], }, 'apoc.number.parseFloat': { label: 'apoc.number.parseFloat', + documentation: + 'Parses the given string using the given pattern and language to produce a double.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'pattern', + documentation: 'pattern = :: STRING?', + }, + { + label: 'language', + documentation: 'language = :: STRING?', + }, + ], }, 'apoc.number.parseInt': { label: 'apoc.number.parseInt', + documentation: + 'Parses the given string using the given pattern and language to produce a long.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'pattern', + documentation: 'pattern = :: STRING?', + }, + { + label: 'language', + documentation: 'language = :: STRING?', + }, + ], }, 'apoc.number.romanToArabic': { label: 'apoc.number.romanToArabic', + documentation: 'Converts the given Roman numbers to Arabic numbers.', + parameters: [ + { + label: 'romanNumber', + documentation: 'romanNumber :: STRING?', + }, + ], }, 'apoc.path.combine': { label: 'apoc.path.combine', + documentation: 'Combines the two given paths into one path.', + parameters: [ + { + label: 'path1', + documentation: 'path1 :: PATH?', + }, + { + label: 'path2', + documentation: 'path2 :: PATH?', + }, + ], }, 'apoc.path.create': { label: 'apoc.path.create', + documentation: + 'Returns a path from the given start node and a list of relationships.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE?', + }, + { + label: 'rels', + documentation: 'rels = [] :: LIST? OF RELATIONSHIP?', + }, + ], }, 'apoc.path.elements': { label: 'apoc.path.elements', + documentation: + 'Converts the given path into a list of nodes and relationships.', + parameters: [ + { + label: 'path', + documentation: 'path :: PATH?', + }, + ], }, 'apoc.path.slice': { label: 'apoc.path.slice', + documentation: + 'Returns a sub-path of the given length and offset from the given path.', + parameters: [ + { + label: 'path', + documentation: 'path :: PATH?', + }, + { + label: 'offset', + documentation: 'offset = 0 :: INTEGER?', + }, + { + label: 'length', + documentation: 'length = -1 :: INTEGER?', + }, + ], }, 'apoc.rel.endNode': { label: 'apoc.rel.endNode', + documentation: 'Returns the end node for the given virtual relationship.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP?', + }, + ], }, 'apoc.rel.id': { label: 'apoc.rel.id', - }, - 'apoc.rel.rebind': { - label: 'apoc.rel.rebind', + documentation: 'Returns the id for the given virtual relationship.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP?', + }, + ], }, 'apoc.rel.startNode': { label: 'apoc.rel.startNode', + documentation: + 'Returns the start node for the given virtual relationship.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP?', + }, + ], }, 'apoc.rel.type': { label: 'apoc.rel.type', + documentation: 'Returns the type for the given virtual relationship.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP?', + }, + ], }, 'apoc.schema.node.constraintExists': { label: 'apoc.schema.node.constraintExists', + documentation: + 'Returns a boolean depending on whether or not a constraint exists for the given node label with the given property names.', + parameters: [ + { + label: 'labelName', + documentation: 'labelName :: STRING?', + }, + { + label: 'propertyName', + documentation: 'propertyName :: LIST? OF STRING?', + }, + ], }, 'apoc.schema.node.indexExists': { label: 'apoc.schema.node.indexExists', + documentation: + 'Returns a boolean depending on whether or not an index exists for the given node label with the given property names.', + parameters: [ + { + label: 'labelName', + documentation: 'labelName :: STRING?', + }, + { + label: 'propertyName', + documentation: 'propertyName :: LIST? OF STRING?', + }, + ], }, 'apoc.schema.relationship.constraintExists': { label: 'apoc.schema.relationship.constraintExists', + documentation: + 'Returns a boolean depending on whether or not a constraint exists for the given relationship type with the given property names.', + parameters: [ + { + label: 'type', + documentation: 'type :: STRING?', + }, + { + label: 'propertyName', + documentation: 'propertyName :: LIST? OF STRING?', + }, + ], }, 'apoc.schema.relationship.indexExists': { label: 'apoc.schema.relationship.indexExists', + documentation: + 'Returns a boolean depending on whether or not an index exists for the given relationship type with the given property names.', + parameters: [ + { + label: 'type', + documentation: 'type :: STRING?', + }, + { + label: 'propertyName', + documentation: 'propertyName :: LIST? OF STRING?', + }, + ], }, 'apoc.scoring.existence': { label: 'apoc.scoring.existence', + documentation: 'Returns the given score if true, 0 if false.', + parameters: [ + { + label: 'score', + documentation: 'score :: INTEGER?', + }, + { + label: 'exists', + documentation: 'exists :: BOOLEAN?', + }, + ], }, 'apoc.scoring.pareto': { label: 'apoc.scoring.pareto', - }, - 'apoc.static.get': { - label: 'apoc.static.get', - }, - 'apoc.static.getAll': { - label: 'apoc.static.getAll', + documentation: + 'Applies a Pareto scoring function over the given integers.', + parameters: [ + { + label: 'minimumThreshold', + documentation: 'minimumThreshold :: INTEGER?', + }, + { + label: 'eightyPercentValue', + documentation: 'eightyPercentValue :: INTEGER?', + }, + { + label: 'maximumValue', + documentation: 'maximumValue :: INTEGER?', + }, + { + label: 'score', + documentation: 'score :: INTEGER?', + }, + ], }, 'apoc.temporal.format': { label: 'apoc.temporal.format', + documentation: + 'Formats the given temporal value into the given time format.', + parameters: [ + { + label: 'temporal', + documentation: 'temporal :: ANY?', + }, + { + label: 'format', + documentation: 'format = yyyy-MM-dd :: STRING?', + }, + ], }, 'apoc.temporal.formatDuration': { label: 'apoc.temporal.formatDuration', + documentation: 'Formats the given duration into the given time format.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY?', + }, + { + label: 'format', + documentation: 'format :: STRING?', + }, + ], }, 'apoc.temporal.toZonedTemporal': { label: 'apoc.temporal.toZonedTemporal', + documentation: + 'Parses the given date string using the specified format into the given time zone.', + parameters: [ + { + label: 'time', + documentation: 'time :: STRING?', + }, + { + label: 'format', + documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING?', + }, + { + label: 'timezone', + documentation: 'timezone = UTC :: STRING?', + }, + ], }, 'apoc.text.base64Decode': { label: 'apoc.text.base64Decode', + documentation: 'Decodes the given Base64 encoded string.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.base64Encode': { label: 'apoc.text.base64Encode', + documentation: 'Encodes the given string with Base64.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.base64UrlDecode': { label: 'apoc.text.base64UrlDecode', + documentation: 'Decodes the given Base64 encoded URL.', + parameters: [ + { + label: 'url', + documentation: 'url :: STRING?', + }, + ], }, 'apoc.text.base64UrlEncode': { label: 'apoc.text.base64UrlEncode', + documentation: 'Encodes the given URL with Base64.', + parameters: [ + { + label: 'url', + documentation: 'url :: STRING?', + }, + ], }, 'apoc.text.byteCount': { label: 'apoc.text.byteCount', + documentation: 'Returns the size of the given string in bytes.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'charset', + documentation: 'charset = UTF-8 :: STRING?', + }, + ], }, 'apoc.text.bytes': { label: 'apoc.text.bytes', + documentation: 'Returns the given string as bytes.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'charset', + documentation: 'charset = UTF-8 :: STRING?', + }, + ], }, 'apoc.text.camelCase': { label: 'apoc.text.camelCase', + documentation: 'Converts the given string to camel case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.capitalize': { label: 'apoc.text.capitalize', + documentation: 'Capitalizes the first letter of the given string.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.capitalizeAll': { label: 'apoc.text.capitalizeAll', + documentation: + 'Capitalizes the first letter of every word in the given string.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.charAt': { label: 'apoc.text.charAt', + documentation: + 'Returns the long value of the character at the given index.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'index', + documentation: 'index :: INTEGER?', + }, + ], }, 'apoc.text.clean': { label: 'apoc.text.clean', + documentation: + 'Strips the given string of everything except alpha numeric characters and converts it to lower case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.code': { label: 'apoc.text.code', + documentation: 'Converts the long value into a string.', + parameters: [ + { + label: 'codepoint', + documentation: 'codepoint :: INTEGER?', + }, + ], }, 'apoc.text.compareCleaned': { label: 'apoc.text.compareCleaned', + documentation: + 'Compares two given strings stripped of everything except alpha numeric characters converted to lower case.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING?', + }, + { + label: 'text2', + documentation: 'text2 :: STRING?', + }, + ], }, 'apoc.text.decapitalize': { label: 'apoc.text.decapitalize', + documentation: + 'Turns the first letter of the given string from upper case to lower case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.decapitalizeAll': { label: 'apoc.text.decapitalizeAll', + documentation: + 'Turns the first letter of every word in the given string to lower case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.distance': { label: 'apoc.text.distance', + documentation: + 'Compares the two given strings using the Levenshtein distance algorithm.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING?', + }, + { + label: 'text2', + documentation: 'text2 :: STRING?', + }, + ], }, 'apoc.text.doubleMetaphone': { label: 'apoc.text.doubleMetaphone', + documentation: + 'Returns the double metaphone phonetic encoding of all words in the given string value.', + parameters: [ + { + label: 'value', + documentation: 'value :: STRING?', + }, + ], }, 'apoc.text.format': { label: 'apoc.text.format', + documentation: 'Formats the given string with the given parameters.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'params', + documentation: 'params :: LIST? OF ANY?', + }, + { + label: 'language', + documentation: 'language = en :: STRING?', + }, + ], }, 'apoc.text.fuzzyMatch': { label: 'apoc.text.fuzzyMatch', + documentation: 'Performs a fuzzy match search of the two given strings.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING?', + }, + { + label: 'text2', + documentation: 'text2 :: STRING?', + }, + ], }, 'apoc.text.hammingDistance': { label: 'apoc.text.hammingDistance', + documentation: + 'Compares the two given strings using the Hamming distance algorithm.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING?', + }, + { + label: 'text2', + documentation: 'text2 :: STRING?', + }, + ], }, 'apoc.text.hexCharAt': { label: 'apoc.text.hexCharAt', + documentation: + 'Returns the hexadecimal value of the given string at the given index.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'index', + documentation: 'index :: INTEGER?', + }, + ], }, 'apoc.text.hexValue': { label: 'apoc.text.hexValue', + documentation: 'Returns the hexadecimal value of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: INTEGER?', + }, + ], }, 'apoc.text.indexOf': { label: 'apoc.text.indexOf', + documentation: + 'Returns the first occurrence of the lookup string in the given string, or -1 if not found.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'lookup', + documentation: 'lookup :: STRING?', + }, + { + label: 'from', + documentation: 'from = 0 :: INTEGER?', + }, + { + label: 'to', + documentation: 'to = -1 :: INTEGER?', + }, + ], }, 'apoc.text.indexesOf': { label: 'apoc.text.indexesOf', + documentation: + 'Returns all occurences of the lookup string in the given string, or an empty list if not found.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'lookup', + documentation: 'lookup :: STRING?', + }, + { + label: 'from', + documentation: 'from = 0 :: INTEGER?', + }, + { + label: 'to', + documentation: 'to = -1 :: INTEGER?', + }, + ], }, 'apoc.text.jaroWinklerDistance': { label: 'apoc.text.jaroWinklerDistance', + documentation: + 'compares the two given strings using the Jaro-Winkler distance algorithm.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING?', + }, + { + label: 'text2', + documentation: 'text2 :: STRING?', + }, + ], }, 'apoc.text.join': { label: 'apoc.text.join', + documentation: 'Joins the given strings using the given delimiter.', + parameters: [ + { + label: 'texts', + documentation: 'texts :: LIST? OF STRING?', + }, + { + label: 'delimiter', + documentation: 'delimiter :: STRING?', + }, + ], }, 'apoc.text.levenshteinDistance': { label: 'apoc.text.levenshteinDistance', + documentation: + 'Compares the given strings using the Levenshtein distance algorithm.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING?', + }, + { + label: 'text2', + documentation: 'text2 :: STRING?', + }, + ], }, 'apoc.text.levenshteinSimilarity': { label: 'apoc.text.levenshteinSimilarity', + documentation: + 'Returns the similarity (a value within 0 and 1) between the two given strings based on the Levenshtein distance algorithm.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING?', + }, + { + label: 'text2', + documentation: 'text2 :: STRING?', + }, + ], }, 'apoc.text.lpad': { label: 'apoc.text.lpad', + documentation: 'Left pads the given string by the given width.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'count', + documentation: 'count :: INTEGER?', + }, + { + label: 'delimiter', + documentation: 'delimiter = :: STRING?', + }, + ], }, 'apoc.text.phonetic': { label: 'apoc.text.phonetic', + documentation: + 'Returns the US_ENGLISH phonetic soundex encoding of all words of the string.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.random': { label: 'apoc.text.random', + documentation: + 'Generates a random string to the given length using a length parameter and an optional string of valid characters.\nUnsuitable for cryptographic use-cases.', + parameters: [ + { + label: 'length', + documentation: 'length :: INTEGER?', + }, + { + label: 'valid', + documentation: 'valid = A-Za-z0-9 :: STRING?', + }, + ], }, 'apoc.text.regexGroups': { label: 'apoc.text.regexGroups', + documentation: + 'Returns all groups matching the given regular expression in the given text.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'regex', + documentation: 'regex :: STRING?', + }, + ], }, 'apoc.text.regreplace': { label: 'apoc.text.regreplace', + documentation: + 'Finds and replaces all matches found by the given regular expression with the given replacement.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'regex', + documentation: 'regex :: STRING?', + }, + { + label: 'replacement', + documentation: 'replacement :: STRING?', + }, + ], }, 'apoc.text.repeat': { label: 'apoc.text.repeat', + documentation: + 'Returns the result of the given item multiplied by the given count.', + parameters: [ + { + label: 'item', + documentation: 'item :: STRING?', + }, + { + label: 'count', + documentation: 'count :: INTEGER?', + }, + ], }, 'apoc.text.replace': { label: 'apoc.text.replace', + documentation: + 'Finds and replaces all matches found by the given regular expression with the given replacement.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'regex', + documentation: 'regex :: STRING?', + }, + { + label: 'replacement', + documentation: 'replacement :: STRING?', + }, + ], }, 'apoc.text.rpad': { label: 'apoc.text.rpad', + documentation: 'Right pads the given string by the given width.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'count', + documentation: 'count :: INTEGER?', + }, + { + label: 'delimiter', + documentation: 'delimiter = :: STRING?', + }, + ], }, 'apoc.text.slug': { label: 'apoc.text.slug', + documentation: + 'Replaces the whitespace in the given string with the given delimiter.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'delimiter', + documentation: 'delimiter = - :: STRING?', + }, + ], }, 'apoc.text.snakeCase': { label: 'apoc.text.snakeCase', + documentation: 'Converts the given string to snake case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.sorensenDiceSimilarity': { label: 'apoc.text.sorensenDiceSimilarity', + documentation: + 'Compares the two given strings using the Sørensen–Dice coefficient formula, with the provided IETF language tag.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING?', + }, + { + label: 'text2', + documentation: 'text2 :: STRING?', + }, + { + label: 'languageTag', + documentation: 'languageTag = en :: STRING?', + }, + ], }, 'apoc.text.split': { label: 'apoc.text.split', + documentation: + 'Splits the given string using a given regular expression as a separator.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + { + label: 'regex', + documentation: 'regex :: STRING?', + }, + { + label: 'limit', + documentation: 'limit = 0 :: INTEGER?', + }, + ], }, 'apoc.text.swapCase': { label: 'apoc.text.swapCase', + documentation: 'Swaps the cases in the given string.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.toCypher': { label: 'apoc.text.toCypher', + documentation: 'Converts the given value to a Cypher property string.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.text.toUpperCase': { label: 'apoc.text.toUpperCase', + documentation: 'Converts the given string to upper case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.upperCamelCase': { label: 'apoc.text.upperCamelCase', + documentation: 'Converts the given string to upper camel case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.urldecode': { label: 'apoc.text.urldecode', + documentation: 'Decodes the given URL encoded string.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.text.urlencode': { label: 'apoc.text.urlencode', - }, - 'apoc.trigger.nodesByLabel': { - label: 'apoc.trigger.nodesByLabel', - }, - 'apoc.trigger.propertiesByKey': { - label: 'apoc.trigger.propertiesByKey', - }, - 'apoc.trigger.toNode': { - label: 'apoc.trigger.toNode', - }, - 'apoc.trigger.toRelationship': { - label: 'apoc.trigger.toRelationship', - }, - 'apoc.ttl.config': { - label: 'apoc.ttl.config', + documentation: 'Encodes the given URL string.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING?', + }, + ], }, 'apoc.util.compress': { label: 'apoc.util.compress', + documentation: 'Zips the given string.', + parameters: [ + { + label: 'data', + documentation: 'data :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.util.decompress': { label: 'apoc.util.decompress', + documentation: 'Unzips the given byte array.', + parameters: [ + { + label: 'data', + documentation: 'data :: BYTEARRAY?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'apoc.util.md5': { label: 'apoc.util.md5', + documentation: + 'Returns the MD5 checksum of the concatenation of all string values in the given list.\nMD5 is a weak hashing algorithm which is unsuitable for cryptographic use-cases.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.util.sha1': { label: 'apoc.util.sha1', + documentation: + 'Returns the SHA1 of the concatenation of all string values in the given list.\nSHA1 is a weak hashing algorithm which is unsuitable for cryptographic use-cases.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.util.sha256': { label: 'apoc.util.sha256', + documentation: + 'Returns the SHA256 of the concatenation of all string values in the given list.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.util.sha384': { label: 'apoc.util.sha384', + documentation: + 'Returns the SHA384 of the concatenation of all string values in the given list.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.util.sha512': { label: 'apoc.util.sha512', + documentation: + 'Returns the SHA512 of the concatenation of all string values in the list.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST? OF ANY?', + }, + ], }, 'apoc.util.validatePredicate': { label: 'apoc.util.validatePredicate', + documentation: + 'If the given predicate is true an exception is thrown, otherwise it returns true (for use inside `WHERE` subclauses).', + parameters: [ + { + label: 'predicate', + documentation: 'predicate :: BOOLEAN?', + }, + { + label: 'message', + documentation: 'message :: STRING?', + }, + { + label: 'params', + documentation: 'params :: LIST? OF ANY?', + }, + ], }, 'apoc.version': { label: 'apoc.version', + documentation: 'Returns the APOC version currently installed.', + parameters: [], }, 'apoc.xml.parse': { label: 'apoc.xml.parse', + documentation: 'Parses the given XML string as a map.', + parameters: [ + { + label: 'data', + documentation: 'data :: STRING?', + }, + { + label: 'path', + documentation: 'path = / :: STRING?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + { + label: 'simple', + documentation: 'simple = false :: BOOLEAN?', + }, + ], }, asin: { label: 'asin', + documentation: 'Returns the arcsine of a number in radians.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, atan: { label: 'atan', + documentation: 'Returns the arctangent of a number in radians.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, atan2: { label: 'atan2', + documentation: + 'Returns the arctangent2 of a set of coordinates in radians.', + parameters: [ + { + label: 'y', + documentation: 'y :: FLOAT?', + }, + { + label: 'x', + documentation: 'x :: FLOAT?', + }, + ], }, avg: { label: 'avg', + documentation: 'Returns the average of a set of duration values.', + parameters: [ + { + label: 'input', + documentation: 'input :: DURATION?', + }, + ], }, ceil: { label: 'ceil', + documentation: + 'Returns the smallest floating point number that is greater than or equal to a number and equal to a mathematical integer.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, coalesce: { label: 'coalesce', + documentation: + 'Returns the first non-null value in a list of expressions.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY?', + }, + ], }, collect: { label: 'collect', + documentation: + 'Returns a list containing the values returned by an expression.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY?', + }, + ], }, cos: { label: 'cos', + documentation: 'Returns the cosine of a number.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, cot: { label: 'cot', + documentation: 'Returns the cotangent of a number.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, count: { label: 'count', + documentation: 'Returns the number of values or rows.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY?', + }, + ], }, date: { label: 'date', + documentation: 'Create a Date instant.', + parameters: [ + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'date.realtime': { label: 'date.realtime', + documentation: 'Get the current Date instant using the realtime clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'date.statement': { label: 'date.statement', + documentation: 'Get the current Date instant using the statement clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'date.transaction': { label: 'date.transaction', + documentation: + 'Get the current Date instant using the transaction clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'date.truncate': { label: 'date.truncate', + documentation: + 'Truncate the input temporal value to a Date instant using the specified unit.', + parameters: [ + { + label: 'unit', + documentation: 'unit :: STRING?', + }, + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + { + label: 'fields', + documentation: 'fields = null :: MAP?', + }, + ], }, datetime: { label: 'datetime', + documentation: 'Create a DateTime instant.', + parameters: [ + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'datetime.fromepoch': { label: 'datetime.fromepoch', + documentation: + 'Create a DateTime given the seconds and nanoseconds since the start of the epoch.', + parameters: [ + { + label: 'seconds', + documentation: 'seconds :: NUMBER?', + }, + { + label: 'nanoseconds', + documentation: 'nanoseconds :: NUMBER?', + }, + ], }, 'datetime.fromepochmillis': { label: 'datetime.fromepochmillis', + documentation: + 'Create a DateTime given the milliseconds since the start of the epoch.', + parameters: [ + { + label: 'milliseconds', + documentation: 'milliseconds :: NUMBER?', + }, + ], }, 'datetime.realtime': { label: 'datetime.realtime', + documentation: + 'Get the current DateTime instant using the realtime clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'datetime.statement': { label: 'datetime.statement', + documentation: + 'Get the current DateTime instant using the statement clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'datetime.transaction': { label: 'datetime.transaction', + documentation: + 'Get the current DateTime instant using the transaction clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'datetime.truncate': { label: 'datetime.truncate', + documentation: + 'Truncate the input temporal value to a DateTime instant using the specified unit.', + parameters: [ + { + label: 'unit', + documentation: 'unit :: STRING?', + }, + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + { + label: 'fields', + documentation: 'fields = null :: MAP?', + }, + ], }, degrees: { label: 'degrees', + documentation: 'Converts radians to degrees.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, duration: { label: 'duration', + documentation: 'Construct a Duration value.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY?', + }, + ], }, 'duration.between': { label: 'duration.between', + documentation: + "Compute the duration between the 'from' instant (inclusive) and the 'to' instant (exclusive) in logical units.", + parameters: [ + { + label: 'from', + documentation: 'from :: ANY?', + }, + { + label: 'to', + documentation: 'to :: ANY?', + }, + ], }, 'duration.inDays': { label: 'duration.inDays', + documentation: + "Compute the duration between the 'from' instant (inclusive) and the 'to' instant (exclusive) in days.", + parameters: [ + { + label: 'from', + documentation: 'from :: ANY?', + }, + { + label: 'to', + documentation: 'to :: ANY?', + }, + ], }, 'duration.inMonths': { label: 'duration.inMonths', + documentation: + "Compute the duration between the 'from' instant (inclusive) and the 'to' instant (exclusive) in months.", + parameters: [ + { + label: 'from', + documentation: 'from :: ANY?', + }, + { + label: 'to', + documentation: 'to :: ANY?', + }, + ], }, 'duration.inSeconds': { label: 'duration.inSeconds', + documentation: + "Compute the duration between the 'from' instant (inclusive) and the 'to' instant (exclusive) in seconds.", + parameters: [ + { + label: 'from', + documentation: 'from :: ANY?', + }, + { + label: 'to', + documentation: 'to :: ANY?', + }, + ], }, e: { label: 'e', + documentation: 'Returns the base of the natural logarithm, e.', + parameters: [], + }, + elementId: { + label: 'elementId', + documentation: 'Returns the element id of a relationship.', + parameters: [ + { + label: 'input', + documentation: 'input :: RELATIONSHIP?', + }, + ], }, endNode: { label: 'endNode', + documentation: 'Returns the end node of a relationship.', + parameters: [ + { + label: 'input', + documentation: 'input :: RELATIONSHIP?', + }, + ], }, exists: { label: 'exists', + documentation: + 'Returns true if a match for the pattern exists in the graph.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY?', + }, + ], }, exp: { label: 'exp', + documentation: + 'Returns e^n, where e is the base of the natural logarithm, and n is the value of the argument expression.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, file: { label: 'file', + documentation: + 'Returns the absolute path of the file that LOAD CSV is using.', + parameters: [], }, floor: { label: 'floor', + documentation: + 'Returns the largest floating point number that is less than or equal to a number and equal to a mathematical integer.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, 'gds.alpha.linkprediction.adamicAdar': { label: 'gds.alpha.linkprediction.adamicAdar', + documentation: 'Given two nodes, calculate Adamic Adar similarity', + parameters: [ + { + label: 'node1', + documentation: 'node1 :: NODE?', + }, + { + label: 'node2', + documentation: 'node2 :: NODE?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'gds.alpha.linkprediction.commonNeighbors': { label: 'gds.alpha.linkprediction.commonNeighbors', + documentation: 'Given two nodes, returns the number of common neighbors', + parameters: [ + { + label: 'node1', + documentation: 'node1 :: NODE?', + }, + { + label: 'node2', + documentation: 'node2 :: NODE?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'gds.alpha.linkprediction.preferentialAttachment': { label: 'gds.alpha.linkprediction.preferentialAttachment', + documentation: 'Given two nodes, calculate Preferential Attachment', + parameters: [ + { + label: 'node1', + documentation: 'node1 :: NODE?', + }, + { + label: 'node2', + documentation: 'node2 :: NODE?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'gds.alpha.linkprediction.resourceAllocation': { label: 'gds.alpha.linkprediction.resourceAllocation', + documentation: + 'Given two nodes, calculate Resource Allocation similarity', + parameters: [ + { + label: 'node1', + documentation: 'node1 :: NODE?', + }, + { + label: 'node2', + documentation: 'node2 :: NODE?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'gds.alpha.linkprediction.sameCommunity': { label: 'gds.alpha.linkprediction.sameCommunity', + documentation: + 'Given two nodes, indicates if they have the same community', + parameters: [ + { + label: 'node1', + documentation: 'node1 :: NODE?', + }, + { + label: 'node2', + documentation: 'node2 :: NODE?', + }, + { + label: 'communityProperty', + documentation: 'communityProperty = community :: STRING?', + }, + ], }, 'gds.alpha.linkprediction.totalNeighbors': { label: 'gds.alpha.linkprediction.totalNeighbors', + documentation: 'Given two nodes, calculate Total Neighbors', + parameters: [ + { + label: 'node1', + documentation: 'node1 :: NODE?', + }, + { + label: 'node2', + documentation: 'node2 :: NODE?', + }, + { + label: 'config', + documentation: 'config = {} :: MAP?', + }, + ], }, 'gds.alpha.ml.oneHotEncoding': { label: 'gds.alpha.ml.oneHotEncoding', + documentation: + 'RETURN gds.alpha.ml.oneHotEncoding(availableValues, selectedValues) - return a list of selected values in a one hot encoding format.', + parameters: [ + { + label: 'availableValues', + documentation: 'availableValues :: LIST? OF ANY?', + }, + { + label: 'selectedValues', + documentation: 'selectedValues :: LIST? OF ANY?', + }, + ], }, 'gds.graph.exists': { label: 'gds.graph.exists', + documentation: 'Checks if a graph exists in the catalog.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + ], + }, + 'gds.graph.project': { + label: 'gds.graph.project', + documentation: + 'Creates a named graph in the catalog for use by algorithms.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'sourceNode', + documentation: 'sourceNode :: ANY?', + }, + { + label: 'targetNode', + documentation: 'targetNode = null :: ANY?', + }, + { + label: 'dataConfig', + documentation: 'dataConfig = null :: ANY?', + }, + { + label: 'configuration', + documentation: 'configuration = null :: ANY?', + }, + { + label: 'alphaMigrationConfig', + documentation: 'alphaMigrationConfig = null :: ANY?', + }, + ], }, - 'gds.graph.project': { - label: 'gds.graph.project', + 'gds.isLicensed': { + label: 'gds.isLicensed', + documentation: + 'RETURN gds.isLicensed - Return if GDS is licensed. For more details use the procedure gds.license.state.', + parameters: [], }, 'gds.similarity.cosine': { label: 'gds.similarity.cosine', + documentation: + 'RETURN gds.similarity.cosine(vector1, vector2) - Given two collection vectors, calculate cosine similarity', + parameters: [ + { + label: 'vector1', + documentation: 'vector1 :: LIST? OF NUMBER?', + }, + { + label: 'vector2', + documentation: 'vector2 :: LIST? OF NUMBER?', + }, + ], }, 'gds.similarity.euclidean': { label: 'gds.similarity.euclidean', + documentation: + 'RETURN gds.similarity.euclidean(vector1, vector2) - Given two collection vectors, calculate similarity based on euclidean distance', + parameters: [ + { + label: 'vector1', + documentation: 'vector1 :: LIST? OF NUMBER?', + }, + { + label: 'vector2', + documentation: 'vector2 :: LIST? OF NUMBER?', + }, + ], }, 'gds.similarity.euclideanDistance': { label: 'gds.similarity.euclideanDistance', + documentation: + 'RETURN gds.similarity.euclideanDistance(vector1, vector2) - Given two collection vectors, calculate the euclidean distance (square root of the sum of the squared differences)', + parameters: [ + { + label: 'vector1', + documentation: 'vector1 :: LIST? OF NUMBER?', + }, + { + label: 'vector2', + documentation: 'vector2 :: LIST? OF NUMBER?', + }, + ], }, 'gds.similarity.jaccard': { label: 'gds.similarity.jaccard', + documentation: + 'RETURN gds.similarity.jaccard(vector1, vector2) - Given two collection vectors, calculate Jaccard similarity', + parameters: [ + { + label: 'vector1', + documentation: 'vector1 :: LIST? OF NUMBER?', + }, + { + label: 'vector2', + documentation: 'vector2 :: LIST? OF NUMBER?', + }, + ], }, 'gds.similarity.overlap': { label: 'gds.similarity.overlap', + documentation: + 'RETURN gds.similarity.overlap(vector1, vector2) - Given two collection vectors, calculate overlap similarity', + parameters: [ + { + label: 'vector1', + documentation: 'vector1 :: LIST? OF NUMBER?', + }, + { + label: 'vector2', + documentation: 'vector2 :: LIST? OF NUMBER?', + }, + ], }, 'gds.similarity.pearson': { label: 'gds.similarity.pearson', + documentation: + 'RETURN gds.similarity.pearson(vector1, vector2) - Given two collection vectors, calculate pearson similarity', + parameters: [ + { + label: 'vector1', + documentation: 'vector1 :: LIST? OF NUMBER?', + }, + { + label: 'vector2', + documentation: 'vector2 :: LIST? OF NUMBER?', + }, + ], }, 'gds.util.NaN': { label: 'gds.util.NaN', + documentation: 'RETURN gds.util.NaN() - Returns NaN as a Cypher value.', + parameters: [], }, 'gds.util.asNode': { label: 'gds.util.asNode', + documentation: + 'RETURN gds.util.asNode(nodeId) - Return the node objects for the given node id or null if none exists.', + parameters: [ + { + label: 'nodeId', + documentation: 'nodeId :: NUMBER?', + }, + ], }, 'gds.util.asNodes': { label: 'gds.util.asNodes', + documentation: + 'RETURN gds.util.asNodes(nodeIds) - Return the node objects for the given node ids or an empty list if none exists.', + parameters: [ + { + label: 'nodeIds', + documentation: 'nodeIds :: LIST? OF NUMBER?', + }, + ], }, 'gds.util.infinity': { label: 'gds.util.infinity', + documentation: + 'RETURN gds.util.infinity() - Return infinity as a Cypher value.', + parameters: [], }, 'gds.util.isFinite': { label: 'gds.util.isFinite', + documentation: + 'RETURN gds.util.isFinite(value) - Return true iff the given argument is a finite value (not ±Infinity, NaN, or null).', + parameters: [ + { + label: 'value', + documentation: 'value :: NUMBER?', + }, + ], }, 'gds.util.isInfinite': { label: 'gds.util.isInfinite', + documentation: + 'RETURN gds.util.isInfinite(value) - Return true iff the given argument is not a finite value (not ±Infinity, NaN, or null).', + parameters: [ + { + label: 'value', + documentation: 'value :: NUMBER?', + }, + ], }, 'gds.util.nodeProperty': { label: 'gds.util.nodeProperty', + documentation: + 'Returns a node property value from a named in-memory graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + { + label: 'nodeId', + documentation: 'nodeId :: ANY?', + }, + { + label: 'propertyKey', + documentation: 'propertyKey :: STRING?', + }, + { + label: 'nodeLabel', + documentation: 'nodeLabel = * :: STRING?', + }, + ], }, 'gds.version': { label: 'gds.version', + documentation: + 'RETURN gds.version() | Return the installed graph data science library version.', + parameters: [], + }, + 'graph.names': { + label: 'graph.names', + documentation: 'Lists the names of graph in the current database', + parameters: [], + }, + 'graph.propertiesByName': { + label: 'graph.propertiesByName', + documentation: 'Returns the map of properties associated with a graph', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING?', + }, + ], }, haversin: { label: 'haversin', + documentation: 'Returns half the versine of a number.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, head: { label: 'head', + documentation: 'Returns the first element in a list.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST? OF ANY?', + }, + ], }, id: { label: 'id', + documentation: 'Returns the id of a relationship.', + parameters: [ + { + label: 'input', + documentation: 'input :: RELATIONSHIP?', + }, + ], }, isEmpty: { label: 'isEmpty', + documentation: 'Checks whether a string is empty.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING?', + }, + ], + }, + isNaN: { + label: 'isNaN', + documentation: 'Returns whether the given floating point number is NaN.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, keys: { label: 'keys', + documentation: + 'Returns a list containing the string representations for all the property names of a map.', + parameters: [ + { + label: 'input', + documentation: 'input :: MAP?', + }, + ], }, labels: { label: 'labels', + documentation: + 'Returns a list containing the string representations for all the labels of a node.', + parameters: [ + { + label: 'input', + documentation: 'input :: NODE?', + }, + ], }, last: { label: 'last', + documentation: 'Returns the last element in a list.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST? OF ANY?', + }, + ], }, left: { label: 'left', + documentation: + 'Returns a string containing the specified number of leftmost characters of the original string.', + parameters: [ + { + label: 'original', + documentation: 'original :: STRING?', + }, + { + label: 'length', + documentation: 'length :: INTEGER?', + }, + ], }, length: { label: 'length', + documentation: 'Returns the length of a path.', + parameters: [ + { + label: 'input', + documentation: 'input :: PATH?', + }, + ], }, linenumber: { label: 'linenumber', + documentation: + 'Returns the line number that LOAD CSV is currently using.', + parameters: [], }, localdatetime: { label: 'localdatetime', + documentation: 'Create a LocalDateTime instant.', + parameters: [ + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'localdatetime.realtime': { label: 'localdatetime.realtime', + documentation: + 'Get the current LocalDateTime instant using the realtime clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'localdatetime.statement': { label: 'localdatetime.statement', + documentation: + 'Get the current LocalDateTime instant using the statement clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'localdatetime.transaction': { label: 'localdatetime.transaction', + documentation: + 'Get the current LocalDateTime instant using the transaction clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'localdatetime.truncate': { label: 'localdatetime.truncate', + documentation: + 'Truncate the input temporal value to a LocalDateTime instant using the specified unit.', + parameters: [ + { + label: 'unit', + documentation: 'unit :: STRING?', + }, + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + { + label: 'fields', + documentation: 'fields = null :: MAP?', + }, + ], }, localtime: { label: 'localtime', + documentation: 'Create a LocalTime instant.', + parameters: [ + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'localtime.realtime': { label: 'localtime.realtime', + documentation: + 'Get the current LocalTime instant using the realtime clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'localtime.statement': { label: 'localtime.statement', + documentation: + 'Get the current LocalTime instant using the statement clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'localtime.transaction': { label: 'localtime.transaction', + documentation: + 'Get the current LocalTime instant using the transaction clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'localtime.truncate': { label: 'localtime.truncate', + documentation: + 'Truncate the input temporal value to a LocalTime instant using the specified unit.', + parameters: [ + { + label: 'unit', + documentation: 'unit :: STRING?', + }, + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + { + label: 'fields', + documentation: 'fields = null :: MAP?', + }, + ], }, log: { label: 'log', + documentation: 'Returns the natural logarithm of a number.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, log10: { label: 'log10', + documentation: 'Returns the common logarithm (base 10) of a number.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, ltrim: { label: 'ltrim', + documentation: + 'Returns the original string with leading whitespace removed.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING?', + }, + ], }, max: { label: 'max', + documentation: 'Returns the maximum value in a set of values.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY?', + }, + ], }, min: { label: 'min', + documentation: 'Returns the minimum value in a set of values.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY?', + }, + ], }, nodes: { label: 'nodes', + documentation: 'Returns a list containing all the nodes in a path.', + parameters: [ + { + label: 'input', + documentation: 'input :: PATH?', + }, + ], }, none: { label: 'none', + documentation: + 'Returns true if the predicate holds for no element in the given list.', + parameters: [ + { + label: 'variable', + documentation: 'variable :: ANY?', + }, + { + label: 'list', + documentation: 'list :: LIST? OF ANY?', + }, + ], }, percentileCont: { label: 'percentileCont', + documentation: + 'Returns the percentile of a value over a group using linear interpolation.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + { + label: 'percentile', + documentation: 'percentile :: FLOAT?', + }, + ], }, percentileDisc: { label: 'percentileDisc', + documentation: + 'Returns the nearest floating point value to the given percentile over a group using a rounding method.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + { + label: 'percentile', + documentation: 'percentile :: FLOAT?', + }, + ], }, pi: { label: 'pi', + documentation: 'Returns the mathematical constant pi.', + parameters: [], }, point: { label: 'point', + documentation: + 'Returns a 2D or 3D point object, given two or respectively three coordinate values in the Cartesian coordinate system or WGS 84 geographic coordinate system.', + parameters: [ + { + label: 'input', + documentation: 'input :: MAP?', + }, + ], }, 'point.distance': { label: 'point.distance', + documentation: + 'Returns a floating point number representing the geodesic distance between any two points in the same CRS.', + parameters: [ + { + label: 'from', + documentation: 'from :: POINT?', + }, + { + label: 'to', + documentation: 'to :: POINT?', + }, + ], }, 'point.withinBBox': { label: 'point.withinBBox', + documentation: + 'Returns true if the provided point is within the bounding box defined by the two provided points.', + parameters: [ + { + label: 'point', + documentation: 'point :: POINT?', + }, + { + label: 'lowerLeft', + documentation: 'lowerLeft :: POINT?', + }, + { + label: 'upperRight', + documentation: 'upperRight :: POINT?', + }, + ], }, properties: { label: 'properties', + documentation: 'Returns a map containing all the properties of a map.', + parameters: [ + { + label: 'input', + documentation: 'input :: MAP?', + }, + ], }, radians: { label: 'radians', + documentation: 'Converts degrees to radians.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, rand: { label: 'rand', + documentation: + 'Returns a random floating point number in the range from 0 (inclusive) to 1 (exclusive); i.e. [0,1).', + parameters: [], }, randomUUID: { label: 'randomUUID', + documentation: 'Generates a random UUID.', + parameters: [], }, range: { label: 'range', + documentation: + 'Returns a list comprising all integer values within a specified range created with step length.', + parameters: [ + { + label: 'start', + documentation: 'start :: INTEGER?', + }, + { + label: 'end', + documentation: 'end :: INTEGER?', + }, + { + label: 'step', + documentation: 'step :: INTEGER?', + }, + ], }, reduce: { label: 'reduce', + documentation: + 'Runs an expression against individual elements of a list, storing the result of the expression in an accumulator.', + parameters: [ + { + label: 'accumulator', + documentation: 'accumulator :: ANY?', + }, + { + label: 'variable', + documentation: 'variable :: LIST? OF ANY?', + }, + ], }, relationships: { label: 'relationships', + documentation: + 'Returns a list containing all the relationships in a path.', + parameters: [ + { + label: 'input', + documentation: 'input :: PATH?', + }, + ], }, replace: { label: 'replace', + documentation: + 'Returns a string in which all occurrences of a specified search string in the original string have been replaced by another (specified) replace string.', + parameters: [ + { + label: 'original', + documentation: 'original :: STRING?', + }, + { + label: 'search', + documentation: 'search :: STRING?', + }, + { + label: 'replace', + documentation: 'replace :: STRING?', + }, + ], }, reverse: { label: 'reverse', + documentation: + 'Returns a list in which the order of all elements in the original list have been reversed.', + parameters: [ + { + label: 'input', + documentation: 'input :: LIST? OF ANY?', + }, + ], }, right: { label: 'right', + documentation: + 'Returns a string containing the specified number of rightmost characters of the original string.', + parameters: [ + { + label: 'original', + documentation: 'original :: STRING?', + }, + { + label: 'length', + documentation: 'length :: INTEGER?', + }, + ], }, round: { label: 'round', + documentation: + 'Returns the value of a number rounded to the specified precision with the specified rounding mode.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT?', + }, + { + label: 'precision', + documentation: 'precision :: NUMBER?', + }, + { + label: 'mode', + documentation: 'mode :: STRING?', + }, + ], }, rtrim: { label: 'rtrim', + documentation: + 'Returns the original string with trailing whitespace removed.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING?', + }, + ], }, sign: { label: 'sign', + documentation: + 'Returns the signum of a floating point number: 0 if the number is 0, -1 for any negative number, and 1 for any positive number.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, sin: { label: 'sin', + documentation: 'Returns the sine of a number.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, single: { label: 'single', + documentation: + 'Returns true if the predicate holds for exactly one of the elements in the given list.', + parameters: [ + { + label: 'variable', + documentation: 'variable :: ANY?', + }, + { + label: 'list', + documentation: 'list :: LIST? OF ANY?', + }, + ], }, size: { label: 'size', + documentation: 'Returns the number of Unicode characters in a string.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING?', + }, + ], }, split: { label: 'split', + documentation: + 'Returns a list of strings resulting from the splitting of the original string around matches of any of the given delimiters.', + parameters: [ + { + label: 'original', + documentation: 'original :: STRING?', + }, + { + label: 'splitDelimiters', + documentation: 'splitDelimiters :: LIST? OF STRING?', + }, + ], }, sqrt: { label: 'sqrt', + documentation: 'Returns the square root of a number.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, startNode: { label: 'startNode', + documentation: 'Returns the start node of a relationship.', + parameters: [ + { + label: 'input', + documentation: 'input :: RELATIONSHIP?', + }, + ], }, stdev: { label: 'stdev', + documentation: + 'Returns the standard deviation for the given value over a group for a sample of a population.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, stdevp: { label: 'stdevp', + documentation: + 'Returns the standard deviation for the given value over a group for an entire population.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, substring: { label: 'substring', + documentation: + "Returns a substring of length 'length' of the original string, beginning with a 0-based index start.", + parameters: [ + { + label: 'original', + documentation: 'original :: STRING?', + }, + { + label: 'start', + documentation: 'start :: INTEGER?', + }, + { + label: 'length', + documentation: 'length :: INTEGER?', + }, + ], }, sum: { label: 'sum', + documentation: 'Returns the sum of a set of durations', + parameters: [ + { + label: 'input', + documentation: 'input :: DURATION?', + }, + ], }, tail: { label: 'tail', + documentation: 'Returns all but the first element in a list.', + parameters: [ + { + label: 'input', + documentation: 'input :: LIST? OF ANY?', + }, + ], }, tan: { label: 'tan', + documentation: 'Returns the tangent of a number.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], }, time: { label: 'time', + documentation: 'Create a Time instant.', + parameters: [ + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'time.realtime': { label: 'time.realtime', + documentation: 'Get the current Time instant using the realtime clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'time.statement': { label: 'time.statement', + documentation: 'Get the current Time instant using the statement clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'time.transaction': { label: 'time.transaction', + documentation: + 'Get the current Time instant using the transaction clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + ], }, 'time.truncate': { label: 'time.truncate', + documentation: + 'Truncate the input temporal value to a Time instant using the specified unit.', + parameters: [ + { + label: 'unit', + documentation: 'unit :: STRING?', + }, + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + }, + { + label: 'fields', + documentation: 'fields = null :: MAP?', + }, + ], }, toBoolean: { label: 'toBoolean', + documentation: + 'Converts a integer value to a boolean value. 0 is defined to be FALSE and any other integer is defined to be TRUE.', + parameters: [ + { + label: 'input', + documentation: 'input :: INTEGER?', + }, + ], }, toBooleanList: { label: 'toBooleanList', + documentation: + 'Converts a list of values to a list of boolean values. If any values are not convertible to boolean they will be null in the list returned.', + parameters: [ + { + label: 'input', + documentation: 'input :: LIST? OF ANY?', + }, + ], }, toBooleanOrNull: { label: 'toBooleanOrNull', + documentation: + 'Converts a value to a boolean value, or null if the value cannot be converted.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY?', + }, + ], }, toFloat: { label: 'toFloat', + documentation: 'Converts an integer value to a floating point value.', + parameters: [ + { + label: 'input', + documentation: 'input :: NUMBER?', + }, + ], }, toFloatList: { label: 'toFloatList', + documentation: + 'Converts a list of values to a list of float values. If any values are not convertible to float they will be null in the list returned.', + parameters: [ + { + label: 'input', + documentation: 'input :: LIST? OF ANY?', + }, + ], }, toFloatOrNull: { label: 'toFloatOrNull', + documentation: + 'Converts a value to a floating point value, or null if the value cannot be converted.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY?', + }, + ], }, toInteger: { label: 'toInteger', + documentation: + 'Converts a boolean to an integer value. TRUE is defined to be 1 and FALSE is defined to be 0.', + parameters: [ + { + label: 'input', + documentation: 'input :: BOOLEAN?', + }, + ], }, toIntegerList: { label: 'toIntegerList', + documentation: + 'Converts a list of values to a list of integer values. If any values are not convertible to integer they will be null in the list returned.', + parameters: [ + { + label: 'input', + documentation: 'input :: LIST? OF ANY?', + }, + ], }, toIntegerOrNull: { label: 'toIntegerOrNull', + documentation: + 'Converts a value to an integer value, or null if the value cannot be converted.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY?', + }, + ], }, toLower: { label: 'toLower', + documentation: 'Returns the original string in lowercase.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING?', + }, + ], + }, + toString: { + label: 'toString', + documentation: + 'Converts an integer, float, boolean, point or temporal type (i.e. Date, Time, LocalTime, DateTime, LocalDateTime or Duration) value to a string.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY?', + }, + ], }, toStringList: { label: 'toStringList', + documentation: + 'Converts a list of values to a list of string values. If any values are not convertible to string they will be null in the list returned.', + parameters: [ + { + label: 'input', + documentation: 'input :: LIST? OF ANY?', + }, + ], }, toStringOrNull: { label: 'toStringOrNull', + documentation: + 'Converts an integer, float, boolean, point or temporal type (i.e. Date, Time, LocalTime, DateTime, LocalDateTime or Duration) value to a string, or null if the value cannot be converted.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY?', + }, + ], }, toUpper: { label: 'toUpper', + documentation: 'Returns the original string in uppercase.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING?', + }, + ], }, trim: { label: 'trim', + documentation: + 'Returns the original string with leading and trailing whitespace removed.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING?', + }, + ], }, type: { label: 'type', + documentation: + 'Returns the string representation of the relationship type.', + parameters: [ + { + label: 'input', + documentation: 'input :: RELATIONSHIP?', + }, + ], }, }, procedureSignatures: { From 6ad77e23bbb773926af09d19638a65165a2d728c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Mon, 18 Dec 2023 16:41:59 +0100 Subject: [PATCH 03/19] Makes signature help closer to VSCode format --- .../src/lang-cypher/signature-help.ts | 38 +++++++++++++++---- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/packages/react-codemirror/src/lang-cypher/signature-help.ts b/packages/react-codemirror/src/lang-cypher/signature-help.ts index 3f80bfd2d..fc227e681 100644 --- a/packages/react-codemirror/src/lang-cypher/signature-help.ts +++ b/packages/react-codemirror/src/lang-cypher/signature-help.ts @@ -1,3 +1,4 @@ +import { syntaxTree } from '@codemirror/language'; import { EditorState, StateField } from '@codemirror/state'; import { showTooltip, Tooltip } from '@codemirror/view'; import { @@ -18,10 +19,11 @@ function getSignatureHelpTooltip( if (schema) { const pos = state.selection.main.head; - //const node = syntaxTree(state).resolveInner(pos, -1); + const symbol = syntaxTree(state).resolveInner(pos, -1); const tree = parserWrapper.parsingResult; if ( + (symbol.name === 'bracket' || symbol.name === 'separator') && tree && findParent( tree.stopNode, @@ -34,11 +36,23 @@ function getSignatureHelpTooltip( const signatureHelpInfo = signatureHelp(query, schema); const activeSignature = signatureHelpInfo.activeSignature; const signatures = signatureHelpInfo.signatures; + const activeParameter = signatureHelpInfo.activeParameter; if ( activeSignature !== undefined && - signatures[activeSignature].documentation !== undefined + activeSignature >= 0 && + activeSignature < signatures.length && + signatures[activeSignature].documentation !== undefined && + activeParameter >= 0 && + activeParameter < (signatures[activeSignature].parameters?.length ?? 0) ) { + const signature = signatures[activeSignature]; + const parameters = signature.parameters; + const doc = + parameters[activeParameter].documentation.toString() + + '\n\n' + + signature.documentation.toString(); + result = [ { pos: pos, @@ -46,11 +60,21 @@ function getSignatureHelpTooltip( strictSide: true, arrow: true, create: () => { - const dom = document.createElement('div'); - dom.className = 'cm-tooltip-cursor'; - dom.textContent = - signatures[activeSignature].documentation.toString(); - return { dom }; + const div = document.createElement('div'); + const methodName = document.createElement('div'); + const argPlusDescription = document.createElement('div'); + const separator = document.createElement('hr'); + const lineBreak = document.createElement('br'); + + div.append( + ...[methodName, separator, lineBreak, argPlusDescription], + ); + div.className = 'cm-tooltip-cursor'; + + methodName.innerText = signature.label; + argPlusDescription.innerText = doc; + + return { dom: div }; }, }, ]; From a388d141ab8b97d241d8a2bd8be8ec4f94e0c291 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Tue, 2 Jan 2024 12:33:16 +0100 Subject: [PATCH 04/19] Shows tooltip past last argument to have consistency with VSCode --- package-lock.json | 3 ++- .../src/lang-cypher/signature-help.ts | 18 +++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index d0fd7fbc8..4360dbf17 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,8 @@ "typescript": "4.9.5" }, "engines": { - "node": ">=18.18.2" + "node": ">=18.18.2", + "vscode": "^1.22.0" } }, "node_modules/@aashutoshrathi/word-wrap": { diff --git a/packages/react-codemirror/src/lang-cypher/signature-help.ts b/packages/react-codemirror/src/lang-cypher/signature-help.ts index fc227e681..ce40573e7 100644 --- a/packages/react-codemirror/src/lang-cypher/signature-help.ts +++ b/packages/react-codemirror/src/lang-cypher/signature-help.ts @@ -42,16 +42,20 @@ function getSignatureHelpTooltip( activeSignature !== undefined && activeSignature >= 0 && activeSignature < signatures.length && - signatures[activeSignature].documentation !== undefined && - activeParameter >= 0 && - activeParameter < (signatures[activeSignature].parameters?.length ?? 0) + signatures[activeSignature].documentation !== undefined ) { const signature = signatures[activeSignature]; const parameters = signature.parameters; - const doc = - parameters[activeParameter].documentation.toString() + - '\n\n' + - signature.documentation.toString(); + let doc = signature.documentation.toString(); + + if ( + activeParameter >= 0 && + activeParameter < + (signatures[activeSignature].parameters?.length ?? 0) + ) { + doc = + parameters[activeParameter].documentation.toString() + '\n\n' + doc; + } result = [ { From ebd7b4eb2b657251a9c7761856ee6f34e974fae7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Tue, 2 Jan 2024 13:02:19 +0100 Subject: [PATCH 05/19] Adds prop to enable / disable signature help --- .../react-codemirror/playwright/index.html | 2 +- .../react-codemirror/src/CypherEditor.tsx | 11 +- .../src/e2e_tests/signature-help.spec.tsx | 119 ++++++++++++++++++ .../src/lang-cypher/lang-cypher.ts | 1 + .../src/lang-cypher/signature-help.ts | 4 +- 5 files changed, 133 insertions(+), 4 deletions(-) create mode 100644 packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx diff --git a/packages/react-codemirror/playwright/index.html b/packages/react-codemirror/playwright/index.html index 610ddf8a4..a5c5c3693 100644 --- a/packages/react-codemirror/playwright/index.html +++ b/packages/react-codemirror/playwright/index.html @@ -6,7 +6,7 @@ Testing Page -
+
diff --git a/packages/react-codemirror/src/CypherEditor.tsx b/packages/react-codemirror/src/CypherEditor.tsx index f80930041..24e1509b5 100644 --- a/packages/react-codemirror/src/CypherEditor.tsx +++ b/packages/react-codemirror/src/CypherEditor.tsx @@ -69,6 +69,12 @@ export interface CypherEditorProps { * @default true */ lint?: boolean; + /** + * Whether the editor should perform signature help. + * + * @default true + */ + signatureHelp?: boolean; /** * The schema to use for autocompletion and linting. * @@ -171,6 +177,7 @@ export class CypherEditor extends Component { static defaultProps: CypherEditorProps = { lint: true, + signatureHelp: true, schema: {}, overrideThemeBackgroundColor: false, lineWrap: false, @@ -187,11 +194,12 @@ export class CypherEditor extends Component { overrideThemeBackgroundColor, schema, lint, + signatureHelp, onChange, onExecute, } = this.props; - this.schemaRef.current = { schema, lint }; + this.schemaRef.current = { schema, lint, signatureHelp }; const themeExtension = getThemeExtension( theme, @@ -321,6 +329,7 @@ export class CypherEditor extends Component { */ this.schemaRef.current.schema = this.props.schema; this.schemaRef.current.lint = this.props.lint; + this.schemaRef.current.signatureHelp = this.props.signatureHelp; } componentWillUnmount(): void { diff --git a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx new file mode 100644 index 000000000..a793baf71 --- /dev/null +++ b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx @@ -0,0 +1,119 @@ +import { expect, test } from '@playwright/experimental-ct-react'; +import { CypherEditor } from '../CypherEditor'; + +test.use({ viewport: { width: 1000, height: 500 } }); + +const mockSchema = { + functionSignatures: { + abs: { + label: 'abs', + documentation: 'Returns the absolute value of a floating point number.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT?', + }, + ], + }, + }, + procedureSignatures: { + 'apoc.import.csv': { + label: 'apoc.import.csv', + documentation: + 'Imports nodes and relationships with the given labels and types from the provided CSV file.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST? OF MAP?', + }, + { + label: 'rels', + documentation: 'rels :: LIST? OF MAP?', + }, + { + label: 'config', + documentation: 'config :: MAP?', + }, + ], + }, + }, +}; + +test('Prop signatureHelp set to false disables signature help for functions', async ({ + page, + mount, +}) => { + const query = 'RETURN abs()'; + + await mount( + , + ); + + await expect( + page.locator('.cm-tooltip-signature-help').last(), + ).not.toBeVisible({ + timeout: 2000, + }); +}); + +test('Prop signatureHelp set to true disables signature help for procedures', async ({ + page, + mount, +}) => { + const query = 'CALL apoc.import.csv()'; + + await mount( + , + ); + + await expect( + page.locator('.cm-tooltip-signature-help').last(), + ).not.toBeVisible({ + timeout: 2000, + }); +}); + +test('Prop signatureHelp set to true enables signature help', async ({ + page, + mount, +}) => { + const query = 'RETURN abs()'; + + await mount( + , + ); + + await expect(page.locator('.cm-tooltip-signature-help').last()).toBeVisible({ + timeout: 2000, + }); +}); + +test('Prop signatureHelp enables signature help by default', async ({ + page, + mount, +}) => { + const query = 'CALL apoc.import.csv()'; + + await mount( + , + ); + + await expect(page.locator('.cm-tooltip-signature-help').last()).toBeVisible({ + timeout: 2000, + }); +}); diff --git a/packages/react-codemirror/src/lang-cypher/lang-cypher.ts b/packages/react-codemirror/src/lang-cypher/lang-cypher.ts index 86a3da598..d8f3e7631 100644 --- a/packages/react-codemirror/src/lang-cypher/lang-cypher.ts +++ b/packages/react-codemirror/src/lang-cypher/lang-cypher.ts @@ -20,6 +20,7 @@ const cypherLanguage = new Language(facet, parserAdapter, [], 'cypher'); export type CypherConfig = { lint?: boolean; + signatureHelp?: boolean; schema?: DbSchema; }; diff --git a/packages/react-codemirror/src/lang-cypher/signature-help.ts b/packages/react-codemirror/src/lang-cypher/signature-help.ts index ce40573e7..4c5f80fd4 100644 --- a/packages/react-codemirror/src/lang-cypher/signature-help.ts +++ b/packages/react-codemirror/src/lang-cypher/signature-help.ts @@ -17,7 +17,7 @@ function getSignatureHelpTooltip( let result: Tooltip[] = []; const schema = config.schema; - if (schema) { + if (schema && config.signatureHelp) { const pos = state.selection.main.head; const symbol = syntaxTree(state).resolveInner(pos, -1); const tree = parserWrapper.parsingResult; @@ -73,7 +73,7 @@ function getSignatureHelpTooltip( div.append( ...[methodName, separator, lineBreak, argPlusDescription], ); - div.className = 'cm-tooltip-cursor'; + div.className = 'cm-tooltip-signature-help'; methodName.innerText = signature.label; argPlusDescription.innerText = doc; From e4fdc0189a1434fb1ca6b313d417ac7ad2e6f4b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Tue, 2 Jan 2024 17:37:09 +0100 Subject: [PATCH 06/19] Adds more signature help tests --- packages/language-support/src/index.ts | 1 + .../src/e2e_tests/signature-help.spec.tsx | 184 +++++++++++++++++- .../src/lang-cypher/signature-help.ts | 34 +++- 3 files changed, 207 insertions(+), 12 deletions(-) diff --git a/packages/language-support/src/index.ts b/packages/language-support/src/index.ts index 382650808..f88e9a05e 100644 --- a/packages/language-support/src/index.ts +++ b/packages/language-support/src/index.ts @@ -4,6 +4,7 @@ export type { DbSchema } from './dbSchema'; export { CallClauseContext, FunctionInvocationContext, + StatementsContext, } from './generated-parser/CypherParser'; export { antlrUtils, findParent } from './helpers'; export { diff --git a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx index a793baf71..70b06aa30 100644 --- a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx +++ b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx @@ -1,8 +1,37 @@ import { expect, test } from '@playwright/experimental-ct-react'; +import { Locator } from 'playwright/test'; import { CypherEditor } from '../CypherEditor'; test.use({ viewport: { width: 1000, height: 500 } }); +type TooltipExpectations = { + includes?: string[]; + excludes?: string[]; +}; + +function testTooltip(tooltip: Locator, expectations: TooltipExpectations) { + const includes = expectations.includes ?? []; + const excludes = expectations.excludes ?? []; + + const included = Promise.all( + includes.map((text) => { + return expect(tooltip).toContainText(text, { + timeout: 2000, + }); + }), + ); + + const excluded = Promise.all( + excludes.map((text) => { + return expect(tooltip).not.toContainText(text, { + timeout: 2000, + }); + }), + ); + + return Promise.all([included, excluded]); +} + const mockSchema = { functionSignatures: { abs: { @@ -43,7 +72,7 @@ test('Prop signatureHelp set to false disables signature help for functions', as page, mount, }) => { - const query = 'RETURN abs()'; + const query = 'RETURN abs('; await mount( { - const query = 'CALL apoc.import.csv()'; + const query = 'CALL apoc.import.csv('; await mount( { - const query = 'RETURN abs()'; + const query = 'RETURN abs('; await mount( { - const query = 'CALL apoc.import.csv()'; + const query = 'CALL apoc.import.csv('; await mount( , @@ -117,3 +146,150 @@ test('Prop signatureHelp enables signature help by default', async ({ timeout: 2000, }); }); + +test('Signature help set shows the description for the first argument', async ({ + page, + mount, +}) => { + const query = 'CALL apoc.import.csv('; + + await mount( + , + ); + + const tooltip = page.locator('.cm-tooltip-signature-help').last(); + + await testTooltip(tooltip, { + includes: [ + 'nodes :: LIST? OF MAP?', + 'Imports nodes and relationships with the given labels and types from the provided CSV file.', + ], + }); +}); + +test('Signature help set shows the description for the second argument', async ({ + page, + mount, +}) => { + const query = 'CALL apoc.import.csv(nodes,'; + + await mount( + , + ); + + const tooltip = page.locator('.cm-tooltip-signature-help').last(); + + await testTooltip(tooltip, { + includes: [ + 'rels :: LIST? OF MAP?', + 'Imports nodes and relationships with the given labels and types from the provided CSV file.', + ], + }); +}); + +test('Signature help set shows description for arguments with a space following a separator', async ({ + page, + mount, +}) => { + const query = 'CALL apoc.import.csv(nodes, '; + + await mount( + , + ); + + const tooltip = page.locator('.cm-tooltip-signature-help').last(); + + await testTooltip(tooltip, { + includes: [ + 'rels :: LIST? OF MAP?', + 'Imports nodes and relationships with the given labels and types from the provided CSV file.', + ], + }); +}); + +test('Signature help set shows the description for the third argument', async ({ + page, + mount, +}) => { + const query = 'CALL apoc.import.csv(nodes, rels,'; + + await mount( + , + ); + + const tooltip = page.locator('.cm-tooltip-signature-help').last(); + + await testTooltip(tooltip, { + includes: [ + 'config :: MAP?', + 'Imports nodes and relationships with the given labels and types from the provided CSV file.', + ], + }); +}); + +test('Signature help only shows the description pass the last argument', async ({ + page, + mount, +}) => { + const query = 'CALL apoc.import.csv(nodes, rels, config,'; + + await mount( + , + ); + + const tooltip = page.locator('.cm-tooltip-signature-help').last(); + + await testTooltip(tooltip, { + includes: [ + 'Imports nodes and relationships with the given labels and types from the provided CSV file.', + ], + excludes: ['config :: MAP?'], + }); +}); + +test('Signature help does not show any help when method finished', async ({ + page, + mount, +}) => { + const query = 'CALL apoc.import.csv(nodes, rels, config)'; + + await mount( + , + ); + + await expect( + page.locator('.cm-tooltip-signature-help').last(), + ).not.toBeVisible({ + timeout: 2000, + }); +}); diff --git a/packages/react-codemirror/src/lang-cypher/signature-help.ts b/packages/react-codemirror/src/lang-cypher/signature-help.ts index 4c5f80fd4..3e665f7a7 100644 --- a/packages/react-codemirror/src/lang-cypher/signature-help.ts +++ b/packages/react-codemirror/src/lang-cypher/signature-help.ts @@ -1,15 +1,31 @@ -import { syntaxTree } from '@codemirror/language'; import { EditorState, StateField } from '@codemirror/state'; import { showTooltip, Tooltip } from '@codemirror/view'; import { CallClauseContext, findParent, FunctionInvocationContext, + ParserRuleContext, parserWrapper, signatureHelp, + StatementsContext, } from '@neo4j-cypher/language-support'; import { CypherConfig } from './lang-cypher'; +function isMethodNameOrExpressionName(parent: ParserRuleContext) { + return ( + parent instanceof FunctionInvocationContext || + parent instanceof CallClauseContext || + parent instanceof StatementsContext + ); +} + +function isMethodName(parent: ParserRuleContext) { + return ( + parent instanceof FunctionInvocationContext || + parent instanceof CallClauseContext + ); +} + function getSignatureHelpTooltip( state: EditorState, config: CypherConfig, @@ -19,17 +35,19 @@ function getSignatureHelpTooltip( if (schema && config.signatureHelp) { const pos = state.selection.main.head; - const symbol = syntaxTree(state).resolveInner(pos, -1); + const tokens = parserWrapper.parsingResult.tokens; + const lastToken = tokens.filter((token) => token.channel == 0).at(-2); const tree = parserWrapper.parsingResult; + const isOpenBracket = lastToken.text === '('; + const isSeparator = lastToken.text === ','; if ( - (symbol.name === 'bracket' || symbol.name === 'separator') && + (isOpenBracket || isSeparator) && tree && - findParent( - tree.stopNode, - (parent) => - parent instanceof FunctionInvocationContext || - parent instanceof CallClauseContext, + findParent(tree.stopNode, (parent) => + isOpenBracket + ? isMethodNameOrExpressionName(parent) + : isMethodName(parent), ) ) { const query = state.doc.toString(); From 62f01df26719d2e8e506ed759e33bc44a73fce83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Wed, 3 Jan 2024 13:07:55 +0100 Subject: [PATCH 07/19] Fixes electron version --- package-lock.json | 8 +-- .../fixtures/signature-help-function.cypher | 1 + .../vscode-extension/e2e_tests/helpers.ts | 2 +- .../e2e_tests/tests/signature-help.spec.ts | 67 +++++++++++++++++++ packages/vscode-extension/package.json | 8 +-- 5 files changed, 77 insertions(+), 9 deletions(-) create mode 100644 packages/vscode-extension/e2e_tests/fixtures/signature-help-function.cypher create mode 100644 packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts diff --git a/package-lock.json b/package-lock.json index 4360dbf17..bd3eaf751 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5215,9 +5215,9 @@ } }, "node_modules/@vscode/test-electron": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.3.5.tgz", - "integrity": "sha512-lAW7nQ0HuPqJnGJrtCzEKZCICtRizeP6qNanyCrjmdCOAAWjX3ixiG8RVPwqsYPQBWLPgYuE12qQlwXsOR/2fQ==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.3.8.tgz", + "integrity": "sha512-b4aZZsBKtMGdDljAsOPObnAi7+VWIaYl3ylCz1jTs+oV6BZ4TNHcVNC3xUn0azPeszBmwSBDQYfFESIaUQnrOg==", "dev": true, "dependencies": { "http-proxy-agent": "^4.0.1", @@ -19502,7 +19502,7 @@ "@types/mocha": "^10.0.1", "@types/node": "^16.11.7", "@types/vscode": "^1.75.0", - "@vscode/test-electron": "^2.2.3", + "@vscode/test-electron": "^2.3.8", "@vscode/vsce": "^2.21.1", "mocha": "^10.2.0", "typescript": "^4.9.5" diff --git a/packages/vscode-extension/e2e_tests/fixtures/signature-help-function.cypher b/packages/vscode-extension/e2e_tests/fixtures/signature-help-function.cypher new file mode 100644 index 000000000..8d32b34ce --- /dev/null +++ b/packages/vscode-extension/e2e_tests/fixtures/signature-help-function.cypher @@ -0,0 +1 @@ +RETURN abs( \ No newline at end of file diff --git a/packages/vscode-extension/e2e_tests/helpers.ts b/packages/vscode-extension/e2e_tests/helpers.ts index 3f14f8620..63b2ef300 100644 --- a/packages/vscode-extension/e2e_tests/helpers.ts +++ b/packages/vscode-extension/e2e_tests/helpers.ts @@ -22,7 +22,7 @@ export function getDocumentUri(docName: string) { export async function eventually( assertion: () => Promise, - timeoutMs = 10000, + timeoutMs = 100000000, backoffMs = 100, ) { let totalWait = 0; diff --git a/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts b/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts new file mode 100644 index 000000000..c7c300a3c --- /dev/null +++ b/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts @@ -0,0 +1,67 @@ +import * as assert from 'assert'; +import * as vscode from 'vscode'; +import { eventually, getDocumentUri, openDocument } from '../helpers'; + +type InclusionTestArgs = { + textFile: string; + position: vscode.Position; + expected: vscode.SignatureHelp; +}; + +export async function testSignatureHelp({ + textFile, + position, + expected, +}: InclusionTestArgs) { + const docUri = getDocumentUri(textFile); + + await openDocument(docUri); + + await eventually(async () => { + const signatureHelp: vscode.SignatureHelp = + await vscode.commands.executeCommand( + 'vscode.provideSignatureHelp', + docUri, + position, + ); + + assert.equal(signatureHelp.activeParameter, expected.activeParameter); + assert.equal(signatureHelp.activeSignature, expected.activeSignature); + + expected.signatures.forEach((expectedSignature) => { + const foundSignature = signatureHelp.signatures.find( + (signature) => signature.label === expectedSignature.label, + ); + + assert.equal( + foundSignature.documentation, + expectedSignature.documentation, + ); + + expectedSignature.parameters.forEach((expectedParameter) => { + const foundParameter = foundSignature.parameters.find( + (parameter) => parameter.label === expectedParameter.label, + ); + + assert.equal( + foundParameter.documentation, + expectedParameter.documentation, + ); + }); + }); + }); +} + +suite('Signature help spec', () => { + test('Triggers signature help for first argument of functions', async () => { + const position = new vscode.Position(2, 28); + + const expected: vscode.SignatureHelp = undefined; + + await testSignatureHelp({ + textFile: 'signature-help-function.cypher', + position: position, + expected: expected, + }); + }); +}); diff --git a/packages/vscode-extension/package.json b/packages/vscode-extension/package.json index 0d95f882d..1051ab123 100644 --- a/packages/vscode-extension/package.json +++ b/packages/vscode-extension/package.json @@ -86,7 +86,7 @@ "bundle-language-server": "cd ../language-server && npm run bundle && cp dist/cypher-language-server.js ../vscode-extension/dist/", "bundle-extension": "esbuild ./src/extension.ts --bundle --external:vscode --format=cjs --platform=node --minify --outfile=dist/extension.js", "build": "tsc -b && npm run bundle-extension && npm run bundle-language-server", - "clean": "rm -rf dist", + "clean": "rm -rf {dist,.vscode-test}", "test:e2e": "npm run build && rm -rf .vscode-test/user-data && node ./dist/e2e_tests/main.js" }, "dependencies": { @@ -97,9 +97,9 @@ "@types/mocha": "^10.0.1", "@types/node": "^16.11.7", "@types/vscode": "^1.75.0", - "@vscode/test-electron": "^2.2.3", + "@vscode/test-electron": "^2.3.8", + "@vscode/vsce": "^2.21.1", "mocha": "^10.2.0", - "typescript": "^4.9.5", - "@vscode/vsce": "^2.21.1" + "typescript": "^4.9.5" } } From e00b5101ae6c253925668830a49c87fab57100a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Wed, 3 Jan 2024 17:21:00 +0100 Subject: [PATCH 08/19] Updates mock data --- .../src/mock-schema.ts | 9798 +++-------------- .../src/e2e_tests/mock-data.ts | 9009 +++++++++++---- .../src/e2e_tests/signature-help.spec.tsx | 57 +- 3 files changed, 8809 insertions(+), 10055 deletions(-) diff --git a/packages/react-codemirror-playground/src/mock-schema.ts b/packages/react-codemirror-playground/src/mock-schema.ts index 6f5f9caaf..5f7a2e200 100644 --- a/packages/react-codemirror-playground/src/mock-schema.ts +++ b/packages/react-codemirror-playground/src/mock-schema.ts @@ -2,51 +2,51 @@ export const dummyDbSchema = { functionSignatures: { abs: { label: 'abs', - documentation: 'Returns the absolute value of a floating point number.', + documentation: 'Returns the absolute value of an `INTEGER` or `FLOAT`.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: INTEGER | FLOAT', }, ], }, acos: { label: 'acos', - documentation: 'Returns the arccosine of a number in radians.', + documentation: 'Returns the arccosine of a `FLOAT` in radians.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, all: { label: 'all', documentation: - 'Returns true if the predicate holds for all elements in the given list.', + 'Returns true if the predicate holds for all elements in the given `LIST`.', parameters: [ { label: 'variable', - documentation: 'variable :: ANY?', + documentation: 'variable :: ANY', }, { label: 'list', - documentation: 'list :: LIST? OF ANY?', + documentation: 'list :: LIST', }, ], }, any: { label: 'any', documentation: - 'Returns true if the predicate holds for at least one element in the given list.', + 'Returns true if the predicate holds for at least one element in the given `LIST`.', parameters: [ { label: 'variable', - documentation: 'variable :: ANY?', + documentation: 'variable :: ANY', }, { label: 'list', - documentation: 'list :: LIST? OF ANY?', + documentation: 'list :: LIST', }, ], }, @@ -56,18 +56,18 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.agg.graph': { label: 'apoc.agg.graph', documentation: - 'Returns all distinct nodes and relationships collected into a map with the keys `nodes` and `relationships`.', + 'Returns all distinct `NODE` and `RELATIONSHIP` values collected into a `MAP` with the keys `nodes` and `relationships`.', parameters: [ { label: 'path', - documentation: 'path :: ANY?', + documentation: 'path :: ANY', }, ], }, @@ -77,56 +77,56 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.agg.maxItems': { label: 'apoc.agg.maxItems', documentation: - 'Returns a map {items:[], value:n} where the `value` key is the maximum value present, and `items` represent all items with the same value.', + 'Returns a `MAP` `{items: LIST, value: ANY}` where the `value` key is the maximum value present, and `items` represent all items with the same value. The size of the list of items can be limited to a given max size.', parameters: [ { label: 'items', - documentation: 'items :: ANY?', + documentation: 'items :: ANY', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, { label: 'groupLimit', - documentation: 'groupLimit = -1 :: INTEGER?', + documentation: 'groupLimit = -1 :: INTEGER', }, ], }, 'apoc.agg.median': { label: 'apoc.agg.median', documentation: - 'Returns the mathematical median for all non-null numeric values.', + 'Returns the mathematical median for all non-null `INTEGER` and `FLOAT` values.', parameters: [ { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.agg.minItems': { label: 'apoc.agg.minItems', documentation: - 'Returns a map {items:[], value:n} where the `value` key is the minimum value present, and `items` represent all items with the same value.', + 'Returns a `MAP` `{items: LIST, value: ANY}` where the `value` key is the minimum value present, and `items` represent all items with the same value. The size of the list of items can be limited to a given max size.', parameters: [ { label: 'items', - documentation: 'items :: ANY?', + documentation: 'items :: ANY', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, { label: 'groupLimit', - documentation: 'groupLimit = -1 :: INTEGER?', + documentation: 'groupLimit = -1 :: INTEGER', }, ], }, @@ -137,11 +137,11 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, { label: 'offset', - documentation: 'offset :: INTEGER?', + documentation: 'offset :: INTEGER', }, ], }, @@ -152,23 +152,23 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: NUMBER?', + documentation: 'value :: INTEGER | FLOAT', }, { label: 'percentiles', documentation: - 'percentiles = [0.5, 0.75, 0.9, 0.95, 0.99] :: LIST? OF FLOAT?', + 'percentiles = [0.5, 0.75, 0.9, 0.95, 0.99] :: LIST', }, ], }, 'apoc.agg.product': { label: 'apoc.agg.product', documentation: - 'Returns the product of all non-null numerical values in the collection.', + 'Returns the product of all non-null `INTEGER` and `FLOAT` values in the collection.', parameters: [ { label: 'value', - documentation: 'value :: NUMBER?', + documentation: 'value :: INTEGER | FLOAT', }, ], }, @@ -179,72 +179,72 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, { label: 'from', - documentation: 'from = 0 :: INTEGER?', + documentation: 'from = 0 :: INTEGER', }, { label: 'to', - documentation: 'to = -1 :: INTEGER?', + documentation: 'to = -1 :: INTEGER', }, ], }, 'apoc.agg.statistics': { label: 'apoc.agg.statistics', documentation: - 'Returns the following statistics on the numerical values in the given collection: percentiles, min, minNonZero, max, total, mean, stdev.', + 'Returns the following statistics on the `INTEGER` and `FLOAT` values in the given collection: percentiles, min, minNonZero, max, total, mean, stdev.', parameters: [ { label: 'value', - documentation: 'value :: NUMBER?', + documentation: 'value :: INTEGER | FLOAT', }, { label: 'percentiles', documentation: - 'percentiles = [0.5, 0.75, 0.9, 0.95, 0.99] :: LIST? OF FLOAT?', + 'percentiles = [0.5, 0.75, 0.9, 0.95, 0.99] :: LIST', }, ], }, 'apoc.any.isDeleted': { label: 'apoc.any.isDeleted', documentation: - 'Returns true if the given node or relationship no longer exists.', + 'Returns true if the given `NODE` or `RELATIONSHIP` no longer exists.', parameters: [ { label: 'object', - documentation: 'object :: ANY?', + documentation: 'object :: ANY', }, ], }, 'apoc.any.properties': { label: 'apoc.any.properties', documentation: - 'Returns all properties of the given object.\nThe object can be a virtual node, a real node, a virtual relationship, a real relationship, or a map.', + 'Returns all properties of the given object.\nThe object can be a virtual `NODE`, a real `NODE`, a virtual `RELATIONSHIP`, a real `RELATIONSHIP`, or a `MAP`.', parameters: [ { label: 'object', - documentation: 'object :: ANY?', + documentation: 'object :: ANY', }, { label: 'keys', - documentation: 'keys = null :: LIST? OF STRING?', + documentation: 'keys = null :: LIST', }, ], }, 'apoc.any.property': { label: 'apoc.any.property', documentation: - 'Returns the property for the given key from an object.\nThe object can be a virtual node, a real node, a virtual relationship, a real relationship, or a map.', + 'Returns the property for the given key from an object.\nThe object can be a virtual `NODE`, a real `NODE`, a virtual `RELATIONSHIP`, a real `RELATIONSHIP`, or a `MAP`.', parameters: [ { label: 'object', - documentation: 'object :: ANY?', + documentation: 'object :: ANY', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, ], }, @@ -254,44 +254,45 @@ export const dummyDbSchema = { parameters: [ { label: 'a', - documentation: 'a :: INTEGER?', + documentation: 'a :: INTEGER', }, { label: 'operator', - documentation: 'operator :: STRING?', + documentation: 'operator :: STRING', }, { label: 'b', - documentation: 'b :: INTEGER?', + documentation: 'b :: INTEGER', }, ], }, 'apoc.coll.avg': { label: 'apoc.coll.avg', - documentation: 'Returns the average of the numbers in the list.', + documentation: + 'Returns the average of the numbers in the `LIST`.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF NUMBER?', + documentation: 'coll :: LIST', }, ], }, 'apoc.coll.combinations': { label: 'apoc.coll.combinations', documentation: - 'Returns a collection of all combinations of list elements between the selection size minSelect and maxSelect (default: minSelect).', + 'Returns a collection of all combinations of `LIST` elements between the selection size `minSelect` and `maxSelect` (default: `minSelect`).', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'minSelect', - documentation: 'minSelect :: INTEGER?', + documentation: 'minSelect :: INTEGER', }, { label: 'maxSelect', - documentation: 'maxSelect = -1 :: INTEGER?', + documentation: 'maxSelect = -1 :: INTEGER', }, ], }, @@ -302,11 +303,11 @@ export const dummyDbSchema = { parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, @@ -317,26 +318,26 @@ export const dummyDbSchema = { parameters: [ { label: 'coll1', - documentation: 'coll1 :: LIST? OF ANY?', + documentation: 'coll1 :: LIST', }, { label: 'coll2', - documentation: 'coll2 :: LIST? OF ANY?', + documentation: 'coll2 :: LIST', }, ], }, 'apoc.coll.containsAllSorted': { label: 'apoc.coll.containsAllSorted', documentation: - 'Returns whether or not all of the given values in the second list exist in an already sorted collection (using a binary search).', + 'Returns whether or not all of the given values in the second `LIST` exist in an already sorted collection (using a binary search).', parameters: [ { label: 'coll1', - documentation: 'coll1 :: LIST? OF ANY?', + documentation: 'coll1 :: LIST', }, { label: 'coll2', - documentation: 'coll2 :: LIST? OF ANY?', + documentation: 'coll2 :: LIST', }, ], }, @@ -347,7 +348,7 @@ export const dummyDbSchema = { parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, ], }, @@ -358,184 +359,188 @@ export const dummyDbSchema = { parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.coll.different': { label: 'apoc.coll.different', documentation: - 'Returns true if all the values in the given list are unique.', + 'Returns true if all the values in the given `LIST` are unique.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, ], }, 'apoc.coll.disjunction': { label: 'apoc.coll.disjunction', - documentation: 'Returns the disjunct set of two lists.', + documentation: 'Returns the disjunct set from two `LIST` values.', parameters: [ { label: 'list1', - documentation: 'list1 :: LIST? OF ANY?', + documentation: 'list1 :: LIST', }, { label: 'list2', - documentation: 'list2 :: LIST? OF ANY?', + documentation: 'list2 :: LIST', }, ], }, 'apoc.coll.dropDuplicateNeighbors': { label: 'apoc.coll.dropDuplicateNeighbors', - documentation: 'Removes duplicate consecutive objects in the list.', + documentation: + 'Removes duplicate consecutive objects in the `LIST`.', parameters: [ { label: 'list', - documentation: 'list :: LIST? OF ANY?', + documentation: 'list :: LIST', }, ], }, 'apoc.coll.duplicates': { label: 'apoc.coll.duplicates', - documentation: 'Returns a list of duplicate items in the collection.', + documentation: + 'Returns a `LIST` of duplicate items in the collection.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, ], }, 'apoc.coll.duplicatesWithCount': { label: 'apoc.coll.duplicatesWithCount', documentation: - 'Returns a list of duplicate items in the collection and their count, keyed by `item` and `count`.', + 'Returns a `LIST` of duplicate items in the collection and their count, keyed by `item` and `count`.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, ], }, 'apoc.coll.fill': { label: 'apoc.coll.fill', - documentation: 'Returns a list with the given count of items.', + documentation: 'Returns a `LIST` with the given count of items.', parameters: [ { label: 'items', - documentation: 'items :: STRING?', + documentation: 'items :: STRING', }, { label: 'count', - documentation: 'count :: INTEGER?', + documentation: 'count :: INTEGER', }, ], }, 'apoc.coll.flatten': { label: 'apoc.coll.flatten', documentation: - 'Flattens the given list (to flatten nested lists, set recursive to true).', + 'Flattens the given `LIST` (to flatten nested `LIST` values, set recursive to true).', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'recursive', - documentation: 'recursive = false :: BOOLEAN?', + documentation: 'recursive = false :: BOOLEAN', }, ], }, 'apoc.coll.frequencies': { label: 'apoc.coll.frequencies', documentation: - 'Returns a list of frequencies of the items in the collection, keyed by `item` and `count`.', + 'Returns a `LIST` of frequencies of the items in the collection, keyed by `item` and `count`.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, ], }, 'apoc.coll.frequenciesAsMap': { label: 'apoc.coll.frequenciesAsMap', documentation: - 'Returns a map of frequencies of the items in the collection, keyed by `item` and `count`.', + 'Returns a `MAP` of frequencies of the items in the collection, keyed by `item` and `count`.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, ], }, 'apoc.coll.indexOf': { label: 'apoc.coll.indexOf', documentation: - 'Returns the index for the first occurrence of the specified value in the list.', + 'Returns the index for the first occurrence of the specified value in the `LIST`.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.coll.insert': { label: 'apoc.coll.insert', - documentation: 'Inserts a value into the specified index in the list.', + documentation: + 'Inserts a value into the specified index in the `LIST`.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'index', - documentation: 'index :: INTEGER?', + documentation: 'index :: INTEGER', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.coll.insertAll': { label: 'apoc.coll.insertAll', documentation: - 'Inserts all of the values into the list, starting at the specified index.', + 'Inserts all of the values into the `LIST`, starting at the specified index.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'index', - documentation: 'index :: INTEGER?', + documentation: 'index :: INTEGER', }, { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, 'apoc.coll.intersection': { label: 'apoc.coll.intersection', - documentation: 'Returns the distinct intersection of two lists.', + documentation: + 'Returns the distinct intersection of two `LIST` values.', parameters: [ { label: 'list1', - documentation: 'list1 :: LIST? OF ANY?', + documentation: 'list1 :: LIST', }, { label: 'list2', - documentation: 'list2 :: LIST? OF ANY?', + documentation: 'list2 :: LIST', }, ], }, @@ -546,31 +551,33 @@ export const dummyDbSchema = { parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, 'apoc.coll.max': { label: 'apoc.coll.max', - documentation: 'Returns the maximum of all values in the given list.', + documentation: + 'Returns the maximum of all values in the given `LIST`.', parameters: [ { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, 'apoc.coll.min': { label: 'apoc.coll.min', - documentation: 'Returns the minimum of all values in the given list.', + documentation: + 'Returns the minimum of all values in the given `LIST`.', parameters: [ { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, @@ -580,136 +587,136 @@ export const dummyDbSchema = { parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'item', - documentation: 'item :: ANY?', + documentation: 'item :: ANY', }, ], }, 'apoc.coll.pairWithOffset': { label: 'apoc.coll.pairWithOffset', - documentation: 'Returns a list of pairs defined by the offset.', + documentation: 'Returns a `LIST` of pairs defined by the offset.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'offset', - documentation: 'offset :: INTEGER?', + documentation: 'offset :: INTEGER', }, ], }, 'apoc.coll.pairs': { label: 'apoc.coll.pairs', documentation: - 'Returns a list of adjacent elements in the list ([1,2],[2,3],[3,null]).', + 'Returns a `LIST` of adjacent elements in the `LIST` ([1,2],[2,3],[3,null]).', parameters: [ { label: 'list', - documentation: 'list :: LIST? OF ANY?', + documentation: 'list :: LIST', }, ], }, 'apoc.coll.pairsMin': { label: 'apoc.coll.pairsMin', documentation: - 'Returns lists of adjacent elements in the list ([1,2],[2,3]), skipping the final element.', + 'Returns `LIST` values of adjacent elements in the `LIST` ([1,2],[2,3]), skipping the final element.', parameters: [ { label: 'list', - documentation: 'list :: LIST? OF ANY?', + documentation: 'list :: LIST', }, ], }, 'apoc.coll.partition': { label: 'apoc.coll.partition', documentation: - 'Partitions the original list into sub-lists of the given batch size.\nThe final list may be smaller than the given batch size.', + 'Partitions the original `LIST` into a new `LIST` of the given batch size.\nThe final `LIST` may be smaller than the given batch size.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'batchSize', - documentation: 'batchSize :: INTEGER?', + documentation: 'batchSize :: INTEGER', }, ], }, 'apoc.coll.randomItem': { label: 'apoc.coll.randomItem', documentation: - 'Returns a random item from the list, or null on an empty or null list.', + 'Returns a random item from the `LIST`, or null on `LIST` or `LIST`.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, ], }, 'apoc.coll.randomItems': { label: 'apoc.coll.randomItems', documentation: - 'Returns a list of itemCount random items from the original list (optionally allowing elements in the original list to be selected more than once).', + 'Returns a `LIST` of `itemCount` random items from the original `LIST` (optionally allowing elements in the original `LIST` to be selected more than once).', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'itemCount', - documentation: 'itemCount :: INTEGER?', + documentation: 'itemCount :: INTEGER', }, { label: 'allowRepick', - documentation: 'allowRepick = false :: BOOLEAN?', + documentation: 'allowRepick = false :: BOOLEAN', }, ], }, 'apoc.coll.remove': { label: 'apoc.coll.remove', documentation: - 'Removes a range of values from the list, beginning at position index for the given length of values.', + 'Removes a range of values from the `LIST`, beginning at position index for the given length of values.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'index', - documentation: 'index :: INTEGER?', + documentation: 'index :: INTEGER', }, { label: 'length', - documentation: 'length = 1 :: INTEGER?', + documentation: 'length = 1 :: INTEGER', }, ], }, 'apoc.coll.removeAll': { label: 'apoc.coll.removeAll', documentation: - 'Returns the first list with all elements of the second list removed.', + 'Returns the first `LIST` with all elements also present in the second `LIST` removed.', parameters: [ { label: 'list1', - documentation: 'list1 :: LIST? OF ANY?', + documentation: 'list1 :: LIST', }, { label: 'list2', - documentation: 'list2 :: LIST? OF ANY?', + documentation: 'list2 :: LIST', }, ], }, 'apoc.coll.runningTotal': { label: 'apoc.coll.runningTotal', - documentation: 'Returns an accumulative array.', + documentation: 'Returns an accumulative `LIST`.', parameters: [ { label: 'list', - documentation: 'list :: LIST? OF NUMBER?', + documentation: 'list :: LIST', }, ], }, @@ -719,288 +726,292 @@ export const dummyDbSchema = { parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'index', - documentation: 'index :: INTEGER?', + documentation: 'index :: INTEGER', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.coll.shuffle': { label: 'apoc.coll.shuffle', - documentation: 'Returns the list shuffled.', + documentation: 'Returns the `LIST` shuffled.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, ], }, 'apoc.coll.sort': { label: 'apoc.coll.sort', - documentation: 'Sorts the given list into ascending order.', + documentation: 'Sorts the given `LIST` into ascending order.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, ], }, 'apoc.coll.sortMaps': { label: 'apoc.coll.sortMaps', documentation: - 'Sorts the given list into ascending order, based on the map property indicated by `prop`.', + 'Sorts the given `LIST>` into descending order, based on the `MAP` property indicated by `prop`.', parameters: [ { label: 'list', - documentation: 'list :: LIST? OF MAP?', + documentation: 'list :: LIST', }, { label: 'prop', - documentation: 'prop :: STRING?', + documentation: 'prop :: STRING', }, ], }, 'apoc.coll.sortMulti': { label: 'apoc.coll.sortMulti', documentation: - 'Sorts the given list of maps by the given fields.\nTo indicate that a field should be sorted according to ascending values, prefix it with a caret (^).\nIt is also possible to add limits to the list and to skip values.', + 'Sorts the given `LIST>` by the given fields.\nTo indicate that a field should be sorted according to ascending values, prefix it with a caret (^).\nIt is also possible to add limits to the `LIST>` and to skip values.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF MAP?', + documentation: 'coll :: LIST', }, { label: 'orderFields', - documentation: 'orderFields = [] :: LIST? OF STRING?', + documentation: 'orderFields = [] :: LIST', }, { label: 'limit', - documentation: 'limit = -1 :: INTEGER?', + documentation: 'limit = -1 :: INTEGER', }, { label: 'skip', - documentation: 'skip = 0 :: INTEGER?', + documentation: 'skip = 0 :: INTEGER', }, ], }, 'apoc.coll.sortNodes': { label: 'apoc.coll.sortNodes', documentation: - 'Sorts the given list of nodes by their property into ascending order.', + 'Sorts the given `LIST` by the property of the nodes into descending order.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF NODE?', + documentation: 'coll :: LIST', }, { label: 'prop', - documentation: 'prop :: STRING?', + documentation: 'prop :: STRING', }, ], }, 'apoc.coll.sortText': { label: 'apoc.coll.sortText', - documentation: 'Sorts the given list of strings into ascending order.', + documentation: 'Sorts the given `LIST` into ascending order.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF STRING?', + documentation: 'coll :: LIST', }, { label: 'conf', - documentation: 'conf = {} :: MAP?', + documentation: 'conf = {} :: MAP', }, ], }, 'apoc.coll.stdev': { label: 'apoc.coll.stdev', documentation: - 'Returns sample or population standard deviation with isBiasCorrected true or false respectively.', + 'Returns sample or population standard deviation with `isBiasCorrected` true or false respectively.', parameters: [ { label: 'list', - documentation: 'list :: LIST? OF NUMBER?', + documentation: 'list :: LIST', }, { label: 'isBiasCorrected', - documentation: 'isBiasCorrected = true :: BOOLEAN?', + documentation: 'isBiasCorrected = true :: BOOLEAN', }, ], }, 'apoc.coll.subtract': { label: 'apoc.coll.subtract', documentation: - 'Returns the first list as a set with all the elements of the second list removed.', + 'Returns the first `LIST` as a set with all the elements of the second `LIST` removed.', parameters: [ { label: 'list1', - documentation: 'list1 :: LIST? OF ANY?', + documentation: 'list1 :: LIST', }, { label: 'list2', - documentation: 'list2 :: LIST? OF ANY?', + documentation: 'list2 :: LIST', }, ], }, 'apoc.coll.sum': { label: 'apoc.coll.sum', - documentation: 'Returns the sum of all the numbers in the list.', + documentation: + 'Returns the sum of all the `INTEGER | FLOAT` in the `LIST`.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF NUMBER?', + documentation: 'coll :: LIST', }, ], }, 'apoc.coll.sumLongs': { label: 'apoc.coll.sumLongs', - documentation: 'Returns the sum of all the numbers in the list.', + documentation: + 'Returns the sum of all the `INTEGER | FLOAT` in the `LIST`.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF NUMBER?', + documentation: 'coll :: LIST', }, ], }, 'apoc.coll.toSet': { label: 'apoc.coll.toSet', - documentation: 'Returns a unique list from the given list.', + documentation: 'Returns a unique `LIST` from the given `LIST`.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, ], }, 'apoc.coll.union': { label: 'apoc.coll.union', - documentation: 'Returns the distinct union of the two given lists.', + documentation: + 'Returns the distinct union of the two given `LIST` values.', parameters: [ { label: 'list1', - documentation: 'list1 :: LIST? OF ANY?', + documentation: 'list1 :: LIST', }, { label: 'list2', - documentation: 'list2 :: LIST? OF ANY?', + documentation: 'list2 :: LIST', }, ], }, 'apoc.coll.unionAll': { label: 'apoc.coll.unionAll', documentation: - 'Returns the full union of the two given lists (duplicates included).', + 'Returns the full union of the two given `LIST` values (duplicates included).', parameters: [ { label: 'list1', - documentation: 'list1 :: LIST? OF ANY?', + documentation: 'list1 :: LIST', }, { label: 'list2', - documentation: 'list2 :: LIST? OF ANY?', + documentation: 'list2 :: LIST', }, ], }, 'apoc.coll.zip': { label: 'apoc.coll.zip', documentation: - 'Returns the two given lists zipped together as a list of lists.', + 'Returns the two given `LIST` values zipped together as a `LIST>`.', parameters: [ { label: 'list1', - documentation: 'list1 :: LIST? OF ANY?', + documentation: 'list1 :: LIST', }, { label: 'list2', - documentation: 'list2 :: LIST? OF ANY?', + documentation: 'list2 :: LIST', }, ], }, 'apoc.convert.fromJsonList': { label: 'apoc.convert.fromJsonList', - documentation: 'Converts the given JSON list into a Cypher list.', + documentation: + 'Converts the given JSON list into a Cypher `LIST`.', parameters: [ { label: 'list', - documentation: 'list :: STRING?', + documentation: 'list :: STRING', }, { label: 'path', - documentation: 'path = :: STRING?', + documentation: 'path = :: STRING', }, { label: 'pathOptions', - documentation: 'pathOptions = null :: LIST? OF STRING?', + documentation: 'pathOptions = null :: LIST', }, ], }, 'apoc.convert.fromJsonMap': { label: 'apoc.convert.fromJsonMap', - documentation: 'Converts the given JSON map into a Cypher map.', + documentation: 'Converts the given JSON map into a Cypher `MAP`.', parameters: [ { label: 'map', - documentation: 'map :: STRING?', + documentation: 'map :: STRING', }, { label: 'path', - documentation: 'path = :: STRING?', + documentation: 'path = :: STRING', }, { label: 'pathOptions', - documentation: 'pathOptions = null :: LIST? OF STRING?', + documentation: 'pathOptions = null :: LIST', }, ], }, 'apoc.convert.getJsonProperty': { label: 'apoc.convert.getJsonProperty', documentation: - 'Converts a serialized JSON object from the property of the given node into the equivalent Cypher structure (e.g. map, list).', + 'Converts a serialized JSON object from the property of the given `NODE` into the equivalent Cypher structure (e.g. `MAP`, `LIST`).', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, { label: 'path', - documentation: 'path = :: STRING?', + documentation: 'path = :: STRING', }, { label: 'pathOptions', - documentation: 'pathOptions = null :: LIST? OF STRING?', + documentation: 'pathOptions = null :: LIST', }, ], }, 'apoc.convert.getJsonPropertyMap': { label: 'apoc.convert.getJsonPropertyMap', documentation: - 'Converts a serialized JSON object from the property of the given node into a Cypher map.', + 'Converts a serialized JSON object from the property of the given `NODE` into a Cypher `MAP`.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, { label: 'path', - documentation: 'path = :: STRING?', + documentation: 'path = :: STRING', }, { label: 'pathOptions', - documentation: 'pathOptions = null :: LIST? OF STRING?', + documentation: 'pathOptions = null :: LIST', }, ], }, @@ -1010,92 +1021,93 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.convert.toList': { label: 'apoc.convert.toList', - documentation: 'Converts the given value into a list.', + documentation: 'Converts the given value into a `LIST`.', parameters: [ { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.convert.toMap': { label: 'apoc.convert.toMap', - documentation: 'Converts the given value into a map.', + documentation: 'Converts the given value into a `MAP`.', parameters: [ { label: 'map', - documentation: 'map :: ANY?', + documentation: 'map :: ANY', }, ], }, 'apoc.convert.toNode': { label: 'apoc.convert.toNode', - documentation: 'Converts the given value into a node.', + documentation: 'Converts the given value into a `NODE`.', parameters: [ { label: 'node', - documentation: 'node :: ANY?', + documentation: 'node :: ANY', }, ], }, 'apoc.convert.toNodeList': { label: 'apoc.convert.toNodeList', - documentation: 'Converts the given value into a list of nodes.', + documentation: 'Converts the given value into a `LIST`.', parameters: [ { label: 'list', - documentation: 'list :: ANY?', + documentation: 'list :: ANY', }, ], }, 'apoc.convert.toRelationship': { label: 'apoc.convert.toRelationship', - documentation: 'Converts the given value into a relationship.', + documentation: 'Converts the given value into a `RELATIONSHIP`.', parameters: [ { label: 'rel', - documentation: 'rel :: ANY?', + documentation: 'rel :: ANY', }, ], }, 'apoc.convert.toRelationshipList': { label: 'apoc.convert.toRelationshipList', - documentation: 'Converts the given value into a list of relationships.', + documentation: 'Converts the given value into a `LIST`.', parameters: [ { label: 'relList', - documentation: 'relList :: ANY?', + documentation: 'relList :: ANY', }, ], }, 'apoc.convert.toSet': { label: 'apoc.convert.toSet', - documentation: 'Converts the given value into a set.', + documentation: + 'Converts the given value into a set represented in Cypher as a `LIST`.', parameters: [ { label: 'list', - documentation: 'list :: ANY?', + documentation: 'list :: ANY', }, ], }, 'apoc.convert.toSortedJsonMap': { label: 'apoc.convert.toSortedJsonMap', documentation: - 'Converts a serialized JSON object from the property of a given node into a Cypher map.', + 'Converts a serialized JSON object from the property of a given `NODE` into a Cypher `MAP`.', parameters: [ { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, { label: 'ignoreCase', - documentation: 'ignoreCase = true :: BOOLEAN?', + documentation: 'ignoreCase = true :: BOOLEAN', }, ], }, @@ -1112,87 +1124,88 @@ export const dummyDbSchema = { 'apoc.create.uuidBase64ToHex': { label: 'apoc.create.uuidBase64ToHex', documentation: - 'Takes the given base64 encoded UUID and returns it as a hexadecimal string.', + 'Takes the given base64 encoded UUID and returns it as a hexadecimal `STRING`.', parameters: [ { label: 'base64Uuid', - documentation: 'base64Uuid :: STRING?', + documentation: 'base64Uuid :: STRING', }, ], }, 'apoc.create.uuidHexToBase64': { label: 'apoc.create.uuidHexToBase64', documentation: - 'Takes the given UUID represented as a hexadecimal string and returns it encoded with base64.', + 'Takes the given UUID represented as a hexadecimal `STRING` and returns it encoded with base64.', parameters: [ { label: 'uuid', - documentation: 'uuid :: STRING?', + documentation: 'uuid :: STRING', }, ], }, 'apoc.create.vNode': { label: 'apoc.create.vNode', - documentation: 'Returns a virtual node.', + documentation: 'Returns a virtual `NODE`.', parameters: [ { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, { label: 'props', - documentation: 'props = {} :: MAP?', + documentation: 'props = {} :: MAP', }, ], }, 'apoc.create.vRelationship': { label: 'apoc.create.vRelationship', - documentation: 'Returns a virtual relationship.', + documentation: 'Returns a virtual `RELATIONSHIP`.', parameters: [ { label: 'from', - documentation: 'from :: NODE?', + documentation: 'from :: NODE', }, { label: 'relType', - documentation: 'relType :: STRING?', + documentation: 'relType :: STRING', }, { label: 'props', - documentation: 'props :: MAP?', + documentation: 'props :: MAP', }, { label: 'to', - documentation: 'to :: NODE?', + documentation: 'to :: NODE', }, ], }, 'apoc.create.virtual.fromNode': { label: 'apoc.create.virtual.fromNode', - documentation: 'Returns a virtual node from the given existing node.', + documentation: + 'Returns a virtual `NODE` from the given existing `NODE`. The virtual `NODE` only contains the requested properties.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'propertyNames', - documentation: 'propertyNames :: LIST? OF STRING?', + documentation: 'propertyNames :: LIST', }, ], }, 'apoc.cypher.runFirstColumnMany': { label: 'apoc.cypher.runFirstColumnMany', documentation: - 'Runs the given statement with the given parameters and returns the first column collected into a list.', + 'Runs the given statement with the given parameters and returns the first column collected into a `LIST`.', parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'params', - documentation: 'params :: MAP?', + documentation: 'params :: MAP', }, ], }, @@ -1203,21 +1216,21 @@ export const dummyDbSchema = { parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'params', - documentation: 'params :: MAP?', + documentation: 'params :: MAP', }, ], }, 'apoc.data.url': { label: 'apoc.data.url', - documentation: 'Turns a URL into a map.', + documentation: 'Turns a URL into a `MAP`.', parameters: [ { label: 'url', - documentation: 'url :: STRING?', + documentation: 'url :: STRING', }, ], }, @@ -1227,19 +1240,19 @@ export const dummyDbSchema = { parameters: [ { label: 'time', - documentation: 'time :: INTEGER?', + documentation: 'time :: INTEGER', }, { label: 'unit', - documentation: 'unit :: STRING?', + documentation: 'unit :: STRING', }, { label: 'addValue', - documentation: 'addValue :: INTEGER?', + documentation: 'addValue :: INTEGER', }, { label: 'addUnit', - documentation: 'addUnit :: STRING?', + documentation: 'addUnit :: STRING', }, ], }, @@ -1250,34 +1263,34 @@ export const dummyDbSchema = { parameters: [ { label: 'time', - documentation: 'time :: INTEGER?', + documentation: 'time :: INTEGER', }, { label: 'unit', - documentation: 'unit :: STRING?', + documentation: 'unit :: STRING', }, { label: 'toUnit', - documentation: 'toUnit :: STRING?', + documentation: 'toUnit :: STRING', }, ], }, 'apoc.date.convertFormat': { label: 'apoc.date.convertFormat', documentation: - 'Converts a string of one type of date format into a string of another type of date format.', + 'Converts a `STRING` of one type of date format into a `STRING` of another type of date format.', parameters: [ { label: 'temporal', - documentation: 'temporal :: STRING?', + documentation: 'temporal :: STRING', }, { label: 'currentFormat', - documentation: 'currentFormat :: STRING?', + documentation: 'currentFormat :: STRING', }, { label: 'convertTo', - documentation: 'convertTo = yyyy-MM-dd :: STRING?', + documentation: 'convertTo = yyyy-MM-dd :: STRING', }, ], }, @@ -1293,87 +1306,87 @@ export const dummyDbSchema = { parameters: [ { label: 'time', - documentation: 'time :: INTEGER?', + documentation: 'time :: INTEGER', }, { label: 'unit', - documentation: 'unit = d :: STRING?', + documentation: 'unit = d :: STRING', }, { label: 'timezone', - documentation: 'timezone = UTC :: STRING?', + documentation: 'timezone = UTC :: STRING', }, ], }, 'apoc.date.fields': { label: 'apoc.date.fields', documentation: - 'Splits the given date into fields returning a map containing the values of each field.', + 'Splits the given date into fields returning a `MAP` containing the values of each field.', parameters: [ { label: 'date', - documentation: 'date :: STRING?', + documentation: 'date :: STRING', }, { label: 'pattern', - documentation: 'pattern = yyyy-MM-dd HH:mm:ss :: STRING?', + documentation: 'pattern = yyyy-MM-dd HH:mm:ss :: STRING', }, ], }, 'apoc.date.format': { label: 'apoc.date.format', documentation: - 'Returns a string representation of the time value.\nThe time unit (default: ms), date format (default: ISO), and time zone (default: current time zone) can all be changed.', + 'Returns a `STRING` representation of the time value.\nThe time unit (default: ms), date format (default: ISO), and time zone (default: current time zone) can all be changed.', parameters: [ { label: 'time', - documentation: 'time :: INTEGER?', + documentation: 'time :: INTEGER', }, { label: 'unit', - documentation: 'unit = ms :: STRING?', + documentation: 'unit = ms :: STRING', }, { label: 'format', - documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING?', + documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING', }, { label: 'timezone', - documentation: 'timezone = :: STRING?', + documentation: 'timezone = :: STRING', }, ], }, 'apoc.date.fromISO8601': { label: 'apoc.date.fromISO8601', documentation: - 'Converts the given date string (ISO8601) to an integer representing the time value in milliseconds.', + 'Converts the given date `STRING` (ISO8601) to an `INTEGER` representing the time value in milliseconds.', parameters: [ { label: 'time', - documentation: 'time :: STRING?', + documentation: 'time :: STRING', }, ], }, 'apoc.date.parse': { label: 'apoc.date.parse', documentation: - 'Parses the given date string from a specified format into the specified time unit.', + 'Parses the given date `STRING` from a specified format into the specified time unit.', parameters: [ { label: 'time', - documentation: 'time :: STRING?', + documentation: 'time :: STRING', }, { label: 'unit', - documentation: 'unit = ms :: STRING?', + documentation: 'unit = ms :: STRING', }, { label: 'format', - documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING?', + documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING', }, { label: 'timezone', - documentation: 'timezone = :: STRING?', + documentation: 'timezone = :: STRING', }, ], }, @@ -1386,60 +1399,60 @@ export const dummyDbSchema = { 'apoc.date.toISO8601': { label: 'apoc.date.toISO8601', documentation: - 'Returns a string representation of a specified time value in the ISO8601 format.', + 'Returns a `STRING` representation of a specified time value in the ISO8601 format.', parameters: [ { label: 'time', - documentation: 'time :: INTEGER?', + documentation: 'time :: INTEGER', }, { label: 'unit', - documentation: 'unit = ms :: STRING?', + documentation: 'unit = ms :: STRING', }, ], }, 'apoc.date.toYears': { label: 'apoc.date.toYears', documentation: - 'Converts the given timestamp or the given date into a floating point representing years.', + 'Converts the given timestamp or the given date into a `FLOAT` representing years.', parameters: [ { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, { label: 'format', - documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING?', + documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING', }, ], }, 'apoc.diff.nodes': { label: 'apoc.diff.nodes', documentation: - 'Returns a list detailing the differences between the two given nodes.', + 'Returns a `MAP` detailing the differences between the two given `NODE` values.', parameters: [ { label: 'leftNode', - documentation: 'leftNode :: NODE?', + documentation: 'leftNode :: NODE', }, { label: 'rightNode', - documentation: 'rightNode :: NODE?', + documentation: 'rightNode :: NODE', }, ], }, 'apoc.hashing.fingerprint': { label: 'apoc.hashing.fingerprint', documentation: - 'Calculates a MD5 checksum over a node or a relationship (identical entities share the same checksum).\nUnsuitable for cryptographic use-cases.', + 'Calculates a MD5 checksum over a `NODE` or `RELATIONSHIP` (identical entities share the same checksum).\nUnsuitable for cryptographic use-cases.', parameters: [ { label: 'object', - documentation: 'object :: ANY?', + documentation: 'object :: ANY', }, { label: 'excludedPropertyKeys', - documentation: 'excludedPropertyKeys = [] :: LIST? OF STRING?', + documentation: 'excludedPropertyKeys = [] :: LIST', }, ], }, @@ -1450,22 +1463,22 @@ export const dummyDbSchema = { parameters: [ { label: 'propertyExcludes', - documentation: 'propertyExcludes = [] :: LIST? OF STRING?', + documentation: 'propertyExcludes = [] :: LIST', }, ], }, 'apoc.hashing.fingerprinting': { label: 'apoc.hashing.fingerprinting', documentation: - 'Calculates a MD5 checksum over a node or a relationship (identical entities share the same checksum).\nUnlike `apoc.hashing.fingerprint()`, this function supports a number of config parameters.\nUnsuitable for cryptographic use-cases.', + 'Calculates a MD5 checksum over a `NODE` or `RELATIONSHIP` (identical entities share the same checksum).\nUnlike `apoc.hashing.fingerprint()`, this function supports a number of config parameters.\nUnsuitable for cryptographic use-cases.', parameters: [ { label: 'object', - documentation: 'object :: ANY?', + documentation: 'object :: ANY', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -1475,15 +1488,15 @@ export const dummyDbSchema = { parameters: [ { label: 'json', - documentation: 'json :: STRING?', + documentation: 'json :: STRING', }, { label: 'path', - documentation: 'path = $ :: STRING?', + documentation: 'path = $ :: STRING', }, { label: 'pathOptions', - documentation: 'pathOptions = null :: LIST? OF STRING?', + documentation: 'pathOptions = null :: LIST', }, ], }, @@ -1494,96 +1507,97 @@ export const dummyDbSchema = { parameters: [ { label: 'node', - documentation: 'node :: ANY?', + documentation: 'node :: ANY', }, { label: 'label', - documentation: 'label :: STRING?', + documentation: 'label :: STRING', }, ], }, 'apoc.map.clean': { label: 'apoc.map.clean', documentation: - 'Filters the keys and values contained in the given lists.', + 'Filters the keys and values contained in the given `LIST` values.', parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'keys', - documentation: 'keys :: LIST? OF STRING?', + documentation: 'keys :: LIST', }, { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, 'apoc.map.flatten': { label: 'apoc.map.flatten', documentation: - 'Flattens nested items in the given map.\nThis function is the reverse of the `apoc.map.unflatten` function.', + 'Flattens nested items in the given `MAP`.\nThis function is the reverse of the `apoc.map.unflatten` function.', parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'delimiter', - documentation: 'delimiter = . :: STRING?', + documentation: 'delimiter = . :: STRING', }, ], }, 'apoc.map.fromLists': { label: 'apoc.map.fromLists', documentation: - 'Creates a map from the keys and values in the given lists.', + 'Creates a `MAP` from the keys and values in the given `LIST` values.', parameters: [ { label: 'keys', - documentation: 'keys :: LIST? OF STRING?', + documentation: 'keys :: LIST', }, { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, 'apoc.map.fromNodes': { label: 'apoc.map.fromNodes', documentation: - 'Returns a map of the given prop to the node of the given label.', + 'Returns a `MAP` of the given prop to the node of the given label.', parameters: [ { label: 'label', - documentation: 'label :: STRING?', + documentation: 'label :: STRING', }, { label: 'prop', - documentation: 'prop :: STRING?', + documentation: 'prop :: STRING', }, ], }, 'apoc.map.fromPairs': { label: 'apoc.map.fromPairs', - documentation: 'Creates a map from the given list of key-value pairs.', + documentation: + 'Creates a `MAP` from the given `LIST>` of key-value pairs.', parameters: [ { label: 'pairs', - documentation: 'pairs :: LIST? OF LIST? OF ANY?', + documentation: 'pairs :: LIST>', }, ], }, 'apoc.map.fromValues': { label: 'apoc.map.fromValues', documentation: - 'Creates a map from the alternating keys and values in the given list.', + 'Creates a `MAP` from the alternating keys and values in the given `LIST`.', parameters: [ { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, @@ -1594,234 +1608,235 @@ export const dummyDbSchema = { parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, { label: 'value', - documentation: 'value = null :: ANY?', + documentation: 'value = null :: ANY', }, { label: 'fail', - documentation: 'fail = true :: BOOLEAN?', + documentation: 'fail = true :: BOOLEAN', }, ], }, 'apoc.map.groupBy': { label: 'apoc.map.groupBy', documentation: - 'Creates a map of the list keyed by the given property, with single values.', + 'Creates a `MAP` of the `LIST` keyed by the given property, with single values.', parameters: [ { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, ], }, 'apoc.map.groupByMulti': { label: 'apoc.map.groupByMulti', documentation: - 'Creates a map of the lists keyed by the given property, with the list values.', + 'Creates a `MAP` of the `LIST` values keyed by the given property, with the `LIST` values.', parameters: [ { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, ], }, 'apoc.map.merge': { label: 'apoc.map.merge', - documentation: 'Merges the two given maps into one map.', + documentation: 'Merges the two given `MAP` values into one `MAP`.', parameters: [ { label: 'map1', - documentation: 'map1 :: MAP?', + documentation: 'map1 :: MAP', }, { label: 'map2', - documentation: 'map2 :: MAP?', + documentation: 'map2 :: MAP', }, ], }, 'apoc.map.mergeList': { label: 'apoc.map.mergeList', - documentation: 'Merges all maps in the given list into one map.', + documentation: + 'Merges all `MAP` values in the given `LIST>` into one `MAP`.', parameters: [ { label: 'maps', - documentation: 'maps :: LIST? OF MAP?', + documentation: 'maps :: LIST', }, ], }, 'apoc.map.mget': { label: 'apoc.map.mget', documentation: - 'Returns a list of values for the given keys.\nIf one of the keys does not exist, or lacks a default value, this function will throw an exception.', + 'Returns a `LIST` for the given keys.\nIf one of the keys does not exist, or lacks a default value, this function will throw an exception.', parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'keys', - documentation: 'keys :: LIST? OF STRING?', + documentation: 'keys :: LIST', }, { label: 'values', - documentation: 'values = [] :: LIST? OF ANY?', + documentation: 'values = [] :: LIST', }, { label: 'fail', - documentation: 'fail = true :: BOOLEAN?', + documentation: 'fail = true :: BOOLEAN', }, ], }, 'apoc.map.removeKey': { label: 'apoc.map.removeKey', documentation: - 'Removes the given key from the map (recursively if recursive is true).', + 'Removes the given key from the `MAP` (recursively if recursive is true).', parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.map.removeKeys': { label: 'apoc.map.removeKeys', documentation: - 'Removes the given keys from the map (recursively if recursive is true).', + 'Removes the given keys from the `MAP` (recursively if recursive is true).', parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'keys', - documentation: 'keys :: LIST? OF STRING?', + documentation: 'keys :: LIST', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.map.setEntry': { label: 'apoc.map.setEntry', - documentation: 'Adds or updates the given entry in the map.', + documentation: 'Adds or updates the given entry in the `MAP`.', parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.map.setKey': { label: 'apoc.map.setKey', - documentation: 'Adds or updates the given entry in the map.', + documentation: 'Adds or updates the given entry in the `MAP`.', parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.map.setLists': { label: 'apoc.map.setLists', documentation: - 'Adds or updates the given keys/value pairs provided in list format (e.g. [key1, key2],[value1, value2]) in a map.', + 'Adds or updates the given keys/value pairs provided in `LIST` format (e.g. [key1, key2],[value1, value2]) in a `MAP`.', parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'keys', - documentation: 'keys :: LIST? OF STRING?', + documentation: 'keys :: LIST', }, { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, 'apoc.map.setPairs': { label: 'apoc.map.setPairs', documentation: - 'Adds or updates the given key/value pairs (e.g. [key1,value1],[key2,value2]) in a map.', + 'Adds or updates the given key/value pairs (e.g. [key1,value1],[key2,value2]) in a `MAP`.', parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'pairs', - documentation: 'pairs :: LIST? OF LIST? OF ANY?', + documentation: 'pairs :: LIST>', }, ], }, 'apoc.map.setValues': { label: 'apoc.map.setValues', documentation: - 'Adds or updates the alternating key/value pairs (e.g. [key1,value1,key2,value2]) in a map.', + 'Adds or updates the alternating key/value pairs (e.g. [key1,value1,key2,value2]) in a `MAP`.', parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'pairs', - documentation: 'pairs :: LIST? OF ANY?', + documentation: 'pairs :: LIST', }, ], }, 'apoc.map.sortedProperties': { label: 'apoc.map.sortedProperties', documentation: - 'Returns a list of key/value pairs.\nThe pairs are sorted by alphabetically by key, with optional case sensitivity.', + 'Returns a `LIST` of key/value pairs.\nThe pairs are sorted by alphabetically by key, with optional case sensitivity.', parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'ignoreCase', - documentation: 'ignoreCase = true :: BOOLEAN?', + documentation: 'ignoreCase = true :: BOOLEAN', }, ], }, @@ -1832,72 +1847,72 @@ export const dummyDbSchema = { parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'keys', - documentation: 'keys :: LIST? OF STRING?', + documentation: 'keys :: LIST', }, { label: 'values', - documentation: 'values = [] :: LIST? OF ANY?', + documentation: 'values = [] :: LIST', }, { label: 'fail', - documentation: 'fail = true :: BOOLEAN?', + documentation: 'fail = true :: BOOLEAN', }, ], }, 'apoc.map.unflatten': { label: 'apoc.map.unflatten', documentation: - 'Unflattens items in the given map to nested items.\nThis function is the reverse of the `apoc.map.flatten` function.', + 'Unflattens items in the given `MAP` to nested items.\nThis function is the reverse of the `apoc.map.flatten` function.', parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'delimiter', - documentation: 'delimiter = . :: STRING?', + documentation: 'delimiter = . :: STRING', }, ], }, 'apoc.map.updateTree': { label: 'apoc.map.updateTree', documentation: - 'Adds the data map on each level of the nested tree, where the key-value pairs match.', + 'Adds the data `MAP` on each level of the nested tree, where the key-value pairs match.', parameters: [ { label: 'tree', - documentation: 'tree :: MAP?', + documentation: 'tree :: MAP', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, { label: 'data', - documentation: 'data :: LIST? OF LIST? OF ANY?', + documentation: 'data :: LIST>', }, ], }, 'apoc.map.values': { label: 'apoc.map.values', documentation: - 'Returns a list of values indicated by the given keys (returns a null value if a given key is missing).', + 'Returns a `LIST` indicated by the given keys (returns a null value if a given key is missing).', parameters: [ { label: 'map', - documentation: 'map :: MAP?', + documentation: 'map :: MAP', }, { label: 'keys', - documentation: 'keys = [] :: LIST? OF STRING?', + documentation: 'keys = [] :: LIST', }, { label: 'addNullsForMissing', - documentation: 'addNullsForMissing = false :: BOOLEAN?', + documentation: 'addNullsForMissing = false :: BOOLEAN', }, ], }, @@ -1907,7 +1922,7 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: FLOAT?', + documentation: 'value :: FLOAT', }, ], }, @@ -1917,7 +1932,7 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: FLOAT?', + documentation: 'value :: FLOAT', }, ], }, @@ -1927,7 +1942,7 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: FLOAT?', + documentation: 'value :: FLOAT', }, ], }, @@ -1979,7 +1994,7 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: FLOAT?', + documentation: 'value :: FLOAT', }, ], }, @@ -1989,7 +2004,7 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: FLOAT?', + documentation: 'value :: FLOAT', }, ], }, @@ -2000,7 +2015,7 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: FLOAT?', + documentation: 'value :: FLOAT', }, ], }, @@ -2010,7 +2025,7 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: FLOAT?', + documentation: 'value :: FLOAT', }, ], }, @@ -2020,7 +2035,7 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: FLOAT?', + documentation: 'value :: FLOAT', }, ], }, @@ -2030,11 +2045,11 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, { label: 'type', - documentation: 'type :: STRING?', + documentation: 'type :: STRING', }, ], }, @@ -2044,201 +2059,201 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.meta.cypher.types': { label: 'apoc.meta.cypher.types', documentation: - 'Returns a map containing the type names of the given values.', + 'Returns a `MAP` containing the type names of the given values.', parameters: [ { label: 'props', - documentation: 'props :: ANY?', + documentation: 'props :: ANY', }, ], }, 'apoc.meta.nodes.count': { label: 'apoc.meta.nodes.count', documentation: - 'Returns the sum of the nodes with the given labels in the list.', + 'Returns the sum of the `NODE` values with the given labels in the `LIST`.', parameters: [ { label: 'nodes', - documentation: 'nodes = [] :: LIST? OF STRING?', + documentation: 'nodes = [] :: LIST', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.node.degree': { label: 'apoc.node.degree', - documentation: 'Returns the total degrees for the given node.', + documentation: 'Returns the total degrees of the given `NODE`.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'relTypes', - documentation: 'relTypes = :: STRING?', + documentation: 'relTypes = :: STRING', }, ], }, 'apoc.node.degree.in': { label: 'apoc.node.degree.in', documentation: - 'Returns the total number of incoming relationships to the given node.', + 'Returns the total number of incoming `RELATIONSHIP` values connected to the given `NODE`.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'relTypes', - documentation: 'relTypes = :: STRING?', + documentation: 'relTypes = :: STRING', }, ], }, 'apoc.node.degree.out': { label: 'apoc.node.degree.out', documentation: - 'Returns the total number of outgoing relationships from the given node.', + 'Returns the total number of outgoing `RELATIONSHIP` values from the given `NODE`.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'relTypes', - documentation: 'relTypes = :: STRING?', + documentation: 'relTypes = :: STRING', }, ], }, 'apoc.node.id': { label: 'apoc.node.id', - documentation: 'Returns the id for the given virtual node.', + documentation: 'Returns the id for the given virtual `NODE`.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, ], }, 'apoc.node.labels': { label: 'apoc.node.labels', - documentation: 'Returns the labels for the given virtual node.', + documentation: 'Returns the labels for the given virtual `NODE`.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, ], }, 'apoc.node.relationship.exists': { label: 'apoc.node.relationship.exists', documentation: - 'Returns a boolean based on whether the given node has a relationship (or whether the given node has a relationship of the given type and direction).', + 'Returns a `BOOLEAN` based on whether the given `NODE` has a connecting `RELATIONSHIP` (or whether the given `NODE` has a connecting `RELATIONSHIP` of the given type and direction).', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'relTypes', - documentation: 'relTypes = :: STRING?', + documentation: 'relTypes = :: STRING', }, ], }, 'apoc.node.relationship.types': { label: 'apoc.node.relationship.types', documentation: - 'Returns a list of distinct relationship types for the given node.', + 'Returns a `LIST` of distinct `RELATIONSHIP` types for the given `NODE`.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'relTypes', - documentation: 'relTypes = :: STRING?', + documentation: 'relTypes = :: STRING', }, ], }, 'apoc.node.relationships.exist': { label: 'apoc.node.relationships.exist', documentation: - 'Returns a boolean based on whether the given node has relationships (or whether the given nodes has relationships of the given type and direction).', + 'Returns a `BOOLEAN` based on whether the given `NODE` has connecting `RELATIONSHIP` values (or whether the given `NODE` has connecting `RELATIONSHIP` values of the given type and direction).', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'relTypes', - documentation: 'relTypes = :: STRING?', + documentation: 'relTypes = :: STRING', }, ], }, 'apoc.nodes.connected': { label: 'apoc.nodes.connected', documentation: - 'Returns true when a given node is directly connected to another given node.\nThis function is optimized for dense nodes.', + 'Returns true when a given `NODE` is directly connected to another given `NODE`.\nThis function is optimized for dense nodes.', parameters: [ { label: 'startNode', - documentation: 'startNode :: NODE?', + documentation: 'startNode :: NODE', }, { label: 'endNode', - documentation: 'endNode :: NODE?', + documentation: 'endNode :: NODE', }, { label: 'types', - documentation: 'types = :: STRING?', + documentation: 'types = :: STRING', }, ], }, 'apoc.nodes.isDense': { label: 'apoc.nodes.isDense', - documentation: 'Returns true if the given node is a dense node.', + documentation: 'Returns true if the given `NODE` is a dense node.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, ], }, 'apoc.nodes.relationship.types': { label: 'apoc.nodes.relationship.types', documentation: - 'Returns a list of distinct relationship types from the given list of nodes.', + 'Returns a `LIST` of distinct `RELATIONSHIP` types from the given `LIST` values.', parameters: [ { label: 'nodes', - documentation: 'nodes :: ANY?', + documentation: 'nodes :: ANY', }, { label: 'types', - documentation: 'types = :: STRING?', + documentation: 'types = :: STRING', }, ], }, 'apoc.nodes.relationships.exist': { label: 'apoc.nodes.relationships.exist', documentation: - 'Returns a boolean based on whether or not the given nodes have the given relationships.', + 'Returns a `BOOLEAN` based on whether or not the given `NODE` values have the given `RELATIONSHIP` values.', parameters: [ { label: 'nodes', - documentation: 'nodes :: ANY?', + documentation: 'nodes :: ANY', }, { label: 'types', - documentation: 'types = :: STRING?', + documentation: 'types = :: STRING', }, ], }, @@ -2248,7 +2263,7 @@ export const dummyDbSchema = { parameters: [ { label: 'number', - documentation: 'number :: ANY?', + documentation: 'number :: ANY', }, ], }, @@ -2259,11 +2274,11 @@ export const dummyDbSchema = { parameters: [ { label: 'stringA', - documentation: 'stringA :: STRING?', + documentation: 'stringA :: STRING', }, { label: 'stringB', - documentation: 'stringB :: STRING?', + documentation: 'stringB :: STRING', }, ], }, @@ -2274,19 +2289,19 @@ export const dummyDbSchema = { parameters: [ { label: 'stringA', - documentation: 'stringA :: STRING?', + documentation: 'stringA :: STRING', }, { label: 'stringB', - documentation: 'stringB :: STRING?', + documentation: 'stringB :: STRING', }, { label: 'precision', - documentation: 'precision = 0 :: INTEGER?', + documentation: 'precision = 0 :: INTEGER', }, { label: 'roundingMode', - documentation: 'roundingMode = HALF_UP :: STRING?', + documentation: 'roundingMode = HALF_UP :: STRING', }, ], }, @@ -2297,19 +2312,19 @@ export const dummyDbSchema = { parameters: [ { label: 'stringA', - documentation: 'stringA :: STRING?', + documentation: 'stringA :: STRING', }, { label: 'stringB', - documentation: 'stringB :: STRING?', + documentation: 'stringB :: STRING', }, { label: 'precision', - documentation: 'precision = 0 :: INTEGER?', + documentation: 'precision = 0 :: INTEGER', }, { label: 'roundingMode', - documentation: 'roundingMode = HALF_UP :: STRING?', + documentation: 'roundingMode = HALF_UP :: STRING', }, ], }, @@ -2320,11 +2335,11 @@ export const dummyDbSchema = { parameters: [ { label: 'stringA', - documentation: 'stringA :: STRING?', + documentation: 'stringA :: STRING', }, { label: 'stringB', - documentation: 'stringB :: STRING?', + documentation: 'stringB :: STRING', }, ], }, @@ -2335,102 +2350,102 @@ export const dummyDbSchema = { parameters: [ { label: 'number', - documentation: 'number :: INTEGER?', + documentation: 'number :: INTEGER', }, ], }, 'apoc.number.exact.toFloat': { label: 'apoc.number.exact.toFloat', documentation: - 'Returns the float value of the given large number (using Java BigDecimal).', + 'Returns the `FLOAT` of the given large number (using Java BigDecimal).', parameters: [ { label: 'string', - documentation: 'string :: STRING?', + documentation: 'string :: STRING', }, { label: 'precision', - documentation: 'precision = 0 :: INTEGER?', + documentation: 'precision = 0 :: INTEGER', }, { label: 'roundingMode', - documentation: 'roundingMode = HALF_UP :: STRING?', + documentation: 'roundingMode = HALF_UP :: STRING', }, ], }, 'apoc.number.exact.toInteger': { label: 'apoc.number.exact.toInteger', documentation: - 'Returns the integer value of the given large number (using Java BigDecimal).', + 'Returns the `INTEGER` of the given large number (using Java BigDecimal).', parameters: [ { label: 'string', - documentation: 'string :: STRING?', + documentation: 'string :: STRING', }, { label: 'precision', - documentation: 'precision = 0 :: INTEGER?', + documentation: 'precision = 0 :: INTEGER', }, { label: 'roundingMode', - documentation: 'roundingMode = HALF_UP :: STRING?', + documentation: 'roundingMode = HALF_UP :: STRING', }, ], }, 'apoc.number.format': { label: 'apoc.number.format', documentation: - 'Formats the given long or double using the given pattern and language to produce a string.', + 'Formats the given `INTEGER` or `FLOAT` using the given pattern and language to produce a `STRING`.', parameters: [ { label: 'number', - documentation: 'number :: ANY?', + documentation: 'number :: ANY', }, { label: 'pattern', - documentation: 'pattern = :: STRING?', + documentation: 'pattern = :: STRING', }, { label: 'language', - documentation: 'language = :: STRING?', + documentation: 'language = :: STRING', }, ], }, 'apoc.number.parseFloat': { label: 'apoc.number.parseFloat', documentation: - 'Parses the given string using the given pattern and language to produce a double.', + 'Parses the given `STRING` using the given pattern and language to produce a `FLOAT`.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'pattern', - documentation: 'pattern = :: STRING?', + documentation: 'pattern = :: STRING', }, { label: 'language', - documentation: 'language = :: STRING?', + documentation: 'language = :: STRING', }, ], }, 'apoc.number.parseInt': { label: 'apoc.number.parseInt', documentation: - 'Parses the given string using the given pattern and language to produce a long.', + 'Parses the given `STRING` using the given pattern and language to produce a `INTEGER`.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'pattern', - documentation: 'pattern = :: STRING?', + documentation: 'pattern = :: STRING', }, { label: 'language', - documentation: 'language = :: STRING?', + documentation: 'language = :: STRING', }, ], }, @@ -2440,167 +2455,168 @@ export const dummyDbSchema = { parameters: [ { label: 'romanNumber', - documentation: 'romanNumber :: STRING?', + documentation: 'romanNumber :: STRING', }, ], }, 'apoc.path.combine': { label: 'apoc.path.combine', - documentation: 'Combines the two given paths into one path.', + documentation: 'Combines the two given `PATH` values into one `PATH`.', parameters: [ { label: 'path1', - documentation: 'path1 :: PATH?', + documentation: 'path1 :: PATH', }, { label: 'path2', - documentation: 'path2 :: PATH?', + documentation: 'path2 :: PATH', }, ], }, 'apoc.path.create': { label: 'apoc.path.create', documentation: - 'Returns a path from the given start node and a list of relationships.', + 'Returns a `PATH` from the given start `NODE` and `LIST`.', parameters: [ { label: 'startNode', - documentation: 'startNode :: NODE?', + documentation: 'startNode :: NODE', }, { label: 'rels', - documentation: 'rels = [] :: LIST? OF RELATIONSHIP?', + documentation: 'rels = [] :: LIST', }, ], }, 'apoc.path.elements': { label: 'apoc.path.elements', documentation: - 'Converts the given path into a list of nodes and relationships.', + 'Converts the given `PATH` into a `LIST`.', parameters: [ { label: 'path', - documentation: 'path :: PATH?', + documentation: 'path :: PATH', }, ], }, 'apoc.path.slice': { label: 'apoc.path.slice', documentation: - 'Returns a sub-path of the given length and offset from the given path.', + 'Returns a new `PATH` of the given length, taken from the given `PATH` at the given offset.', parameters: [ { label: 'path', - documentation: 'path :: PATH?', + documentation: 'path :: PATH', }, { label: 'offset', - documentation: 'offset = 0 :: INTEGER?', + documentation: 'offset = 0 :: INTEGER', }, { label: 'length', - documentation: 'length = -1 :: INTEGER?', + documentation: 'length = -1 :: INTEGER', }, ], }, 'apoc.rel.endNode': { label: 'apoc.rel.endNode', - documentation: 'Returns the end node for the given virtual relationship.', + documentation: + 'Returns the end `NODE` for the given virtual `RELATIONSHIP`.', parameters: [ { label: 'rel', - documentation: 'rel :: RELATIONSHIP?', + documentation: 'rel :: RELATIONSHIP', }, ], }, 'apoc.rel.id': { label: 'apoc.rel.id', - documentation: 'Returns the id for the given virtual relationship.', + documentation: 'Returns the id for the given virtual `RELATIONSHIP`.', parameters: [ { label: 'rel', - documentation: 'rel :: RELATIONSHIP?', + documentation: 'rel :: RELATIONSHIP', }, ], }, 'apoc.rel.startNode': { label: 'apoc.rel.startNode', documentation: - 'Returns the start node for the given virtual relationship.', + 'Returns the start `NODE` for the given virtual `RELATIONSHIP`.', parameters: [ { label: 'rel', - documentation: 'rel :: RELATIONSHIP?', + documentation: 'rel :: RELATIONSHIP', }, ], }, 'apoc.rel.type': { label: 'apoc.rel.type', - documentation: 'Returns the type for the given virtual relationship.', + documentation: 'Returns the type for the given virtual `RELATIONSHIP`.', parameters: [ { label: 'rel', - documentation: 'rel :: RELATIONSHIP?', + documentation: 'rel :: RELATIONSHIP', }, ], }, 'apoc.schema.node.constraintExists': { label: 'apoc.schema.node.constraintExists', documentation: - 'Returns a boolean depending on whether or not a constraint exists for the given node label with the given property names.', + 'Returns a `BOOLEAN` depending on whether or not a constraint exists for the given `NODE` label with the given property names.', parameters: [ { label: 'labelName', - documentation: 'labelName :: STRING?', + documentation: 'labelName :: STRING', }, { label: 'propertyName', - documentation: 'propertyName :: LIST? OF STRING?', + documentation: 'propertyName :: LIST', }, ], }, 'apoc.schema.node.indexExists': { label: 'apoc.schema.node.indexExists', documentation: - 'Returns a boolean depending on whether or not an index exists for the given node label with the given property names.', + 'Returns a `BOOLEAN` depending on whether or not an index exists for the given `NODE` label with the given property names.', parameters: [ { label: 'labelName', - documentation: 'labelName :: STRING?', + documentation: 'labelName :: STRING', }, { label: 'propertyName', - documentation: 'propertyName :: LIST? OF STRING?', + documentation: 'propertyName :: LIST', }, ], }, 'apoc.schema.relationship.constraintExists': { label: 'apoc.schema.relationship.constraintExists', documentation: - 'Returns a boolean depending on whether or not a constraint exists for the given relationship type with the given property names.', + 'Returns a `BOOLEAN` depending on whether or not a constraint exists for the given `RELATIONSHIP` type with the given property names.', parameters: [ { label: 'type', - documentation: 'type :: STRING?', + documentation: 'type :: STRING', }, { label: 'propertyName', - documentation: 'propertyName :: LIST? OF STRING?', + documentation: 'propertyName :: LIST', }, ], }, 'apoc.schema.relationship.indexExists': { label: 'apoc.schema.relationship.indexExists', documentation: - 'Returns a boolean depending on whether or not an index exists for the given relationship type with the given property names.', + 'Returns a `BOOLEAN` depending on whether or not an index exists for the given `RELATIONSHIP` type with the given property names.', parameters: [ { label: 'type', - documentation: 'type :: STRING?', + documentation: 'type :: STRING', }, { label: 'propertyName', - documentation: 'propertyName :: LIST? OF STRING?', + documentation: 'propertyName :: LIST', }, ], }, @@ -2610,34 +2626,34 @@ export const dummyDbSchema = { parameters: [ { label: 'score', - documentation: 'score :: INTEGER?', + documentation: 'score :: INTEGER', }, { label: 'exists', - documentation: 'exists :: BOOLEAN?', + documentation: 'exists :: BOOLEAN', }, ], }, 'apoc.scoring.pareto': { label: 'apoc.scoring.pareto', documentation: - 'Applies a Pareto scoring function over the given integers.', + 'Applies a Pareto scoring function over the given `INTEGER` values.', parameters: [ { label: 'minimumThreshold', - documentation: 'minimumThreshold :: INTEGER?', + documentation: 'minimumThreshold :: INTEGER', }, { label: 'eightyPercentValue', - documentation: 'eightyPercentValue :: INTEGER?', + documentation: 'eightyPercentValue :: INTEGER', }, { label: 'maximumValue', - documentation: 'maximumValue :: INTEGER?', + documentation: 'maximumValue :: INTEGER', }, { label: 'score', - documentation: 'score :: INTEGER?', + documentation: 'score :: INTEGER', }, ], }, @@ -2648,11 +2664,11 @@ export const dummyDbSchema = { parameters: [ { label: 'temporal', - documentation: 'temporal :: ANY?', + documentation: 'temporal :: ANY', }, { label: 'format', - documentation: 'format = yyyy-MM-dd :: STRING?', + documentation: 'format = yyyy-MM-dd :: STRING', }, ], }, @@ -2662,50 +2678,50 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: ANY?', + documentation: 'input :: ANY', }, { label: 'format', - documentation: 'format :: STRING?', + documentation: 'format :: STRING', }, ], }, 'apoc.temporal.toZonedTemporal': { label: 'apoc.temporal.toZonedTemporal', documentation: - 'Parses the given date string using the specified format into the given time zone.', + 'Parses the given date `STRING` using the specified format into the given time zone.', parameters: [ { label: 'time', - documentation: 'time :: STRING?', + documentation: 'time :: STRING', }, { label: 'format', - documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING?', + documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING', }, { label: 'timezone', - documentation: 'timezone = UTC :: STRING?', + documentation: 'timezone = UTC :: STRING', }, ], }, 'apoc.text.base64Decode': { label: 'apoc.text.base64Decode', - documentation: 'Decodes the given Base64 encoded string.', + documentation: 'Decodes the given Base64 encoded `STRING`.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.text.base64Encode': { label: 'apoc.text.base64Encode', - documentation: 'Encodes the given string with Base64.', + documentation: 'Encodes the given `STRING` with Base64.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, @@ -2715,7 +2731,7 @@ export const dummyDbSchema = { parameters: [ { label: 'url', - documentation: 'url :: STRING?', + documentation: 'url :: STRING', }, ], }, @@ -2725,227 +2741,228 @@ export const dummyDbSchema = { parameters: [ { label: 'url', - documentation: 'url :: STRING?', + documentation: 'url :: STRING', }, ], }, 'apoc.text.byteCount': { label: 'apoc.text.byteCount', - documentation: 'Returns the size of the given string in bytes.', + documentation: 'Returns the size of the given `STRING` in bytes.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'charset', - documentation: 'charset = UTF-8 :: STRING?', + documentation: 'charset = UTF-8 :: STRING', }, ], }, 'apoc.text.bytes': { label: 'apoc.text.bytes', - documentation: 'Returns the given string as bytes.', + documentation: 'Returns the given `STRING` as bytes.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'charset', - documentation: 'charset = UTF-8 :: STRING?', + documentation: 'charset = UTF-8 :: STRING', }, ], }, 'apoc.text.camelCase': { label: 'apoc.text.camelCase', - documentation: 'Converts the given string to camel case.', + documentation: 'Converts the given `STRING` to camel case.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.text.capitalize': { label: 'apoc.text.capitalize', - documentation: 'Capitalizes the first letter of the given string.', + documentation: 'Capitalizes the first letter of the given `STRING`.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.text.capitalizeAll': { label: 'apoc.text.capitalizeAll', documentation: - 'Capitalizes the first letter of every word in the given string.', + 'Capitalizes the first letter of every word in the given `STRING`.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.text.charAt': { label: 'apoc.text.charAt', documentation: - 'Returns the long value of the character at the given index.', + 'Returns the `INTEGER` value of the character at the given index.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'index', - documentation: 'index :: INTEGER?', + documentation: 'index :: INTEGER', }, ], }, 'apoc.text.clean': { label: 'apoc.text.clean', documentation: - 'Strips the given string of everything except alpha numeric characters and converts it to lower case.', + 'Strips the given `STRING` of everything except alpha numeric characters and converts it to lower case.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.text.code': { label: 'apoc.text.code', - documentation: 'Converts the long value into a string.', + documentation: 'Converts the `INTEGER` value into a `STRING`.', parameters: [ { label: 'codepoint', - documentation: 'codepoint :: INTEGER?', + documentation: 'codepoint :: INTEGER', }, ], }, 'apoc.text.compareCleaned': { label: 'apoc.text.compareCleaned', documentation: - 'Compares two given strings stripped of everything except alpha numeric characters converted to lower case.', + 'Compares two given `STRING` values stripped of everything except alpha numeric characters converted to lower case.', parameters: [ { label: 'text1', - documentation: 'text1 :: STRING?', + documentation: 'text1 :: STRING', }, { label: 'text2', - documentation: 'text2 :: STRING?', + documentation: 'text2 :: STRING', }, ], }, 'apoc.text.decapitalize': { label: 'apoc.text.decapitalize', documentation: - 'Turns the first letter of the given string from upper case to lower case.', + 'Turns the first letter of the given `STRING` from upper case to lower case.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.text.decapitalizeAll': { label: 'apoc.text.decapitalizeAll', documentation: - 'Turns the first letter of every word in the given string to lower case.', + 'Turns the first letter of every word in the given `STRING` to lower case.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.text.distance': { label: 'apoc.text.distance', documentation: - 'Compares the two given strings using the Levenshtein distance algorithm.', + 'Compares the two given `STRING` values using the Levenshtein distance algorithm.', parameters: [ { label: 'text1', - documentation: 'text1 :: STRING?', + documentation: 'text1 :: STRING', }, { label: 'text2', - documentation: 'text2 :: STRING?', + documentation: 'text2 :: STRING', }, ], }, 'apoc.text.doubleMetaphone': { label: 'apoc.text.doubleMetaphone', documentation: - 'Returns the double metaphone phonetic encoding of all words in the given string value.', + 'Returns the double metaphone phonetic encoding of all words in the given `STRING` value.', parameters: [ { label: 'value', - documentation: 'value :: STRING?', + documentation: 'value :: STRING', }, ], }, 'apoc.text.format': { label: 'apoc.text.format', - documentation: 'Formats the given string with the given parameters.', + documentation: 'Formats the given `STRING` with the given parameters.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'params', - documentation: 'params :: LIST? OF ANY?', + documentation: 'params :: LIST', }, { label: 'language', - documentation: 'language = en :: STRING?', + documentation: 'language = en :: STRING', }, ], }, 'apoc.text.fuzzyMatch': { label: 'apoc.text.fuzzyMatch', - documentation: 'Performs a fuzzy match search of the two given strings.', + documentation: + 'Performs a fuzzy match search of the two given `STRING` values.', parameters: [ { label: 'text1', - documentation: 'text1 :: STRING?', + documentation: 'text1 :: STRING', }, { label: 'text2', - documentation: 'text2 :: STRING?', + documentation: 'text2 :: STRING', }, ], }, 'apoc.text.hammingDistance': { label: 'apoc.text.hammingDistance', documentation: - 'Compares the two given strings using the Hamming distance algorithm.', + 'Compares the two given `STRING` values using the Hamming distance algorithm.', parameters: [ { label: 'text1', - documentation: 'text1 :: STRING?', + documentation: 'text1 :: STRING', }, { label: 'text2', - documentation: 'text2 :: STRING?', + documentation: 'text2 :: STRING', }, ], }, 'apoc.text.hexCharAt': { label: 'apoc.text.hexCharAt', documentation: - 'Returns the hexadecimal value of the given string at the given index.', + 'Returns the hexadecimal value of the given `STRING` at the given index.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'index', - documentation: 'index :: INTEGER?', + documentation: 'index :: INTEGER', }, ], }, @@ -2955,156 +2972,157 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: INTEGER?', + documentation: 'value :: INTEGER', }, ], }, 'apoc.text.indexOf': { label: 'apoc.text.indexOf', documentation: - 'Returns the first occurrence of the lookup string in the given string, or -1 if not found.', + 'Returns the first occurrence of the lookup `STRING` in the given `STRING`, or -1 if not found.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'lookup', - documentation: 'lookup :: STRING?', + documentation: 'lookup :: STRING', }, { label: 'from', - documentation: 'from = 0 :: INTEGER?', + documentation: 'from = 0 :: INTEGER', }, { label: 'to', - documentation: 'to = -1 :: INTEGER?', + documentation: 'to = -1 :: INTEGER', }, ], }, 'apoc.text.indexesOf': { label: 'apoc.text.indexesOf', documentation: - 'Returns all occurences of the lookup string in the given string, or an empty list if not found.', + 'Returns all occurrences of the lookup `STRING` in the given `STRING`, or an empty list if not found.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'lookup', - documentation: 'lookup :: STRING?', + documentation: 'lookup :: STRING', }, { label: 'from', - documentation: 'from = 0 :: INTEGER?', + documentation: 'from = 0 :: INTEGER', }, { label: 'to', - documentation: 'to = -1 :: INTEGER?', + documentation: 'to = -1 :: INTEGER', }, ], }, 'apoc.text.jaroWinklerDistance': { label: 'apoc.text.jaroWinklerDistance', documentation: - 'compares the two given strings using the Jaro-Winkler distance algorithm.', + 'Compares the two given `STRING` values using the Jaro-Winkler distance algorithm.', parameters: [ { label: 'text1', - documentation: 'text1 :: STRING?', + documentation: 'text1 :: STRING', }, { label: 'text2', - documentation: 'text2 :: STRING?', + documentation: 'text2 :: STRING', }, ], }, 'apoc.text.join': { label: 'apoc.text.join', - documentation: 'Joins the given strings using the given delimiter.', + documentation: + 'Joins the given `STRING` values using the given delimiter.', parameters: [ { label: 'texts', - documentation: 'texts :: LIST? OF STRING?', + documentation: 'texts :: LIST', }, { label: 'delimiter', - documentation: 'delimiter :: STRING?', + documentation: 'delimiter :: STRING', }, ], }, 'apoc.text.levenshteinDistance': { label: 'apoc.text.levenshteinDistance', documentation: - 'Compares the given strings using the Levenshtein distance algorithm.', + 'Compares the given `STRING` values using the Levenshtein distance algorithm.', parameters: [ { label: 'text1', - documentation: 'text1 :: STRING?', + documentation: 'text1 :: STRING', }, { label: 'text2', - documentation: 'text2 :: STRING?', + documentation: 'text2 :: STRING', }, ], }, 'apoc.text.levenshteinSimilarity': { label: 'apoc.text.levenshteinSimilarity', documentation: - 'Returns the similarity (a value within 0 and 1) between the two given strings based on the Levenshtein distance algorithm.', + 'Returns the similarity (a value within 0 and 1) between the two given `STRING` values based on the Levenshtein distance algorithm.', parameters: [ { label: 'text1', - documentation: 'text1 :: STRING?', + documentation: 'text1 :: STRING', }, { label: 'text2', - documentation: 'text2 :: STRING?', + documentation: 'text2 :: STRING', }, ], }, 'apoc.text.lpad': { label: 'apoc.text.lpad', - documentation: 'Left pads the given string by the given width.', + documentation: 'Left pads the given `STRING` by the given width.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'count', - documentation: 'count :: INTEGER?', + documentation: 'count :: INTEGER', }, { label: 'delimiter', - documentation: 'delimiter = :: STRING?', + documentation: 'delimiter = :: STRING', }, ], }, 'apoc.text.phonetic': { label: 'apoc.text.phonetic', documentation: - 'Returns the US_ENGLISH phonetic soundex encoding of all words of the string.', + 'Returns the US_ENGLISH phonetic soundex encoding of all words of the `STRING`.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.text.random': { label: 'apoc.text.random', documentation: - 'Generates a random string to the given length using a length parameter and an optional string of valid characters.\nUnsuitable for cryptographic use-cases.', + 'Generates a random `STRING` to the given length using a length parameter and an optional `STRING` of valid characters.\nUnsuitable for cryptographic use-cases.', parameters: [ { label: 'length', - documentation: 'length :: INTEGER?', + documentation: 'length :: INTEGER', }, { label: 'valid', - documentation: 'valid = A-Za-z0-9 :: STRING?', + documentation: 'valid = A-Za-z0-9 :: STRING', }, ], }, @@ -3115,11 +3133,11 @@ export const dummyDbSchema = { parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'regex', - documentation: 'regex :: STRING?', + documentation: 'regex :: STRING', }, ], }, @@ -3130,15 +3148,15 @@ export const dummyDbSchema = { parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'regex', - documentation: 'regex :: STRING?', + documentation: 'regex :: STRING', }, { label: 'replacement', - documentation: 'replacement :: STRING?', + documentation: 'replacement :: STRING', }, ], }, @@ -3149,11 +3167,11 @@ export const dummyDbSchema = { parameters: [ { label: 'item', - documentation: 'item :: STRING?', + documentation: 'item :: STRING', }, { label: 'count', - documentation: 'count :: INTEGER?', + documentation: 'count :: INTEGER', }, ], }, @@ -3164,174 +3182,174 @@ export const dummyDbSchema = { parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'regex', - documentation: 'regex :: STRING?', + documentation: 'regex :: STRING', }, { label: 'replacement', - documentation: 'replacement :: STRING?', + documentation: 'replacement :: STRING', }, ], }, 'apoc.text.rpad': { label: 'apoc.text.rpad', - documentation: 'Right pads the given string by the given width.', + documentation: 'Right pads the given `STRING` by the given width.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'count', - documentation: 'count :: INTEGER?', + documentation: 'count :: INTEGER', }, { label: 'delimiter', - documentation: 'delimiter = :: STRING?', + documentation: 'delimiter = :: STRING', }, ], }, 'apoc.text.slug': { label: 'apoc.text.slug', documentation: - 'Replaces the whitespace in the given string with the given delimiter.', + 'Replaces the whitespace in the given `STRING` with the given delimiter.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'delimiter', - documentation: 'delimiter = - :: STRING?', + documentation: 'delimiter = - :: STRING', }, ], }, 'apoc.text.snakeCase': { label: 'apoc.text.snakeCase', - documentation: 'Converts the given string to snake case.', + documentation: 'Converts the given `STRING` to snake case.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.text.sorensenDiceSimilarity': { label: 'apoc.text.sorensenDiceSimilarity', documentation: - 'Compares the two given strings using the Sørensen–Dice coefficient formula, with the provided IETF language tag.', + 'Compares the two given `STRING` values using the Sørensen–Dice coefficient formula, with the provided IETF language tag.', parameters: [ { label: 'text1', - documentation: 'text1 :: STRING?', + documentation: 'text1 :: STRING', }, { label: 'text2', - documentation: 'text2 :: STRING?', + documentation: 'text2 :: STRING', }, { label: 'languageTag', - documentation: 'languageTag = en :: STRING?', + documentation: 'languageTag = en :: STRING', }, ], }, 'apoc.text.split': { label: 'apoc.text.split', documentation: - 'Splits the given string using a given regular expression as a separator.', + 'Splits the given `STRING` using a given regular expression as a separator.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, { label: 'regex', - documentation: 'regex :: STRING?', + documentation: 'regex :: STRING', }, { label: 'limit', - documentation: 'limit = 0 :: INTEGER?', + documentation: 'limit = 0 :: INTEGER', }, ], }, 'apoc.text.swapCase': { label: 'apoc.text.swapCase', - documentation: 'Swaps the cases in the given string.', + documentation: 'Swaps the cases in the given `STRING`.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.text.toCypher': { label: 'apoc.text.toCypher', - documentation: 'Converts the given value to a Cypher property string.', + documentation: 'Converts the given value to a Cypher property `STRING`.', parameters: [ { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.text.toUpperCase': { label: 'apoc.text.toUpperCase', - documentation: 'Converts the given string to upper case.', + documentation: 'Converts the given `STRING` to upper case.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.text.upperCamelCase': { label: 'apoc.text.upperCamelCase', - documentation: 'Converts the given string to upper camel case.', + documentation: 'Converts the given `STRING` to upper camel case.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.text.urldecode': { label: 'apoc.text.urldecode', - documentation: 'Decodes the given URL encoded string.', + documentation: 'Decodes the given URL encoded `STRING`.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.text.urlencode': { label: 'apoc.text.urlencode', - documentation: 'Encodes the given URL string.', + documentation: 'Encodes the given URL `STRING`.', parameters: [ { label: 'text', - documentation: 'text :: STRING?', + documentation: 'text :: STRING', }, ], }, 'apoc.util.compress': { label: 'apoc.util.compress', - documentation: 'Zips the given string.', + documentation: 'Zips the given `STRING`.', parameters: [ { label: 'data', - documentation: 'data :: STRING?', + documentation: 'data :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -3341,66 +3359,66 @@ export const dummyDbSchema = { parameters: [ { label: 'data', - documentation: 'data :: BYTEARRAY?', + documentation: 'data :: BYTEARRAY', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.util.md5': { label: 'apoc.util.md5', documentation: - 'Returns the MD5 checksum of the concatenation of all string values in the given list.\nMD5 is a weak hashing algorithm which is unsuitable for cryptographic use-cases.', + 'Returns the MD5 checksum of the concatenation of all `STRING` values in the given `LIST`.\nMD5 is a weak hashing algorithm which is unsuitable for cryptographic use-cases.', parameters: [ { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, 'apoc.util.sha1': { label: 'apoc.util.sha1', documentation: - 'Returns the SHA1 of the concatenation of all string values in the given list.\nSHA1 is a weak hashing algorithm which is unsuitable for cryptographic use-cases.', + 'Returns the SHA1 of the concatenation of all `STRING` values in the given `LIST`.\nSHA1 is a weak hashing algorithm which is unsuitable for cryptographic use-cases.', parameters: [ { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, 'apoc.util.sha256': { label: 'apoc.util.sha256', documentation: - 'Returns the SHA256 of the concatenation of all string values in the given list.', + 'Returns the SHA256 of the concatenation of all `STRING` values in the given `LIST`.', parameters: [ { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, 'apoc.util.sha384': { label: 'apoc.util.sha384', documentation: - 'Returns the SHA384 of the concatenation of all string values in the given list.', + 'Returns the SHA384 of the concatenation of all `STRING` values in the given `LIST`.', parameters: [ { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, 'apoc.util.sha512': { label: 'apoc.util.sha512', documentation: - 'Returns the SHA512 of the concatenation of all string values in the list.', + 'Returns the SHA512 of the concatenation of all `STRING` values in the `LIST`.', parameters: [ { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, @@ -3411,15 +3429,15 @@ export const dummyDbSchema = { parameters: [ { label: 'predicate', - documentation: 'predicate :: BOOLEAN?', + documentation: 'predicate :: BOOLEAN', }, { label: 'message', - documentation: 'message :: STRING?', + documentation: 'message :: STRING', }, { label: 'params', - documentation: 'params :: LIST? OF ANY?', + documentation: 'params :: LIST', }, ], }, @@ -3430,43 +3448,43 @@ export const dummyDbSchema = { }, 'apoc.xml.parse': { label: 'apoc.xml.parse', - documentation: 'Parses the given XML string as a map.', + documentation: 'Parses the given XML `STRING` as a `MAP`.', parameters: [ { label: 'data', - documentation: 'data :: STRING?', + documentation: 'data :: STRING', }, { label: 'path', - documentation: 'path = / :: STRING?', + documentation: 'path = / :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, { label: 'simple', - documentation: 'simple = false :: BOOLEAN?', + documentation: 'simple = false :: BOOLEAN', }, ], }, asin: { label: 'asin', - documentation: 'Returns the arcsine of a number in radians.', + documentation: 'Returns the arcsine of a `FLOAT` in radians.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, atan: { label: 'atan', - documentation: 'Returns the arctangent of a number in radians.', + documentation: 'Returns the arctangent of a `FLOAT` in radians.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, @@ -3477,32 +3495,53 @@ export const dummyDbSchema = { parameters: [ { label: 'y', - documentation: 'y :: FLOAT?', + documentation: 'y :: FLOAT', }, { label: 'x', - documentation: 'x :: FLOAT?', + documentation: 'x :: FLOAT', }, ], }, avg: { label: 'avg', - documentation: 'Returns the average of a set of duration values.', + documentation: + 'Returns the average of a set of `INTEGER`, `FLOAT` or `DURATION` values.', parameters: [ { label: 'input', - documentation: 'input :: DURATION?', + documentation: 'input :: INTEGER | FLOAT | DURATION', }, ], }, ceil: { label: 'ceil', documentation: - 'Returns the smallest floating point number that is greater than or equal to a number and equal to a mathematical integer.', + 'Returns the smallest `FLOAT` that is greater than or equal to a number and equal to an `INTEGER`.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], + }, + char_length: { + label: 'char_length', + documentation: 'Returns the number of Unicode characters in a `STRING`.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING', + }, + ], + }, + character_length: { + label: 'character_length', + documentation: 'Returns the number of Unicode characters in a `STRING`.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: STRING', }, ], }, @@ -3513,7 +3552,7 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: ANY?', + documentation: 'input :: ANY', }, ], }, @@ -3524,27 +3563,27 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: ANY?', + documentation: 'input :: ANY', }, ], }, cos: { label: 'cos', - documentation: 'Returns the cosine of a number.', + documentation: 'Returns the cosine of a `FLOAT`.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, cot: { label: 'cot', - documentation: 'Returns the cotangent of a number.', + documentation: 'Returns the cotangent of a `FLOAT`.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, @@ -3554,155 +3593,167 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: ANY?', + documentation: 'input :: ANY', }, ], }, date: { label: 'date', - documentation: 'Create a Date instant.', + documentation: 'Creates a `DATE` instant.', parameters: [ { label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'date.realtime': { label: 'date.realtime', - documentation: 'Get the current Date instant using the realtime clock.', + documentation: + 'Returns the current `DATE` instant using the realtime clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'date.statement': { label: 'date.statement', - documentation: 'Get the current Date instant using the statement clock.', + documentation: + 'Returns the current `DATE` instant using the statement clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'date.transaction': { label: 'date.transaction', documentation: - 'Get the current Date instant using the transaction clock.', + 'Returns the current `DATE` instant using the transaction clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'date.truncate': { label: 'date.truncate', documentation: - 'Truncate the input temporal value to a Date instant using the specified unit.', + 'Truncates the given temporal value to a `DATE` instant using the specified unit.', parameters: [ { label: 'unit', - documentation: 'unit :: STRING?', + documentation: 'unit :: STRING', }, { label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, { label: 'fields', - documentation: 'fields = null :: MAP?', + documentation: 'fields = null :: MAP', }, ], }, datetime: { label: 'datetime', - documentation: 'Create a DateTime instant.', + documentation: 'Creates a `ZONED DATETIME` instant.', parameters: [ { label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'datetime.fromepoch': { label: 'datetime.fromepoch', documentation: - 'Create a DateTime given the seconds and nanoseconds since the start of the epoch.', + 'Creates a `ZONED DATETIME` given the seconds and nanoseconds since the start of the epoch.', parameters: [ { label: 'seconds', - documentation: 'seconds :: NUMBER?', + documentation: 'seconds :: INTEGER | FLOAT', }, { label: 'nanoseconds', - documentation: 'nanoseconds :: NUMBER?', + documentation: 'nanoseconds :: INTEGER | FLOAT', }, ], }, 'datetime.fromepochmillis': { label: 'datetime.fromepochmillis', documentation: - 'Create a DateTime given the milliseconds since the start of the epoch.', + 'Creates a `ZONED DATETIME` given the milliseconds since the start of the epoch.', parameters: [ { label: 'milliseconds', - documentation: 'milliseconds :: NUMBER?', + documentation: 'milliseconds :: INTEGER | FLOAT', }, ], }, 'datetime.realtime': { label: 'datetime.realtime', documentation: - 'Get the current DateTime instant using the realtime clock.', + 'Returns the current `ZONED DATETIME` instant using the realtime clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'datetime.statement': { label: 'datetime.statement', documentation: - 'Get the current DateTime instant using the statement clock.', + 'Returns the current `ZONED DATETIME` instant using the statement clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'datetime.transaction': { label: 'datetime.transaction', documentation: - 'Get the current DateTime instant using the transaction clock.', + 'Returns the current `ZONED DATETIME` instant using the transaction clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'datetime.truncate': { label: 'datetime.truncate', documentation: - 'Truncate the input temporal value to a DateTime instant using the specified unit.', + 'Truncates the given temporal value to a `ZONED DATETIME` instant using the specified unit.', parameters: [ { label: 'unit', - documentation: 'unit :: STRING?', + documentation: 'unit :: STRING', }, { label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, { label: 'fields', - documentation: 'fields = null :: MAP?', + documentation: 'fields = null :: MAP', + }, + ], + }, + 'db.nameFromElementId': { + label: 'db.nameFromElementId', + documentation: 'Resolves the database name for the given element id', + parameters: [ + { + label: 'elementId', + documentation: 'elementId :: STRING', }, ], }, @@ -3712,77 +3763,77 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, duration: { label: 'duration', - documentation: 'Construct a Duration value.', + documentation: 'Creates a `DURATION` value.', parameters: [ { label: 'input', - documentation: 'input :: ANY?', + documentation: 'input :: ANY', }, ], }, 'duration.between': { label: 'duration.between', documentation: - "Compute the duration between the 'from' instant (inclusive) and the 'to' instant (exclusive) in logical units.", + 'Computes the `DURATION` between the `from` instant (inclusive) and the `to` instant (exclusive) in logical units.', parameters: [ { label: 'from', - documentation: 'from :: ANY?', + documentation: 'from :: ANY', }, { label: 'to', - documentation: 'to :: ANY?', + documentation: 'to :: ANY', }, ], }, 'duration.inDays': { label: 'duration.inDays', documentation: - "Compute the duration between the 'from' instant (inclusive) and the 'to' instant (exclusive) in days.", + 'Computes the `DURATION` between the `from` instant (inclusive) and the `to` instant (exclusive) in days.', parameters: [ { label: 'from', - documentation: 'from :: ANY?', + documentation: 'from :: ANY', }, { label: 'to', - documentation: 'to :: ANY?', + documentation: 'to :: ANY', }, ], }, 'duration.inMonths': { label: 'duration.inMonths', documentation: - "Compute the duration between the 'from' instant (inclusive) and the 'to' instant (exclusive) in months.", + 'Computes the `DURATION` between the `from` instant (inclusive) and the `to` instant (exclusive) in months.', parameters: [ { label: 'from', - documentation: 'from :: ANY?', + documentation: 'from :: ANY', }, { label: 'to', - documentation: 'to :: ANY?', + documentation: 'to :: ANY', }, ], }, 'duration.inSeconds': { label: 'duration.inSeconds', documentation: - "Compute the duration between the 'from' instant (inclusive) and the 'to' instant (exclusive) in seconds.", + 'Computes the `DURATION` between the `from` instant (inclusive) and the `to` instant (exclusive) in seconds.', parameters: [ { label: 'from', - documentation: 'from :: ANY?', + documentation: 'from :: ANY', }, { label: 'to', - documentation: 'to :: ANY?', + documentation: 'to :: ANY', }, ], }, @@ -3793,21 +3844,21 @@ export const dummyDbSchema = { }, elementId: { label: 'elementId', - documentation: 'Returns the element id of a relationship.', + documentation: 'Returns the element id of a `NODE` or `RELATIONSHIP`.', parameters: [ { label: 'input', - documentation: 'input :: RELATIONSHIP?', + documentation: 'input :: NODE | RELATIONSHIP', }, ], }, endNode: { label: 'endNode', - documentation: 'Returns the end node of a relationship.', + documentation: 'Returns the end `NODE` of a `RELATIONSHIP`.', parameters: [ { label: 'input', - documentation: 'input :: RELATIONSHIP?', + documentation: 'input :: RELATIONSHIP', }, ], }, @@ -3818,7 +3869,7 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: ANY?', + documentation: 'input :: ANY', }, ], }, @@ -3829,7 +3880,7 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, @@ -3842,372 +3893,26 @@ export const dummyDbSchema = { floor: { label: 'floor', documentation: - 'Returns the largest floating point number that is less than or equal to a number and equal to a mathematical integer.', + 'Returns the largest `FLOAT` that is less than or equal to a number and equal to an `INTEGER`.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', - }, - ], - }, - 'gds.alpha.linkprediction.adamicAdar': { - label: 'gds.alpha.linkprediction.adamicAdar', - documentation: 'Given two nodes, calculate Adamic Adar similarity', - parameters: [ - { - label: 'node1', - documentation: 'node1 :: NODE?', - }, - { - label: 'node2', - documentation: 'node2 :: NODE?', - }, - { - label: 'config', - documentation: 'config = {} :: MAP?', - }, - ], - }, - 'gds.alpha.linkprediction.commonNeighbors': { - label: 'gds.alpha.linkprediction.commonNeighbors', - documentation: 'Given two nodes, returns the number of common neighbors', - parameters: [ - { - label: 'node1', - documentation: 'node1 :: NODE?', - }, - { - label: 'node2', - documentation: 'node2 :: NODE?', - }, - { - label: 'config', - documentation: 'config = {} :: MAP?', - }, - ], - }, - 'gds.alpha.linkprediction.preferentialAttachment': { - label: 'gds.alpha.linkprediction.preferentialAttachment', - documentation: 'Given two nodes, calculate Preferential Attachment', - parameters: [ - { - label: 'node1', - documentation: 'node1 :: NODE?', - }, - { - label: 'node2', - documentation: 'node2 :: NODE?', - }, - { - label: 'config', - documentation: 'config = {} :: MAP?', - }, - ], - }, - 'gds.alpha.linkprediction.resourceAllocation': { - label: 'gds.alpha.linkprediction.resourceAllocation', - documentation: - 'Given two nodes, calculate Resource Allocation similarity', - parameters: [ - { - label: 'node1', - documentation: 'node1 :: NODE?', - }, - { - label: 'node2', - documentation: 'node2 :: NODE?', - }, - { - label: 'config', - documentation: 'config = {} :: MAP?', - }, - ], - }, - 'gds.alpha.linkprediction.sameCommunity': { - label: 'gds.alpha.linkprediction.sameCommunity', - documentation: - 'Given two nodes, indicates if they have the same community', - parameters: [ - { - label: 'node1', - documentation: 'node1 :: NODE?', - }, - { - label: 'node2', - documentation: 'node2 :: NODE?', - }, - { - label: 'communityProperty', - documentation: 'communityProperty = community :: STRING?', - }, - ], - }, - 'gds.alpha.linkprediction.totalNeighbors': { - label: 'gds.alpha.linkprediction.totalNeighbors', - documentation: 'Given two nodes, calculate Total Neighbors', - parameters: [ - { - label: 'node1', - documentation: 'node1 :: NODE?', - }, - { - label: 'node2', - documentation: 'node2 :: NODE?', - }, - { - label: 'config', - documentation: 'config = {} :: MAP?', - }, - ], - }, - 'gds.alpha.ml.oneHotEncoding': { - label: 'gds.alpha.ml.oneHotEncoding', - documentation: - 'RETURN gds.alpha.ml.oneHotEncoding(availableValues, selectedValues) - return a list of selected values in a one hot encoding format.', - parameters: [ - { - label: 'availableValues', - documentation: 'availableValues :: LIST? OF ANY?', - }, - { - label: 'selectedValues', - documentation: 'selectedValues :: LIST? OF ANY?', - }, - ], - }, - 'gds.graph.exists': { - label: 'gds.graph.exists', - documentation: 'Checks if a graph exists in the catalog.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - ], - }, - 'gds.graph.project': { - label: 'gds.graph.project', - documentation: - 'Creates a named graph in the catalog for use by algorithms.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'sourceNode', - documentation: 'sourceNode :: ANY?', - }, - { - label: 'targetNode', - documentation: 'targetNode = null :: ANY?', - }, - { - label: 'dataConfig', - documentation: 'dataConfig = null :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = null :: ANY?', - }, - { - label: 'alphaMigrationConfig', - documentation: 'alphaMigrationConfig = null :: ANY?', - }, - ], - }, - 'gds.isLicensed': { - label: 'gds.isLicensed', - documentation: - 'RETURN gds.isLicensed - Return if GDS is licensed. For more details use the procedure gds.license.state.', - parameters: [], - }, - 'gds.similarity.cosine': { - label: 'gds.similarity.cosine', - documentation: - 'RETURN gds.similarity.cosine(vector1, vector2) - Given two collection vectors, calculate cosine similarity', - parameters: [ - { - label: 'vector1', - documentation: 'vector1 :: LIST? OF NUMBER?', - }, - { - label: 'vector2', - documentation: 'vector2 :: LIST? OF NUMBER?', - }, - ], - }, - 'gds.similarity.euclidean': { - label: 'gds.similarity.euclidean', - documentation: - 'RETURN gds.similarity.euclidean(vector1, vector2) - Given two collection vectors, calculate similarity based on euclidean distance', - parameters: [ - { - label: 'vector1', - documentation: 'vector1 :: LIST? OF NUMBER?', - }, - { - label: 'vector2', - documentation: 'vector2 :: LIST? OF NUMBER?', - }, - ], - }, - 'gds.similarity.euclideanDistance': { - label: 'gds.similarity.euclideanDistance', - documentation: - 'RETURN gds.similarity.euclideanDistance(vector1, vector2) - Given two collection vectors, calculate the euclidean distance (square root of the sum of the squared differences)', - parameters: [ - { - label: 'vector1', - documentation: 'vector1 :: LIST? OF NUMBER?', - }, - { - label: 'vector2', - documentation: 'vector2 :: LIST? OF NUMBER?', - }, - ], - }, - 'gds.similarity.jaccard': { - label: 'gds.similarity.jaccard', - documentation: - 'RETURN gds.similarity.jaccard(vector1, vector2) - Given two collection vectors, calculate Jaccard similarity', - parameters: [ - { - label: 'vector1', - documentation: 'vector1 :: LIST? OF NUMBER?', - }, - { - label: 'vector2', - documentation: 'vector2 :: LIST? OF NUMBER?', - }, - ], - }, - 'gds.similarity.overlap': { - label: 'gds.similarity.overlap', - documentation: - 'RETURN gds.similarity.overlap(vector1, vector2) - Given two collection vectors, calculate overlap similarity', - parameters: [ - { - label: 'vector1', - documentation: 'vector1 :: LIST? OF NUMBER?', - }, - { - label: 'vector2', - documentation: 'vector2 :: LIST? OF NUMBER?', - }, - ], - }, - 'gds.similarity.pearson': { - label: 'gds.similarity.pearson', - documentation: - 'RETURN gds.similarity.pearson(vector1, vector2) - Given two collection vectors, calculate pearson similarity', - parameters: [ - { - label: 'vector1', - documentation: 'vector1 :: LIST? OF NUMBER?', - }, - { - label: 'vector2', - documentation: 'vector2 :: LIST? OF NUMBER?', - }, - ], - }, - 'gds.util.NaN': { - label: 'gds.util.NaN', - documentation: 'RETURN gds.util.NaN() - Returns NaN as a Cypher value.', - parameters: [], - }, - 'gds.util.asNode': { - label: 'gds.util.asNode', - documentation: - 'RETURN gds.util.asNode(nodeId) - Return the node objects for the given node id or null if none exists.', - parameters: [ - { - label: 'nodeId', - documentation: 'nodeId :: NUMBER?', - }, - ], - }, - 'gds.util.asNodes': { - label: 'gds.util.asNodes', - documentation: - 'RETURN gds.util.asNodes(nodeIds) - Return the node objects for the given node ids or an empty list if none exists.', - parameters: [ - { - label: 'nodeIds', - documentation: 'nodeIds :: LIST? OF NUMBER?', - }, - ], - }, - 'gds.util.infinity': { - label: 'gds.util.infinity', - documentation: - 'RETURN gds.util.infinity() - Return infinity as a Cypher value.', - parameters: [], - }, - 'gds.util.isFinite': { - label: 'gds.util.isFinite', - documentation: - 'RETURN gds.util.isFinite(value) - Return true iff the given argument is a finite value (not ±Infinity, NaN, or null).', - parameters: [ - { - label: 'value', - documentation: 'value :: NUMBER?', - }, - ], - }, - 'gds.util.isInfinite': { - label: 'gds.util.isInfinite', - documentation: - 'RETURN gds.util.isInfinite(value) - Return true iff the given argument is not a finite value (not ±Infinity, NaN, or null).', - parameters: [ - { - label: 'value', - documentation: 'value :: NUMBER?', - }, - ], - }, - 'gds.util.nodeProperty': { - label: 'gds.util.nodeProperty', - documentation: - 'Returns a node property value from a named in-memory graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'nodeId', - documentation: 'nodeId :: ANY?', - }, - { - label: 'propertyKey', - documentation: 'propertyKey :: STRING?', - }, - { - label: 'nodeLabel', - documentation: 'nodeLabel = * :: STRING?', + documentation: 'input :: FLOAT', }, ], }, - 'gds.version': { - label: 'gds.version', - documentation: - 'RETURN gds.version() | Return the installed graph data science library version.', - parameters: [], - }, 'graph.names': { label: 'graph.names', - documentation: 'Lists the names of graph in the current database', + documentation: 'Lists the names of graphs in the current database.', parameters: [], }, 'graph.propertiesByName': { label: 'graph.propertiesByName', - documentation: 'Returns the map of properties associated with a graph', + documentation: 'Returns the `MAP` of properties associated with a graph.', parameters: [ { label: 'graphName', - documentation: 'graphName :: STRING?', + documentation: 'graphName :: STRING', }, ], }, @@ -4217,104 +3922,105 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, head: { label: 'head', - documentation: 'Returns the first element in a list.', + documentation: 'Returns the first element in a `LIST`.', parameters: [ { label: 'list', - documentation: 'list :: LIST? OF ANY?', + documentation: 'list :: LIST', }, ], }, id: { label: 'id', - documentation: 'Returns the id of a relationship.', + documentation: 'Returns the id of a `NODE` or `RELATIONSHIP`.', parameters: [ { label: 'input', - documentation: 'input :: RELATIONSHIP?', + documentation: 'input :: NODE | RELATIONSHIP', }, ], }, isEmpty: { label: 'isEmpty', - documentation: 'Checks whether a string is empty.', + documentation: + 'Checks whether a `STRING`, `MAP` or `LIST` is empty.', parameters: [ { label: 'input', - documentation: 'input :: STRING?', + documentation: 'input :: STRING | MAP | LIST', }, ], }, isNaN: { label: 'isNaN', - documentation: 'Returns whether the given floating point number is NaN.', + documentation: 'Returns whether the given `INTEGER` or `FLOAT` is NaN.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: INTEGER | FLOAT', }, ], }, keys: { label: 'keys', documentation: - 'Returns a list containing the string representations for all the property names of a map.', + 'Returns a `LIST` containing the `STRING` representations for all the property names of a `NODE`, `RELATIONSHIP` or `MAP`.', parameters: [ { label: 'input', - documentation: 'input :: MAP?', + documentation: 'input :: NODE | RELATIONSHIP | MAP', }, ], }, labels: { label: 'labels', documentation: - 'Returns a list containing the string representations for all the labels of a node.', + 'Returns a `LIST` containing the `STRING` representations for all the labels of a `NODE`.', parameters: [ { label: 'input', - documentation: 'input :: NODE?', + documentation: 'input :: NODE', }, ], }, last: { label: 'last', - documentation: 'Returns the last element in a list.', + documentation: 'Returns the last element in a `LIST`.', parameters: [ { label: 'list', - documentation: 'list :: LIST? OF ANY?', + documentation: 'list :: LIST', }, ], }, left: { label: 'left', documentation: - 'Returns a string containing the specified number of leftmost characters of the original string.', + 'Returns a `STRING` containing the specified number (`INTEGER`) of leftmost characters in the given `STRING`.', parameters: [ { label: 'original', - documentation: 'original :: STRING?', + documentation: 'original :: STRING', }, { label: 'length', - documentation: 'length :: INTEGER?', + documentation: 'length :: INTEGER', }, ], }, length: { label: 'length', - documentation: 'Returns the length of a path.', + documentation: 'Returns the length of a `PATH`.', parameters: [ { label: 'input', - documentation: 'input :: PATH?', + documentation: 'input :: PATH', }, ], }, @@ -4326,156 +4032,156 @@ export const dummyDbSchema = { }, localdatetime: { label: 'localdatetime', - documentation: 'Create a LocalDateTime instant.', + documentation: 'Creates a `LOCAL DATETIME` instant.', parameters: [ { label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'localdatetime.realtime': { label: 'localdatetime.realtime', documentation: - 'Get the current LocalDateTime instant using the realtime clock.', + 'Returns the current `LOCAL DATETIME` instant using the realtime clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'localdatetime.statement': { label: 'localdatetime.statement', documentation: - 'Get the current LocalDateTime instant using the statement clock.', + 'Returns the current `LOCAL DATETIME` instant using the statement clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'localdatetime.transaction': { label: 'localdatetime.transaction', documentation: - 'Get the current LocalDateTime instant using the transaction clock.', + 'Returns the current `LOCAL DATETIME` instant using the transaction clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'localdatetime.truncate': { label: 'localdatetime.truncate', documentation: - 'Truncate the input temporal value to a LocalDateTime instant using the specified unit.', + 'Truncates the given temporal value to a `LOCAL DATETIME` instant using the specified unit.', parameters: [ { label: 'unit', - documentation: 'unit :: STRING?', + documentation: 'unit :: STRING', }, { label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, { label: 'fields', - documentation: 'fields = null :: MAP?', + documentation: 'fields = null :: MAP', }, ], }, localtime: { label: 'localtime', - documentation: 'Create a LocalTime instant.', + documentation: 'Creates a `LOCAL TIME` instant.', parameters: [ { label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'localtime.realtime': { label: 'localtime.realtime', documentation: - 'Get the current LocalTime instant using the realtime clock.', + 'Returns the current `LOCAL TIME` instant using the realtime clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'localtime.statement': { label: 'localtime.statement', documentation: - 'Get the current LocalTime instant using the statement clock.', + 'Returns the current `LOCAL TIME` instant using the statement clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'localtime.transaction': { label: 'localtime.transaction', documentation: - 'Get the current LocalTime instant using the transaction clock.', + 'Returns the current `LOCAL TIME` instant using the transaction clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'localtime.truncate': { label: 'localtime.truncate', documentation: - 'Truncate the input temporal value to a LocalTime instant using the specified unit.', + 'Truncates the given temporal value to a `LOCAL TIME` instant using the specified unit.', parameters: [ { label: 'unit', - documentation: 'unit :: STRING?', + documentation: 'unit :: STRING', }, { label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, { label: 'fields', - documentation: 'fields = null :: MAP?', + documentation: 'fields = null :: MAP', }, ], }, log: { label: 'log', - documentation: 'Returns the natural logarithm of a number.', + documentation: 'Returns the natural logarithm of a `FLOAT`.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, log10: { label: 'log10', - documentation: 'Returns the common logarithm (base 10) of a number.', + documentation: 'Returns the common logarithm (base 10) of a `FLOAT`.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, ltrim: { label: 'ltrim', documentation: - 'Returns the original string with leading whitespace removed.', + 'Returns the given `STRING` with leading whitespace removed.', parameters: [ { label: 'input', - documentation: 'input :: STRING?', + documentation: 'input :: STRING', }, ], }, @@ -4485,7 +4191,7 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: ANY?', + documentation: 'input :: ANY', }, ], }, @@ -4495,32 +4201,48 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: ANY?', + documentation: 'input :: ANY', }, ], }, nodes: { label: 'nodes', - documentation: 'Returns a list containing all the nodes in a path.', + documentation: + 'Returns a `LIST` containing all the `NODE` values in a `PATH`.', parameters: [ { label: 'input', - documentation: 'input :: PATH?', + documentation: 'input :: PATH', }, ], }, none: { label: 'none', documentation: - 'Returns true if the predicate holds for no element in the given list.', + 'Returns true if the predicate holds for no element in the given `LIST`.', parameters: [ { label: 'variable', - documentation: 'variable :: ANY?', + documentation: 'variable :: ANY', }, { label: 'list', - documentation: 'list :: LIST? OF ANY?', + documentation: 'list :: LIST', + }, + ], + }, + nullIf: { + label: 'nullIf', + documentation: + 'Returns null if the two given parameters are equivalent, otherwise returns the value of the first parameter.', + parameters: [ + { + label: 'v1', + documentation: 'v1 :: ANY', + }, + { + label: 'v2', + documentation: 'v2 :: ANY', }, ], }, @@ -4531,26 +4253,26 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, { label: 'percentile', - documentation: 'percentile :: FLOAT?', + documentation: 'percentile :: FLOAT', }, ], }, percentileDisc: { label: 'percentileDisc', documentation: - 'Returns the nearest floating point value to the given percentile over a group using a rounding method.', + 'Returns the nearest `INTEGER` or `FLOAT` value to the given percentile over a group using a rounding method.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: INTEGER | FLOAT', }, { label: 'percentile', - documentation: 'percentile :: FLOAT?', + documentation: 'percentile :: FLOAT', }, ], }, @@ -4566,22 +4288,22 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: MAP?', + documentation: 'input :: MAP', }, ], }, 'point.distance': { label: 'point.distance', documentation: - 'Returns a floating point number representing the geodesic distance between any two points in the same CRS.', + 'Returns a `FLOAT` representing the geodesic distance between any two points in the same CRS.', parameters: [ { label: 'from', - documentation: 'from :: POINT?', + documentation: 'from :: POINT', }, { label: 'to', - documentation: 'to :: POINT?', + documentation: 'to :: POINT', }, ], }, @@ -4592,25 +4314,26 @@ export const dummyDbSchema = { parameters: [ { label: 'point', - documentation: 'point :: POINT?', + documentation: 'point :: POINT', }, { label: 'lowerLeft', - documentation: 'lowerLeft :: POINT?', + documentation: 'lowerLeft :: POINT', }, { label: 'upperRight', - documentation: 'upperRight :: POINT?', + documentation: 'upperRight :: POINT', }, ], }, properties: { label: 'properties', - documentation: 'Returns a map containing all the properties of a map.', + documentation: + 'Returns a `MAP` containing all the properties of a `NODE`, `RELATIONSHIP` or `MAP`.', parameters: [ { label: 'input', - documentation: 'input :: MAP?', + documentation: 'input :: NODE | RELATIONSHIP | MAP', }, ], }, @@ -4620,14 +4343,14 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, rand: { label: 'rand', documentation: - 'Returns a random floating point number in the range from 0 (inclusive) to 1 (exclusive); i.e. [0,1).', + 'Returns a random `FLOAT` in the range from 0 (inclusive) to 1 (exclusive).', parameters: [], }, randomUUID: { @@ -4638,90 +4361,90 @@ export const dummyDbSchema = { range: { label: 'range', documentation: - 'Returns a list comprising all integer values within a specified range created with step length.', + 'Returns a `LIST` comprising all `INTEGER` values within a specified range created with step length.', parameters: [ { label: 'start', - documentation: 'start :: INTEGER?', + documentation: 'start :: INTEGER', }, { label: 'end', - documentation: 'end :: INTEGER?', + documentation: 'end :: INTEGER', }, { label: 'step', - documentation: 'step :: INTEGER?', + documentation: 'step :: INTEGER', }, ], }, reduce: { label: 'reduce', documentation: - 'Runs an expression against individual elements of a list, storing the result of the expression in an accumulator.', + 'Runs an expression against individual elements of a `LIST`, storing the result of the expression in an accumulator.', parameters: [ { label: 'accumulator', - documentation: 'accumulator :: ANY?', + documentation: 'accumulator :: ANY', }, { label: 'variable', - documentation: 'variable :: LIST? OF ANY?', + documentation: 'variable :: LIST', }, ], }, relationships: { label: 'relationships', documentation: - 'Returns a list containing all the relationships in a path.', + 'Returns a `LIST` containing all the `RELATIONSHIP` values in a `PATH`.', parameters: [ { label: 'input', - documentation: 'input :: PATH?', + documentation: 'input :: PATH', }, ], }, replace: { label: 'replace', documentation: - 'Returns a string in which all occurrences of a specified search string in the original string have been replaced by another (specified) replace string.', + 'Returns a `STRING` in which all occurrences of a specified search `STRING` in the given `STRING` have been replaced by another (specified) replacement `STRING`.', parameters: [ { label: 'original', - documentation: 'original :: STRING?', + documentation: 'original :: STRING', }, { label: 'search', - documentation: 'search :: STRING?', + documentation: 'search :: STRING', }, { label: 'replace', - documentation: 'replace :: STRING?', + documentation: 'replace :: STRING', }, ], }, reverse: { label: 'reverse', documentation: - 'Returns a list in which the order of all elements in the original list have been reversed.', + 'Returns a `STRING` or `LIST` in which the order of all characters or elements in the given `STRING` or `LIST` have been reversed.', parameters: [ { label: 'input', - documentation: 'input :: LIST? OF ANY?', + documentation: 'input :: STRING | LIST', }, ], }, right: { label: 'right', documentation: - 'Returns a string containing the specified number of rightmost characters of the original string.', + 'Returns a `STRING` containing the specified number of rightmost characters in the given `STRING`.', parameters: [ { label: 'original', - documentation: 'original :: STRING?', + documentation: 'original :: STRING', }, { label: 'length', - documentation: 'length :: INTEGER?', + documentation: 'length :: INTEGER', }, ], }, @@ -4732,107 +4455,108 @@ export const dummyDbSchema = { parameters: [ { label: 'value', - documentation: 'value :: FLOAT?', + documentation: 'value :: FLOAT', }, { label: 'precision', - documentation: 'precision :: NUMBER?', + documentation: 'precision :: INTEGER | FLOAT', }, { label: 'mode', - documentation: 'mode :: STRING?', + documentation: 'mode :: STRING', }, ], }, rtrim: { label: 'rtrim', documentation: - 'Returns the original string with trailing whitespace removed.', + 'Returns the given `STRING` with trailing whitespace removed.', parameters: [ { label: 'input', - documentation: 'input :: STRING?', + documentation: 'input :: STRING', }, ], }, sign: { label: 'sign', documentation: - 'Returns the signum of a floating point number: 0 if the number is 0, -1 for any negative number, and 1 for any positive number.', + 'Returns the signum of an `INTEGER` or `FLOAT`: 0 if the number is 0, -1 for any negative number, and 1 for any positive number.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: INTEGER | FLOAT', }, ], }, sin: { label: 'sin', - documentation: 'Returns the sine of a number.', + documentation: 'Returns the sine of a `FLOAT`.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, single: { label: 'single', documentation: - 'Returns true if the predicate holds for exactly one of the elements in the given list.', + 'Returns true if the predicate holds for exactly one of the elements in the given `LIST`.', parameters: [ { label: 'variable', - documentation: 'variable :: ANY?', + documentation: 'variable :: ANY', }, { label: 'list', - documentation: 'list :: LIST? OF ANY?', + documentation: 'list :: LIST', }, ], }, size: { label: 'size', - documentation: 'Returns the number of Unicode characters in a string.', + documentation: + 'Returns the number of items in a `LIST` or the number of Unicode characters in a `STRING`.', parameters: [ { label: 'input', - documentation: 'input :: STRING?', + documentation: 'input :: STRING | LIST', }, ], }, split: { label: 'split', documentation: - 'Returns a list of strings resulting from the splitting of the original string around matches of any of the given delimiters.', + 'Returns a `LIST` resulting from the splitting of the given `STRING` around matches of the given delimiter(s).', parameters: [ { label: 'original', - documentation: 'original :: STRING?', + documentation: 'original :: STRING', }, { label: 'splitDelimiters', - documentation: 'splitDelimiters :: LIST? OF STRING?', + documentation: 'splitDelimiters :: STRING | LIST', }, ], }, sqrt: { label: 'sqrt', - documentation: 'Returns the square root of a number.', + documentation: 'Returns the square root of a `FLOAT`.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, startNode: { label: 'startNode', - documentation: 'Returns the start node of a relationship.', + documentation: 'Returns the start `NODE` of a `RELATIONSHIP`.', parameters: [ { label: 'input', - documentation: 'input :: RELATIONSHIP?', + documentation: 'input :: RELATIONSHIP', }, ], }, @@ -4843,7 +4567,7 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, @@ -4854,289 +4578,310 @@ export const dummyDbSchema = { parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, substring: { label: 'substring', documentation: - "Returns a substring of length 'length' of the original string, beginning with a 0-based index start.", + 'Returns a substring of a given `length` from the given `STRING`, beginning with a 0-based index start.', parameters: [ { label: 'original', - documentation: 'original :: STRING?', + documentation: 'original :: STRING', }, { label: 'start', - documentation: 'start :: INTEGER?', + documentation: 'start :: INTEGER', }, { label: 'length', - documentation: 'length :: INTEGER?', + documentation: 'length :: INTEGER', }, ], }, sum: { label: 'sum', - documentation: 'Returns the sum of a set of durations', + documentation: + 'Returns the sum of a set of `INTEGER`, `FLOAT` or `DURATION` values', parameters: [ { label: 'input', - documentation: 'input :: DURATION?', + documentation: 'input :: INTEGER | FLOAT | DURATION', }, ], }, tail: { label: 'tail', - documentation: 'Returns all but the first element in a list.', + documentation: 'Returns all but the first element in a `LIST`.', parameters: [ { label: 'input', - documentation: 'input :: LIST? OF ANY?', + documentation: 'input :: LIST', }, ], }, tan: { label: 'tan', - documentation: 'Returns the tangent of a number.', + documentation: 'Returns the tangent of a `FLOAT`.', parameters: [ { label: 'input', - documentation: 'input :: FLOAT?', + documentation: 'input :: FLOAT', }, ], }, time: { label: 'time', - documentation: 'Create a Time instant.', + documentation: 'Creates a `ZONED TIME` instant.', parameters: [ { label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'time.realtime': { label: 'time.realtime', - documentation: 'Get the current Time instant using the realtime clock.', + documentation: + 'Returns the current `ZONED TIME` instant using the realtime clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'time.statement': { label: 'time.statement', - documentation: 'Get the current Time instant using the statement clock.', + documentation: + 'Returns the current `ZONED TIME` instant using the statement clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'time.transaction': { label: 'time.transaction', documentation: - 'Get the current Time instant using the transaction clock.', + 'Returns the current `ZONED TIME` instant using the transaction clock.', parameters: [ { label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, ], }, 'time.truncate': { label: 'time.truncate', documentation: - 'Truncate the input temporal value to a Time instant using the specified unit.', + 'Truncates the given temporal value to a `ZONED TIME` instant using the specified unit.', parameters: [ { label: 'unit', - documentation: 'unit :: STRING?', + documentation: 'unit :: STRING', }, { label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY?', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', }, { label: 'fields', - documentation: 'fields = null :: MAP?', + documentation: 'fields = null :: MAP', }, ], }, + timestamp: { + label: 'timestamp', + documentation: + 'Returns the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC', + parameters: [], + }, toBoolean: { label: 'toBoolean', documentation: - 'Converts a integer value to a boolean value. 0 is defined to be FALSE and any other integer is defined to be TRUE.', + 'Converts a `BOOLEAN`, `STRING` or `INTEGER` value to a `BOOLEAN` value. For `INTEGER` values, 0 is defined to be false and any other `INTEGER` is defined to be true.', parameters: [ { label: 'input', - documentation: 'input :: INTEGER?', + documentation: 'input :: BOOLEAN | STRING | INTEGER', }, ], }, toBooleanList: { label: 'toBooleanList', documentation: - 'Converts a list of values to a list of boolean values. If any values are not convertible to boolean they will be null in the list returned.', + 'Converts a `LIST` of values to a `LIST` values. If any values are not convertible to `BOOLEAN` they will be null in the `LIST` returned.', parameters: [ { label: 'input', - documentation: 'input :: LIST? OF ANY?', + documentation: 'input :: LIST', }, ], }, toBooleanOrNull: { label: 'toBooleanOrNull', documentation: - 'Converts a value to a boolean value, or null if the value cannot be converted.', + 'Converts a value to a `BOOLEAN` value, or null if the value cannot be converted.', parameters: [ { label: 'input', - documentation: 'input :: ANY?', + documentation: 'input :: ANY', }, ], }, toFloat: { label: 'toFloat', - documentation: 'Converts an integer value to a floating point value.', + documentation: + 'Converts a `STRING`, `INTEGER` or `FLOAT` value to a `FLOAT` value.', parameters: [ { label: 'input', - documentation: 'input :: NUMBER?', + documentation: 'input :: STRING | INTEGER | FLOAT', }, ], }, toFloatList: { label: 'toFloatList', documentation: - 'Converts a list of values to a list of float values. If any values are not convertible to float they will be null in the list returned.', + 'Converts a `LIST` to a `LIST` values. If any values are not convertible to `FLOAT` they will be null in the `LIST` returned.', parameters: [ { label: 'input', - documentation: 'input :: LIST? OF ANY?', + documentation: 'input :: LIST', }, ], }, toFloatOrNull: { label: 'toFloatOrNull', documentation: - 'Converts a value to a floating point value, or null if the value cannot be converted.', + 'Converts a value to a `FLOAT` value, or null if the value cannot be converted.', parameters: [ { label: 'input', - documentation: 'input :: ANY?', + documentation: 'input :: ANY', }, ], }, toInteger: { label: 'toInteger', documentation: - 'Converts a boolean to an integer value. TRUE is defined to be 1 and FALSE is defined to be 0.', + 'Converts a `BOOLEAN`, `STRING`, `INTEGER` or `FLOAT` value to an `INTEGER` value. For `BOOLEAN` values, true is defined to be 1 and false is defined to be 0.', parameters: [ { label: 'input', - documentation: 'input :: BOOLEAN?', + documentation: 'input :: BOOLEAN | STRING | INTEGER | FLOAT', }, ], }, toIntegerList: { label: 'toIntegerList', documentation: - 'Converts a list of values to a list of integer values. If any values are not convertible to integer they will be null in the list returned.', + 'Converts a `LIST` to a `LIST` values. If any values are not convertible to `INTEGER` they will be null in the `LIST` returned.', parameters: [ { label: 'input', - documentation: 'input :: LIST? OF ANY?', + documentation: 'input :: LIST', }, ], }, toIntegerOrNull: { label: 'toIntegerOrNull', documentation: - 'Converts a value to an integer value, or null if the value cannot be converted.', + 'Converts a value to an `INTEGER` value, or null if the value cannot be converted.', parameters: [ { label: 'input', - documentation: 'input :: ANY?', + documentation: 'input :: ANY', }, ], }, toLower: { label: 'toLower', - documentation: 'Returns the original string in lowercase.', + documentation: 'Returns the given `STRING` in lowercase.', parameters: [ { label: 'input', - documentation: 'input :: STRING?', + documentation: 'input :: STRING', }, ], }, toString: { label: 'toString', documentation: - 'Converts an integer, float, boolean, point or temporal type (i.e. Date, Time, LocalTime, DateTime, LocalDateTime or Duration) value to a string.', + 'Converts an `INTEGER`, `FLOAT`, `BOOLEAN`, `POINT` or temporal type (i.e. `DATE`, `ZONED TIME`, `LOCAL TIME`, `ZONED DATETIME`, `LOCAL DATETIME` or `DURATION`) value to a `STRING`.', parameters: [ { label: 'input', - documentation: 'input :: ANY?', + documentation: 'input :: ANY', }, ], }, toStringList: { label: 'toStringList', documentation: - 'Converts a list of values to a list of string values. If any values are not convertible to string they will be null in the list returned.', + 'Converts a `LIST` to a `LIST` values. If any values are not convertible to `STRING` they will be null in the `LIST` returned.', parameters: [ { label: 'input', - documentation: 'input :: LIST? OF ANY?', + documentation: 'input :: LIST', }, ], }, toStringOrNull: { label: 'toStringOrNull', documentation: - 'Converts an integer, float, boolean, point or temporal type (i.e. Date, Time, LocalTime, DateTime, LocalDateTime or Duration) value to a string, or null if the value cannot be converted.', + 'Converts an `INTEGER`, `FLOAT`, `BOOLEAN`, `POINT` or temporal type (i.e. `DATE`, `ZONED TIME`, `LOCAL TIME`, `ZONED DATETIME`, `LOCAL DATETIME` or `DURATION`) value to a `STRING`, or null if the value cannot be converted.', parameters: [ { label: 'input', - documentation: 'input :: ANY?', + documentation: 'input :: ANY', }, ], }, toUpper: { label: 'toUpper', - documentation: 'Returns the original string in uppercase.', + documentation: 'Returns the given `STRING` in uppercase.', parameters: [ { label: 'input', - documentation: 'input :: STRING?', + documentation: 'input :: STRING', }, ], }, trim: { label: 'trim', documentation: - 'Returns the original string with leading and trailing whitespace removed.', + 'Returns the given `STRING` with leading and trailing whitespace removed.', parameters: [ { label: 'input', - documentation: 'input :: STRING?', + documentation: 'input :: STRING', }, ], }, type: { label: 'type', documentation: - 'Returns the string representation of the relationship type.', + 'Returns a `STRING` representation of the `RELATIONSHIP` type.', parameters: [ { label: 'input', - documentation: 'input :: RELATIONSHIP?', + documentation: 'input :: RELATIONSHIP', + }, + ], + }, + valueType: { + label: 'valueType', + documentation: + 'Returns a `STRING` representation of the most precise value type that the given expression evaluates to.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', }, ], }, @@ -5145,237 +4890,238 @@ export const dummyDbSchema = { 'apoc.algo.aStar': { label: 'apoc.algo.aStar', documentation: - 'Runs the A* search algorithm to find the optimal path between two nodes, using the given relationship property name for the cost function.', + 'Runs the A* search algorithm to find the optimal path between two `NODE` values, using the given `RELATIONSHIP` property name for the cost function.', parameters: [ { label: 'startNode', - documentation: 'startNode :: NODE?', + documentation: 'startNode :: NODE', }, { label: 'endNode', - documentation: 'endNode :: NODE?', + documentation: 'endNode :: NODE', }, { label: 'relTypesAndDirections', - documentation: 'relTypesAndDirections :: STRING?', + documentation: 'relTypesAndDirections :: STRING', }, { label: 'weightPropertyName', - documentation: 'weightPropertyName :: STRING?', + documentation: 'weightPropertyName :: STRING', }, { label: 'latPropertyName', - documentation: 'latPropertyName :: STRING?', + documentation: 'latPropertyName :: STRING', }, { label: 'lonPropertyName', - documentation: 'lonPropertyName :: STRING?', + documentation: 'lonPropertyName :: STRING', }, ], }, 'apoc.algo.aStarConfig': { label: 'apoc.algo.aStarConfig', documentation: - 'Runs the A* search algorithm to find the optimal path between two nodes, using the given relationship property name for the cost function.\nThis procedure looks for weight, latitude and longitude properties in the config.', + 'Runs the A* search algorithm to find the optimal path between two `NODE` values, using the given `RELATIONSHIP` property name for the cost function.\nThis procedure looks for weight, latitude and longitude properties in the config.', parameters: [ { label: 'startNode', - documentation: 'startNode :: NODE?', + documentation: 'startNode :: NODE', }, { label: 'endNode', - documentation: 'endNode :: NODE?', + documentation: 'endNode :: NODE', }, { label: 'relTypesAndDirections', - documentation: 'relTypesAndDirections :: STRING?', + documentation: 'relTypesAndDirections :: STRING', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, 'apoc.algo.allSimplePaths': { label: 'apoc.algo.allSimplePaths', documentation: - 'Runs a search algorithm to find all of the simple paths between the given relationships, up to a max depth described by maxNodes.', + 'Runs a search algorithm to find all of the simple paths between the given `RELATIONSHIP` values, up to a max depth described by `maxNodes`.\nThe returned paths will not contain loops.', parameters: [ { label: 'startNode', - documentation: 'startNode :: NODE?', + documentation: 'startNode :: NODE', }, { label: 'endNode', - documentation: 'endNode :: NODE?', + documentation: 'endNode :: NODE', }, { label: 'relTypesAndDirections', - documentation: 'relTypesAndDirections :: STRING?', + documentation: 'relTypesAndDirections :: STRING', }, { label: 'maxNodes', - documentation: 'maxNodes :: INTEGER?', + documentation: 'maxNodes :: INTEGER', }, ], }, 'apoc.algo.cover': { label: 'apoc.algo.cover', - documentation: 'Returns all relationships between a given set of nodes.', + documentation: + 'Returns all `RELATIONSHIP` values connecting the given set of `NODE` values.', parameters: [ { label: 'nodes', - documentation: 'nodes :: ANY?', + documentation: 'nodes :: ANY', }, ], }, 'apoc.algo.dijkstra': { label: 'apoc.algo.dijkstra', documentation: - "Runs Dijkstra's algorithm using the given relationship property as the cost function.", + "Runs Dijkstra's algorithm using the given `RELATIONSHIP` property as the cost function.", parameters: [ { label: 'startNode', - documentation: 'startNode :: NODE?', + documentation: 'startNode :: NODE', }, { label: 'endNode', - documentation: 'endNode :: NODE?', + documentation: 'endNode :: NODE', }, { label: 'relTypesAndDirections', - documentation: 'relTypesAndDirections :: STRING?', + documentation: 'relTypesAndDirections :: STRING', }, { label: 'weightPropertyName', - documentation: 'weightPropertyName :: STRING?', + documentation: 'weightPropertyName :: STRING', }, { label: 'defaultWeight', - documentation: 'defaultWeight = NaN :: FLOAT?', + documentation: 'defaultWeight = NaN :: FLOAT', }, { label: 'numberOfWantedPaths', - documentation: 'numberOfWantedPaths = 1 :: INTEGER?', + documentation: 'numberOfWantedPaths = 1 :: INTEGER', }, ], }, 'apoc.atomic.add': { label: 'apoc.atomic.add', documentation: - 'Sets the given property to the sum of itself and the number value.\nThe procedure then sets the property to the returned sum.', + 'Sets the given property to the sum of itself and the given `INTEGER` or `FLOAT` value.\nThe procedure then sets the property to the returned sum.', parameters: [ { label: 'container', - documentation: 'container :: ANY?', + documentation: 'container :: ANY', }, { label: 'propertyName', - documentation: 'propertyName :: STRING?', + documentation: 'propertyName :: STRING', }, { label: 'number', - documentation: 'number :: NUMBER?', + documentation: 'number :: INTEGER | FLOAT', }, { label: 'retryAttempts', - documentation: 'retryAttempts = 5 :: INTEGER?', + documentation: 'retryAttempts = 5 :: INTEGER', }, ], }, 'apoc.atomic.concat': { label: 'apoc.atomic.concat', documentation: - 'Sets the given property to the concatenation of itself and the string value.\nThe procedure then sets the property to the returned string.', + 'Sets the given property to the concatenation of itself and the `STRING` value.\nThe procedure then sets the property to the returned `STRING`.', parameters: [ { label: 'container', - documentation: 'container :: ANY?', + documentation: 'container :: ANY', }, { label: 'propertyName', - documentation: 'propertyName :: STRING?', + documentation: 'propertyName :: STRING', }, { label: 'string', - documentation: 'string :: STRING?', + documentation: 'string :: STRING', }, { label: 'retryAttempts', - documentation: 'retryAttempts = 5 :: INTEGER?', + documentation: 'retryAttempts = 5 :: INTEGER', }, ], }, 'apoc.atomic.insert': { label: 'apoc.atomic.insert', documentation: - 'Inserts a value at position into the array value of a property.\nThe procedure then sets the result back on the property.', + 'Inserts a value at position into the `LIST` value of a property.\nThe procedure then sets the result back on the property.', parameters: [ { label: 'container', - documentation: 'container :: ANY?', + documentation: 'container :: ANY', }, { label: 'propertyName', - documentation: 'propertyName :: STRING?', + documentation: 'propertyName :: STRING', }, { label: 'position', - documentation: 'position :: INTEGER?', + documentation: 'position :: INTEGER', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, { label: 'retryAttempts', - documentation: 'retryAttempts = 5 :: INTEGER?', + documentation: 'retryAttempts = 5 :: INTEGER', }, ], }, 'apoc.atomic.remove': { label: 'apoc.atomic.remove', documentation: - 'Removes the element at position from the array value of a property.\nThe procedure then sets the property to the resulting array value.', + 'Removes the element at position from the `LIST` value of a property.\nThe procedure then sets the property to the resulting `LIST` value.', parameters: [ { label: 'container', - documentation: 'container :: ANY?', + documentation: 'container :: ANY', }, { label: 'propertyName', - documentation: 'propertyName :: STRING?', + documentation: 'propertyName :: STRING', }, { label: 'position', - documentation: 'position :: INTEGER?', + documentation: 'position :: INTEGER', }, { label: 'retryAttempts', - documentation: 'retryAttempts = 5 :: INTEGER?', + documentation: 'retryAttempts = 5 :: INTEGER', }, ], }, 'apoc.atomic.subtract': { label: 'apoc.atomic.subtract', documentation: - 'Sets the property of a value to itself minus the given number value.\nThe procedure then sets the property to the returned sum.', + 'Sets the property of a value to itself minus the given `INTEGER` or `FLOAT` value.\nThe procedure then sets the property to the returned sum.', parameters: [ { label: 'container', - documentation: 'container :: ANY?', + documentation: 'container :: ANY', }, { label: 'propertyName', - documentation: 'propertyName :: STRING?', + documentation: 'propertyName :: STRING', }, { label: 'number', - documentation: 'number :: NUMBER?', + documentation: 'number :: INTEGER | FLOAT', }, { label: 'retryAttempts', - documentation: 'retryAttempts = 5 :: INTEGER?', + documentation: 'retryAttempts = 5 :: INTEGER', }, ], }, @@ -5385,371 +5131,372 @@ export const dummyDbSchema = { parameters: [ { label: 'container', - documentation: 'container :: ANY?', + documentation: 'container :: ANY', }, { label: 'propertyName', - documentation: 'propertyName :: STRING?', + documentation: 'propertyName :: STRING', }, { label: 'operation', - documentation: 'operation :: STRING?', + documentation: 'operation :: STRING', }, { label: 'retryAttempts', - documentation: 'retryAttempts = 5 :: INTEGER?', + documentation: 'retryAttempts = 5 :: INTEGER', }, ], }, 'apoc.case': { label: 'apoc.case', documentation: - 'For each pair of conditional and read-only queries in the given list, this procedure will run the first query for which the conditional is evaluated to true.', + 'For each pair of conditional and read-only queries in the given `LIST`, this procedure will run the first query for which the conditional is evaluated to true. If none of the conditionals are true, the `ELSE` query will run instead.', parameters: [ { label: 'conditionals', - documentation: 'conditionals :: LIST? OF ANY?', + documentation: 'conditionals :: LIST', }, { label: 'elseQuery', - documentation: 'elseQuery = :: STRING?', + documentation: 'elseQuery = :: STRING', }, { label: 'params', - documentation: 'params = {} :: MAP?', + documentation: 'params = {} :: MAP', }, ], }, 'apoc.coll.elements': { label: 'apoc.coll.elements', documentation: - 'Deconstructs a list of mixed types into identifiers indicating their specific type.', + 'Deconstructs a `LIST` into identifiers indicating their specific type.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'limit', - documentation: 'limit = -1 :: INTEGER?', + documentation: 'limit = -1 :: INTEGER', }, { label: 'offset', - documentation: 'offset = 0 :: INTEGER?', + documentation: 'offset = 0 :: INTEGER', }, ], }, 'apoc.coll.pairWithOffset': { label: 'apoc.coll.pairWithOffset', - documentation: 'Returns a list of pairs defined by the offset.', + documentation: 'Returns a `LIST` of pairs defined by the offset.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'offset', - documentation: 'offset :: INTEGER?', + documentation: 'offset :: INTEGER', }, ], }, 'apoc.coll.partition': { label: 'apoc.coll.partition', documentation: - 'Partitions the original list into sub-lists of the given batch size.\nThe final list may be smaller than the given batch size.', + 'Partitions the original `LIST` into a new `LIST` of the given batch size.\nThe final `LIST` may be smaller than the given batch size.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'batchSize', - documentation: 'batchSize :: INTEGER?', + documentation: 'batchSize :: INTEGER', }, ], }, 'apoc.coll.split': { label: 'apoc.coll.split', documentation: - 'Splits a collection by the given value. The value itself will not be part of the resulting lists.', + 'Splits a collection by the given value.\nThe value itself will not be part of the resulting `LIST` values.', parameters: [ { label: 'coll', - documentation: 'coll :: LIST? OF ANY?', + documentation: 'coll :: LIST', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.coll.zipToRows': { label: 'apoc.coll.zipToRows', documentation: - 'Returns the two lists zipped together, with one row per zipped pair.', + 'Returns the two `LIST` values zipped together, with one row per zipped pair.', parameters: [ { label: 'list1', - documentation: 'list1 :: LIST? OF ANY?', + documentation: 'list1 :: LIST', }, { label: 'list2', - documentation: 'list2 :: LIST? OF ANY?', + documentation: 'list2 :: LIST', }, ], }, 'apoc.convert.setJsonProperty': { label: 'apoc.convert.setJsonProperty', documentation: - 'Serializes the given JSON object and sets it as a property on the given node.', + 'Serializes the given JSON object and sets it as a property on the given `NODE`.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.convert.toTree': { label: 'apoc.convert.toTree', documentation: - 'Returns a stream of maps, representing the given paths as a tree with at least one root.', + 'Returns a stream of `MAP` values, representing the given `PATH` values as a tree with at least one root.', parameters: [ { label: 'paths', - documentation: 'paths :: LIST? OF PATH?', + documentation: 'paths :: LIST', }, { label: 'lowerCaseRels', - documentation: 'lowerCaseRels = true :: BOOLEAN?', + documentation: 'lowerCaseRels = true :: BOOLEAN', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.create.addLabels': { label: 'apoc.create.addLabels', - documentation: 'Adds the given labels to the given nodes.', + documentation: 'Adds the given labels to the given `NODE` values.', parameters: [ { label: 'nodes', - documentation: 'nodes :: ANY?', + documentation: 'nodes :: ANY', }, { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, ], }, 'apoc.create.clonePathToVirtual': { label: 'apoc.create.clonePathToVirtual', documentation: - 'Takes the given path and returns a virtual representation of it.', + 'Takes the given `PATH` and returns a virtual representation of it.', parameters: [ { label: 'path', - documentation: 'path :: PATH?', + documentation: 'path :: PATH', }, ], }, 'apoc.create.clonePathsToVirtual': { label: 'apoc.create.clonePathsToVirtual', documentation: - 'Takes the given paths and returns a virtual representation of them.', + 'Takes the given `LIST` and returns a virtual representation of them.', parameters: [ { label: 'paths', - documentation: 'paths :: LIST? OF PATH?', + documentation: 'paths :: LIST', }, ], }, 'apoc.create.node': { label: 'apoc.create.node', - documentation: 'Creates a node with the given dynamic labels.', + documentation: 'Creates a `NODE` with the given dynamic labels.', parameters: [ { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, { label: 'props', - documentation: 'props :: MAP?', + documentation: 'props :: MAP', }, ], }, 'apoc.create.nodes': { label: 'apoc.create.nodes', - documentation: 'Creates nodes with the given dynamic labels.', + documentation: 'Creates `NODE` values with the given dynamic labels.', parameters: [ { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, { label: 'props', - documentation: 'props :: LIST? OF MAP?', + documentation: 'props :: LIST', }, ], }, 'apoc.create.relationship': { label: 'apoc.create.relationship', documentation: - 'Creates a relationship with the given dynamic relationship type.', + 'Creates a `RELATIONSHIP` with the given dynamic relationship type.', parameters: [ { label: 'from', - documentation: 'from :: NODE?', + documentation: 'from :: NODE', }, { label: 'relType', - documentation: 'relType :: STRING?', + documentation: 'relType :: STRING', }, { label: 'props', - documentation: 'props :: MAP?', + documentation: 'props :: MAP', }, { label: 'to', - documentation: 'to :: NODE?', + documentation: 'to :: NODE', }, ], }, 'apoc.create.removeLabels': { label: 'apoc.create.removeLabels', - documentation: 'Removes the given labels from the given node(s).', + documentation: 'Removes the given labels from the given `NODE` values.', parameters: [ { label: 'nodes', - documentation: 'nodes :: ANY?', + documentation: 'nodes :: ANY', }, { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, ], }, 'apoc.create.removeProperties': { label: 'apoc.create.removeProperties', - documentation: 'Removes the given properties from the given node(s).', + documentation: + 'Removes the given properties from the given `NODE` values.', parameters: [ { label: 'nodes', - documentation: 'nodes :: ANY?', + documentation: 'nodes :: ANY', }, { label: 'keys', - documentation: 'keys :: LIST? OF STRING?', + documentation: 'keys :: LIST', }, ], }, 'apoc.create.removeRelProperties': { label: 'apoc.create.removeRelProperties', documentation: - 'Removes the given properties from the given relationship(s).', + 'Removes the given properties from the given `RELATIONSHIP` values.', parameters: [ { label: 'rels', - documentation: 'rels :: ANY?', + documentation: 'rels :: ANY', }, { label: 'keys', - documentation: 'keys :: LIST? OF STRING?', + documentation: 'keys :: LIST', }, ], }, 'apoc.create.setLabels': { label: 'apoc.create.setLabels', documentation: - 'Sets the given labels to the given node(s). Non-matching labels are removed from the nodes.', + 'Sets the given labels to the given `NODE` values. Non-matching labels are removed from the nodes.', parameters: [ { label: 'nodes', - documentation: 'nodes :: ANY?', + documentation: 'nodes :: ANY', }, { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, ], }, 'apoc.create.setProperties': { label: 'apoc.create.setProperties', - documentation: 'Sets the given properties to the given node(s).', + documentation: 'Sets the given properties to the given `NODE` values.', parameters: [ { label: 'nodes', - documentation: 'nodes :: ANY?', + documentation: 'nodes :: ANY', }, { label: 'keys', - documentation: 'keys :: LIST? OF STRING?', + documentation: 'keys :: LIST', }, { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, 'apoc.create.setProperty': { label: 'apoc.create.setProperty', - documentation: 'Sets the given property to the given node(s).', + documentation: 'Sets the given property to the given `NODE` values.', parameters: [ { label: 'nodes', - documentation: 'nodes :: ANY?', + documentation: 'nodes :: ANY', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.create.setRelProperties': { label: 'apoc.create.setRelProperties', - documentation: 'Sets the given properties on the relationship(s).', + documentation: 'Sets the given properties on the `RELATIONSHIP` values.', parameters: [ { label: 'rels', - documentation: 'rels :: ANY?', + documentation: 'rels :: ANY', }, { label: 'keys', - documentation: 'keys :: LIST? OF STRING?', + documentation: 'keys :: LIST', }, { label: 'values', - documentation: 'values :: LIST? OF ANY?', + documentation: 'values :: LIST', }, ], }, 'apoc.create.setRelProperty': { label: 'apoc.create.setRelProperty', - documentation: 'Sets the given property on the relationship(s).', + documentation: 'Sets the given property on the `RELATIONSHIP` values.', parameters: [ { label: 'rels', - documentation: 'rels :: ANY?', + documentation: 'rels :: ANY', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, @@ -5759,117 +5506,117 @@ export const dummyDbSchema = { parameters: [ { label: 'count', - documentation: 'count :: INTEGER?', + documentation: 'count :: INTEGER', }, ], }, 'apoc.create.vNode': { label: 'apoc.create.vNode', - documentation: 'Returns a virtual node.', + documentation: 'Returns a virtual `NODE`.', parameters: [ { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, { label: 'props', - documentation: 'props :: MAP?', + documentation: 'props :: MAP', }, ], }, 'apoc.create.vNodes': { label: 'apoc.create.vNodes', - documentation: 'Returns virtual nodes.', + documentation: 'Returns virtual `NODE` values.', parameters: [ { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, { label: 'props', - documentation: 'props :: LIST? OF MAP?', + documentation: 'props :: LIST', }, ], }, 'apoc.create.vRelationship': { label: 'apoc.create.vRelationship', - documentation: 'Returns a virtual relationship.', + documentation: 'Returns a virtual `RELATIONSHIP`.', parameters: [ { label: 'from', - documentation: 'from :: NODE?', + documentation: 'from :: NODE', }, { label: 'relType', - documentation: 'relType :: STRING?', + documentation: 'relType :: STRING', }, { label: 'props', - documentation: 'props :: MAP?', + documentation: 'props :: MAP', }, { label: 'to', - documentation: 'to :: NODE?', + documentation: 'to :: NODE', }, ], }, 'apoc.create.virtualPath': { label: 'apoc.create.virtualPath', - documentation: 'Returns a virtual path.', + documentation: 'Returns a virtual `PATH`.', parameters: [ { label: 'labelsN', - documentation: 'labelsN :: LIST? OF STRING?', + documentation: 'labelsN :: LIST', }, { label: 'n', - documentation: 'n :: MAP?', + documentation: 'n :: MAP', }, { label: 'relType', - documentation: 'relType :: STRING?', + documentation: 'relType :: STRING', }, { label: 'props', - documentation: 'props :: MAP?', + documentation: 'props :: MAP', }, { label: 'labelsM', - documentation: 'labelsM :: LIST? OF STRING?', + documentation: 'labelsM :: LIST', }, { label: 'm', - documentation: 'm :: MAP?', + documentation: 'm :: MAP', }, ], }, 'apoc.cypher.doIt': { label: 'apoc.cypher.doIt', documentation: - 'Runs a dynamically constructed string with the given parameters.', + 'Runs a dynamically constructed statement with the given parameters. This procedure allows for both read and write statements.', parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'params', - documentation: 'params :: MAP?', + documentation: 'params :: MAP', }, ], }, 'apoc.cypher.run': { label: 'apoc.cypher.run', documentation: - 'Runs a dynamically constructed read-only string with the given parameters.', + 'Runs a dynamically constructed read-only statement with the given parameters.', parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'params', - documentation: 'params :: MAP?', + documentation: 'params :: MAP', }, ], }, @@ -5880,15 +5627,15 @@ export const dummyDbSchema = { parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'params', - documentation: 'params :: MAP?', + documentation: 'params :: MAP', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -5899,15 +5646,15 @@ export const dummyDbSchema = { parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'params', - documentation: 'params :: MAP?', + documentation: 'params :: MAP', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -5918,11 +5665,11 @@ export const dummyDbSchema = { parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'params', - documentation: 'params :: MAP?', + documentation: 'params :: MAP', }, ], }, @@ -5933,15 +5680,15 @@ export const dummyDbSchema = { parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'params', - documentation: 'params :: MAP?', + documentation: 'params :: MAP', }, { label: 'timeout', - documentation: 'timeout :: INTEGER?', + documentation: 'timeout :: INTEGER', }, ], }, @@ -5951,53 +5698,53 @@ export const dummyDbSchema = { parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'params', - documentation: 'params :: MAP?', + documentation: 'params :: MAP', }, ], }, 'apoc.do.case': { label: 'apoc.do.case', documentation: - 'For each pair of conditional queries in the given list, this procedure will run the first query for which the conditional is evaluated to true.', + 'For each pair of conditional queries in the given `LIST`, this procedure will run the first query for which the conditional is evaluated to true.\nIf none of the conditionals are true, the `ELSE` query will run instead.', parameters: [ { label: 'conditionals', - documentation: 'conditionals :: LIST? OF ANY?', + documentation: 'conditionals :: LIST', }, { label: 'elseQuery', - documentation: 'elseQuery = :: STRING?', + documentation: 'elseQuery = :: STRING', }, { label: 'params', - documentation: 'params = {} :: MAP?', + documentation: 'params = {} :: MAP', }, ], }, 'apoc.do.when': { label: 'apoc.do.when', documentation: - 'Runs the given read/write ifQuery if the conditional has evaluated to true, otherwise the elseQuery will run.', + 'Runs the given read/write `ifQuery` if the conditional has evaluated to true, otherwise the `elseQuery` will run.', parameters: [ { label: 'condition', - documentation: 'condition :: BOOLEAN?', + documentation: 'condition :: BOOLEAN', }, { label: 'ifQuery', - documentation: 'ifQuery :: STRING?', + documentation: 'ifQuery :: STRING', }, { label: 'elseQuery', - documentation: 'elseQuery = :: STRING?', + documentation: 'elseQuery = :: STRING', }, { label: 'params', - documentation: 'params = {} :: MAP?', + documentation: 'params = {} :: MAP', }, ], }, @@ -6012,11 +5759,11 @@ export const dummyDbSchema = { parameters: [ { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6026,15 +5773,15 @@ export const dummyDbSchema = { parameters: [ { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'graph', - documentation: 'graph :: ANY?', + documentation: 'graph :: ANY', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6045,15 +5792,15 @@ export const dummyDbSchema = { parameters: [ { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'query', - documentation: 'query :: STRING?', + documentation: 'query :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6063,7 +5810,7 @@ export const dummyDbSchema = { parameters: [ { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6073,11 +5820,11 @@ export const dummyDbSchema = { parameters: [ { label: 'graph', - documentation: 'graph :: ANY?', + documentation: 'graph :: ANY', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6087,11 +5834,11 @@ export const dummyDbSchema = { parameters: [ { label: 'query', - documentation: 'query :: STRING?', + documentation: 'query :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6101,34 +5848,34 @@ export const dummyDbSchema = { parameters: [ { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, 'apoc.export.csv.data': { label: 'apoc.export.csv.data', documentation: - 'Exports the given nodes and relationships to the provided CSV file.', + 'Exports the given `NODE` and `RELATIONSHIP` values to the provided CSV file.', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, { label: 'rels', - documentation: 'rels :: LIST? OF RELATIONSHIP?', + documentation: 'rels :: LIST', }, { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, @@ -6138,15 +5885,15 @@ export const dummyDbSchema = { parameters: [ { label: 'graph', - documentation: 'graph :: MAP?', + documentation: 'graph :: MAP', }, { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, @@ -6157,15 +5904,15 @@ export const dummyDbSchema = { parameters: [ { label: 'query', - documentation: 'query :: STRING?', + documentation: 'query :: STRING', }, { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, @@ -6176,34 +5923,34 @@ export const dummyDbSchema = { parameters: [ { label: 'file', - documentation: 'file = :: STRING?', + documentation: 'file = :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.export.cypher.data': { label: 'apoc.export.cypher.data', documentation: - 'Exports the given nodes and relationships (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', + 'Exports the given `NODE` and `RELATIONSHIP` values (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, { label: 'rels', - documentation: 'rels :: LIST? OF RELATIONSHIP?', + documentation: 'rels :: LIST', }, { label: 'file', - documentation: 'file = :: STRING?', + documentation: 'file = :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6214,34 +5961,34 @@ export const dummyDbSchema = { parameters: [ { label: 'graph', - documentation: 'graph :: MAP?', + documentation: 'graph :: MAP', }, { label: 'file', - documentation: 'file = :: STRING?', + documentation: 'file = :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.export.cypher.query': { label: 'apoc.export.cypher.query', documentation: - 'Exports the nodes and relationships from the given Cypher query (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', + 'Exports the `NODE` and `RELATIONSHIP` values from the given Cypher query (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'file', - documentation: 'file = :: STRING?', + documentation: 'file = :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6252,11 +5999,11 @@ export const dummyDbSchema = { parameters: [ { label: 'file', - documentation: 'file = :: STRING?', + documentation: 'file = :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6266,34 +6013,34 @@ export const dummyDbSchema = { parameters: [ { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, 'apoc.export.graphml.data': { label: 'apoc.export.graphml.data', documentation: - 'Exports the given nodes and relationships to the provided GraphML file.', + 'Exports the given `NODE` and `RELATIONSHIP` values to the provided GraphML file.', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, { label: 'rels', - documentation: 'rels :: LIST? OF RELATIONSHIP?', + documentation: 'rels :: LIST', }, { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, @@ -6303,34 +6050,34 @@ export const dummyDbSchema = { parameters: [ { label: 'graph', - documentation: 'graph :: MAP?', + documentation: 'graph :: MAP', }, { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, 'apoc.export.graphml.query': { label: 'apoc.export.graphml.query', documentation: - 'Exports the given nodes and relationships from the Cypher statement to the provided GraphML file.', + 'Exports the given `NODE` and `RELATIONSHIP` values from the Cypher statement to the provided GraphML file.', parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, @@ -6340,34 +6087,34 @@ export const dummyDbSchema = { parameters: [ { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.export.json.data': { label: 'apoc.export.json.data', documentation: - 'Exports the given nodes and relationships to the provided JSON file.', + 'Exports the given `NODE` and `RELATIONSHIP` values to the provided JSON file.', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, { label: 'rels', - documentation: 'rels :: LIST? OF RELATIONSHIP?', + documentation: 'rels :: LIST', }, { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6377,15 +6124,15 @@ export const dummyDbSchema = { parameters: [ { label: 'graph', - documentation: 'graph :: MAP?', + documentation: 'graph :: MAP', }, { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6396,148 +6143,148 @@ export const dummyDbSchema = { parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.graph.from': { label: 'apoc.graph.from', documentation: - 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the given data.', + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the given data.', parameters: [ { label: 'data', - documentation: 'data :: ANY?', + documentation: 'data :: ANY', }, { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, { label: 'props', - documentation: 'props :: MAP?', + documentation: 'props :: MAP', }, ], }, 'apoc.graph.fromCypher': { label: 'apoc.graph.fromCypher', documentation: - 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the data returned by the given Cypher statement.', + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given Cypher statement.', parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'params', - documentation: 'params :: MAP?', + documentation: 'params :: MAP', }, { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, { label: 'props', - documentation: 'props :: MAP?', + documentation: 'props :: MAP', }, ], }, 'apoc.graph.fromDB': { label: 'apoc.graph.fromDB', documentation: - 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the data returned by the given database.', + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given database.', parameters: [ { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, { label: 'props', - documentation: 'props :: MAP?', + documentation: 'props :: MAP', }, ], }, 'apoc.graph.fromData': { label: 'apoc.graph.fromData', documentation: - 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the given data.', + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the given data.', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, { label: 'rels', - documentation: 'rels :: LIST? OF RELATIONSHIP?', + documentation: 'rels :: LIST', }, { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, { label: 'props', - documentation: 'props :: MAP?', + documentation: 'props :: MAP', }, ], }, 'apoc.graph.fromDocument': { label: 'apoc.graph.fromDocument', documentation: - 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the data returned by the given JSON file.', + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given JSON file.', parameters: [ { label: 'json', - documentation: 'json :: ANY?', + documentation: 'json :: ANY', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.graph.fromPath': { label: 'apoc.graph.fromPath', documentation: - 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the data returned by the given path.', + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given `PATH`.', parameters: [ { label: 'path', - documentation: 'path :: PATH?', + documentation: 'path :: PATH', }, { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, { label: 'props', - documentation: 'props :: MAP?', + documentation: 'props :: MAP', }, ], }, 'apoc.graph.fromPaths': { label: 'apoc.graph.fromPaths', documentation: - 'Generates a virtual sub-graph by extracting all of the nodes and relationships from the data returned by the given paths.', + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given `PATH` values.', parameters: [ { label: 'paths', - documentation: 'paths :: LIST? OF PATH?', + documentation: 'paths :: LIST', }, { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, { label: 'props', - documentation: 'props :: MAP?', + documentation: 'props :: MAP', }, ], }, @@ -6548,41 +6295,41 @@ export const dummyDbSchema = { parameters: [ { label: 'json', - documentation: 'json :: ANY?', + documentation: 'json :: ANY', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.help': { label: 'apoc.help', documentation: - 'Returns descriptions of the available APOC procedures and functions.', + 'Returns descriptions of the available APOC procedures and functions. If a keyword is provided, it will return only those procedures and functions that have the keyword in their name.', parameters: [ { label: 'proc', - documentation: 'proc :: STRING?', + documentation: 'proc :: STRING', }, ], }, 'apoc.import.csv': { label: 'apoc.import.csv', documentation: - 'Imports nodes and relationships with the given labels and types from the provided CSV file.', + 'Imports `NODE` and `RELATIONSHIP` values with the given labels and types from the provided CSV file.', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF MAP?', + documentation: 'nodes :: LIST', }, { label: 'rels', - documentation: 'rels :: LIST? OF MAP?', + documentation: 'rels :: LIST', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, @@ -6592,11 +6339,11 @@ export const dummyDbSchema = { parameters: [ { label: 'urlOrBinaryFile', - documentation: 'urlOrBinaryFile :: ANY?', + documentation: 'urlOrBinaryFile :: ANY', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, @@ -6606,11 +6353,11 @@ export const dummyDbSchema = { parameters: [ { label: 'urlOrBinaryFile', - documentation: 'urlOrBinaryFile :: ANY?', + documentation: 'urlOrBinaryFile :: ANY', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6620,60 +6367,60 @@ export const dummyDbSchema = { parameters: [ { label: 'urlOrBinary', - documentation: 'urlOrBinary :: ANY?', + documentation: 'urlOrBinary :: ANY', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.load.arrow': { label: 'apoc.load.arrow', documentation: - 'Imports nodes and relationships from the provided arrow file.', + 'Imports `NODE` and `RELATIONSHIP` values from the provided arrow file.', parameters: [ { label: 'file', - documentation: 'file :: STRING?', + documentation: 'file :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.load.arrow.stream': { label: 'apoc.load.arrow.stream', documentation: - 'Imports nodes and relationships from the provided arrow byte array.', + 'Imports `NODE` and `RELATIONSHIP` values from the provided arrow byte array.', parameters: [ { label: 'source', - documentation: 'source :: BYTEARRAY?', + documentation: 'source :: BYTEARRAY', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.load.json': { label: 'apoc.load.json', documentation: - 'Imports JSON file as a stream of values if the given JSON file is an array.\nIf the given JSON file is a map, this procedure imports a single value instead.', + 'Imports JSON file as a stream of values if the given JSON file is a `LIST`.\nIf the given JSON file is a `MAP`, this procedure imports a single value instead.', parameters: [ { label: 'urlOrKeyOrBinary', - documentation: 'urlOrKeyOrBinary :: ANY?', + documentation: 'urlOrKeyOrBinary :: ANY', }, { label: 'path', - documentation: 'path = :: STRING?', + documentation: 'path = :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6684,120 +6431,121 @@ export const dummyDbSchema = { parameters: [ { label: 'url', - documentation: 'url :: STRING?', + documentation: 'url :: STRING', }, { label: 'path', - documentation: 'path = :: STRING?', + documentation: 'path = :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.load.jsonParams': { label: 'apoc.load.jsonParams', documentation: - 'Loads parameters from a JSON URL (e.g. web-API) as a stream of values if the given JSON file is an array.\nIf the given JSON file is a map, this procedure imports a single value instead.', + 'Loads parameters from a JSON URL (e.g. web-API) as a stream of values if the given JSON file is a `LIST`.\nIf the given JSON file is a `MAP`, this procedure imports a single value instead.', parameters: [ { label: 'urlOrKeyOrBinary', - documentation: 'urlOrKeyOrBinary :: ANY?', + documentation: 'urlOrKeyOrBinary :: ANY', }, { label: 'headers', - documentation: 'headers :: MAP?', + documentation: 'headers :: MAP', }, { label: 'payload', - documentation: 'payload :: STRING?', + documentation: 'payload :: STRING', }, { label: 'path', - documentation: 'path = :: STRING?', + documentation: 'path = :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.load.xml': { label: 'apoc.load.xml', documentation: - 'Loads a single nested map from an XML URL (e.g. web-API).', + 'Loads a single nested `MAP` from an XML URL (e.g. web-API).', parameters: [ { label: 'urlOrBinary', - documentation: 'urlOrBinary :: ANY?', + documentation: 'urlOrBinary :: ANY', }, { label: 'path', - documentation: 'path = / :: STRING?', + documentation: 'path = / :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, { label: 'simple', - documentation: 'simple = false :: BOOLEAN?', + documentation: 'simple = false :: BOOLEAN', }, ], }, 'apoc.lock.all': { label: 'apoc.lock.all', documentation: - 'Acquires a write lock on the given nodes and relationships.', + 'Acquires a write lock on the given `NODE` and `RELATIONSHIP` values.', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, { label: 'rels', - documentation: 'rels :: LIST? OF RELATIONSHIP?', + documentation: 'rels :: LIST', }, ], }, 'apoc.lock.nodes': { label: 'apoc.lock.nodes', - documentation: 'Acquires a write lock on the given nodes.', + documentation: 'Acquires a write lock on the given `NODE` values.', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, ], }, 'apoc.lock.read.nodes': { label: 'apoc.lock.read.nodes', - documentation: 'Acquires a read lock on the given nodes.', + documentation: 'Acquires a read lock on the given `NODE` values.', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, ], }, 'apoc.lock.read.rels': { label: 'apoc.lock.read.rels', - documentation: 'Acquires a read lock on the given relationships.', + documentation: 'Acquires a read lock on the given `RELATIONSHIP` values.', parameters: [ { label: 'rels', - documentation: 'rels :: LIST? OF RELATIONSHIP?', + documentation: 'rels :: LIST', }, ], }, 'apoc.lock.rels': { label: 'apoc.lock.rels', - documentation: 'Acquires a write lock on the given relationships.', + documentation: + 'Acquires a write lock on the given `RELATIONSHIP` values.', parameters: [ { label: 'rels', - documentation: 'rels :: LIST? OF RELATIONSHIP?', + documentation: 'rels :: LIST', }, ], }, @@ -6808,11 +6556,11 @@ export const dummyDbSchema = { parameters: [ { label: 'path', - documentation: 'path :: STRING?', + documentation: 'path :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -6823,230 +6571,231 @@ export const dummyDbSchema = { parameters: [ { label: 'label', - documentation: 'label :: STRING?', + documentation: 'label :: STRING', }, { label: 'propertyY', - documentation: 'propertyY :: STRING?', + documentation: 'propertyY :: STRING', }, { label: 'propertyX', - documentation: 'propertyX :: STRING?', + documentation: 'propertyX :: STRING', }, ], }, 'apoc.merge.node': { label: 'apoc.merge.node', - documentation: 'Merges the given node(s) with the given dynamic labels.', + documentation: + 'Merges the given `NODE` values with the given dynamic labels.', parameters: [ { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, { label: 'identProps', - documentation: 'identProps :: MAP?', + documentation: 'identProps :: MAP', }, { - label: 'props', - documentation: 'props = {} :: MAP?', + label: 'onCreateProps', + documentation: 'onCreateProps = {} :: MAP', }, { label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP?', + documentation: 'onMatchProps = {} :: MAP', }, ], }, 'apoc.merge.node.eager': { label: 'apoc.merge.node.eager', documentation: - 'Merges the given node(s) with the given dynamic labels eagerly.', + 'Merges the given `NODE` values with the given dynamic labels eagerly.', parameters: [ { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, { label: 'identProps', - documentation: 'identProps :: MAP?', + documentation: 'identProps :: MAP', }, { - label: 'props', - documentation: 'props = {} :: MAP?', + label: 'onCreateProps', + documentation: 'onCreateProps = {} :: MAP', }, { label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP?', + documentation: 'onMatchProps = {} :: MAP', }, ], }, 'apoc.merge.nodeWithStats': { label: 'apoc.merge.nodeWithStats', documentation: - 'Merges the given node(s) with the given dynamic labels. Provides queryStatistics in the result.', + 'Merges the given `NODE` values with the given dynamic labels. Provides queryStatistics in the result.', parameters: [ { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, { label: 'identProps', - documentation: 'identProps :: MAP?', + documentation: 'identProps :: MAP', }, { - label: 'props', - documentation: 'props = {} :: MAP?', + label: 'onCreateProps', + documentation: 'onCreateProps = {} :: MAP', }, { label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP?', + documentation: 'onMatchProps = {} :: MAP', }, ], }, 'apoc.merge.nodeWithStats.eager': { label: 'apoc.merge.nodeWithStats.eager', documentation: - 'Merges the given node(s) with the given dynamic labels eagerly. Provides queryStatistics in the result.', + 'Merges the given `NODE` values with the given dynamic labels eagerly. Provides queryStatistics in the result.', parameters: [ { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, { label: 'identProps', - documentation: 'identProps :: MAP?', + documentation: 'identProps :: MAP', }, { - label: 'props', - documentation: 'props = {} :: MAP?', + label: 'onCreateProps', + documentation: 'onCreateProps = {} :: MAP', }, { label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP?', + documentation: 'onMatchProps = {} :: MAP', }, ], }, 'apoc.merge.relationship': { label: 'apoc.merge.relationship', documentation: - 'Merges the given relationship(s) with the given dynamic types/properties.', + 'Merges the given `RELATIONSHIP` values with the given dynamic types/properties.', parameters: [ { label: 'startNode', - documentation: 'startNode :: NODE?', + documentation: 'startNode :: NODE', }, { label: 'relType', - documentation: 'relType :: STRING?', + documentation: 'relType :: STRING', }, { label: 'identProps', - documentation: 'identProps :: MAP?', + documentation: 'identProps :: MAP', }, { - label: 'props', - documentation: 'props :: MAP?', + label: 'onCreateProps', + documentation: 'onCreateProps :: MAP', }, { label: 'endNode', - documentation: 'endNode :: NODE?', + documentation: 'endNode :: NODE', }, { label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP?', + documentation: 'onMatchProps = {} :: MAP', }, ], }, 'apoc.merge.relationship.eager': { label: 'apoc.merge.relationship.eager', documentation: - 'Merges the given relationship(s) with the given dynamic types/properties eagerly.', + 'Merges the given `RELATIONSHIP` values with the given dynamic types/properties eagerly.', parameters: [ { label: 'startNode', - documentation: 'startNode :: NODE?', + documentation: 'startNode :: NODE', }, { label: 'relType', - documentation: 'relType :: STRING?', + documentation: 'relType :: STRING', }, { label: 'identProps', - documentation: 'identProps :: MAP?', + documentation: 'identProps :: MAP', }, { - label: 'props', - documentation: 'props :: MAP?', + label: 'onCreateProps', + documentation: 'onCreateProps :: MAP', }, { label: 'endNode', - documentation: 'endNode :: NODE?', + documentation: 'endNode :: NODE', }, { label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP?', + documentation: 'onMatchProps = {} :: MAP', }, ], }, 'apoc.merge.relationshipWithStats': { label: 'apoc.merge.relationshipWithStats', documentation: - 'Merges the given relationship(s) with the given dynamic types/properties. Provides queryStatistics in the result.', + 'Merges the given `RELATIONSHIP` values with the given dynamic types/properties. Provides queryStatistics in the result.', parameters: [ { label: 'startNode', - documentation: 'startNode :: NODE?', + documentation: 'startNode :: NODE', }, { label: 'relType', - documentation: 'relType :: STRING?', + documentation: 'relType :: STRING', }, { label: 'identProps', - documentation: 'identProps :: MAP?', + documentation: 'identProps :: MAP', }, { - label: 'props', - documentation: 'props :: MAP?', + label: 'onCreateProps', + documentation: 'onCreateProps :: MAP', }, { label: 'endNode', - documentation: 'endNode :: NODE?', + documentation: 'endNode :: NODE', }, { label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP?', + documentation: 'onMatchProps = {} :: MAP', }, ], }, 'apoc.merge.relationshipWithStats.eager': { label: 'apoc.merge.relationshipWithStats.eager', documentation: - 'Merges the given relationship(s) with the given dynamic types/properties eagerly. Provides queryStatistics in the result.', + 'Merges the given `RELATIONSHIP` values with the given dynamic types/properties eagerly. Provides queryStatistics in the result.', parameters: [ { label: 'startNode', - documentation: 'startNode :: NODE?', + documentation: 'startNode :: NODE', }, { label: 'relType', - documentation: 'relType :: STRING?', + documentation: 'relType :: STRING', }, { label: 'identProps', - documentation: 'identProps :: MAP?', + documentation: 'identProps :: MAP', }, { - label: 'props', - documentation: 'props :: MAP?', + label: 'onCreateProps', + documentation: 'onCreateProps :: MAP', }, { label: 'endNode', - documentation: 'endNode :: NODE?', + documentation: 'endNode :: NODE', }, { label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP?', + documentation: 'onMatchProps = {} :: MAP', }, ], }, @@ -7056,7 +6805,7 @@ export const dummyDbSchema = { parameters: [ { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -7067,11 +6816,11 @@ export const dummyDbSchema = { parameters: [ { label: 'graph', - documentation: 'graph :: ANY?', + documentation: 'graph :: ANY', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -7081,7 +6830,7 @@ export const dummyDbSchema = { parameters: [ { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -7091,11 +6840,11 @@ export const dummyDbSchema = { parameters: [ { label: 'graph', - documentation: 'graph = {} :: ANY?', + documentation: 'graph = {} :: ANY', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -7106,40 +6855,40 @@ export const dummyDbSchema = { parameters: [ { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.meta.nodeTypeProperties': { label: 'apoc.meta.nodeTypeProperties', documentation: - 'Examines the full graph and returns a table of metadata with information about the nodes therein.', + 'Examines the full graph and returns a table of metadata with information about the `NODE` values therein.', parameters: [ { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.meta.relTypeProperties': { label: 'apoc.meta.relTypeProperties', documentation: - 'Examines the full graph and returns a table of metadata with information about the relationships therein.', + 'Examines the full graph and returns a table of metadata with information about the `RELATIONSHIP` values therein.', parameters: [ { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.meta.schema': { label: 'apoc.meta.schema', documentation: - 'Examines the given sub-graph and returns metadata as a map.', + 'Examines the given sub-graph and returns metadata as a `MAP`.', parameters: [ { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -7155,315 +6904,314 @@ export const dummyDbSchema = { parameters: [ { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, 'apoc.neighbors.athop': { label: 'apoc.neighbors.athop', documentation: - 'Returns all nodes connected by the given relationship types at the specified distance.', + 'Returns all `NODE` values connected by the given `RELATIONSHIP` types at the specified distance.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'relTypes', - documentation: 'relTypes = :: STRING?', + documentation: 'relTypes = :: STRING', }, { label: 'distance', - documentation: 'distance = 1 :: INTEGER?', + documentation: 'distance = 1 :: INTEGER', }, ], }, 'apoc.neighbors.athop.count': { label: 'apoc.neighbors.athop.count', documentation: - 'Returns the count of all nodes connected by the given relationship types at the specified distance.', + 'Returns the count of all `NODE` values connected by the given `RELATIONSHIP` types at the specified distance.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'relTypes', - documentation: 'relTypes = :: STRING?', + documentation: 'relTypes = :: STRING', }, { label: 'distance', - documentation: 'distance = 1 :: INTEGER?', + documentation: 'distance = 1 :: INTEGER', }, ], }, 'apoc.neighbors.byhop': { label: 'apoc.neighbors.byhop', documentation: - 'Returns all nodes connected by the given relationship types within the specified distance.', + 'Returns all `NODE` values connected by the given `RELATIONSHIP` types within the specified distance. Returns `LIST` values, where each `PATH` of `NODE` values represents one row of the `LIST` values.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'relTypes', - documentation: 'relTypes = :: STRING?', + documentation: 'relTypes = :: STRING', }, { label: 'distance', - documentation: 'distance = 1 :: INTEGER?', + documentation: 'distance = 1 :: INTEGER', }, ], }, 'apoc.neighbors.byhop.count': { label: 'apoc.neighbors.byhop.count', documentation: - 'Returns the count of all nodes connected by the given relationship types within the specified distance.', + 'Returns the count of all `NODE` values connected by the given `RELATIONSHIP` types within the specified distance.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'relTypes', - documentation: 'relTypes = :: STRING?', + documentation: 'relTypes = :: STRING', }, { label: 'distance', - documentation: 'distance = 1 :: INTEGER?', + documentation: 'distance = 1 :: INTEGER', }, ], }, 'apoc.neighbors.tohop': { label: 'apoc.neighbors.tohop', documentation: - 'Returns all nodes connected by the given relationship types within the specified distance.\nNodes are returned individually for each row.', + 'Returns all `NODE` values connected by the given `RELATIONSHIP` types within the specified distance.\n`NODE` values are returned individually for each row.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'relTypes', - documentation: 'relTypes = :: STRING?', + documentation: 'relTypes = :: STRING', }, { label: 'distance', - documentation: 'distance = 1 :: INTEGER?', + documentation: 'distance = 1 :: INTEGER', }, ], }, 'apoc.neighbors.tohop.count': { label: 'apoc.neighbors.tohop.count', documentation: - 'Returns the count of all nodes connected by the given relationships in the pattern within the specified distance.', + 'Returns the count of all `NODE` values connected by the given `RELATIONSHIP` values in the pattern within the specified distance.', parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'relTypes', - documentation: 'relTypes = :: STRING?', + documentation: 'relTypes = :: STRING', }, { label: 'distance', - documentation: 'distance = 1 :: INTEGER?', + documentation: 'distance = 1 :: INTEGER', }, ], }, 'apoc.nodes.collapse': { label: 'apoc.nodes.collapse', documentation: - 'Merges nodes together in the given list.\nThe nodes are then combined to become one node, with all labels of the previous nodes attached to it, and all relationships pointing to it.', + 'Merges `NODE` values together in the given `LIST`.\nThe `NODE` values are then combined to become one `NODE`, with all labels of the previous `NODE` values attached to it, and all `RELATIONSHIP` values pointing to it.', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.nodes.cycles': { label: 'apoc.nodes.cycles', documentation: - 'Detects all path cycles in the given node list.\nThis procedure can be limited on relationships as well.', + 'Detects all `PATH` cycles in the given `LIST`.\nThis procedure can be limited on `RELATIONSHIP` values as well.', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.nodes.delete': { label: 'apoc.nodes.delete', - documentation: 'Deletes all nodes with the given ids.', + documentation: 'Deletes all `NODE` values with the given ids.', parameters: [ { label: 'nodes', - documentation: 'nodes :: ANY?', + documentation: 'nodes :: ANY', }, { label: 'batchSize', - documentation: 'batchSize :: INTEGER?', + documentation: 'batchSize :: INTEGER', }, ], }, 'apoc.nodes.get': { label: 'apoc.nodes.get', - documentation: 'Returns all nodes with the given ids.', + documentation: 'Returns all `NODE` values with the given ids.', parameters: [ { label: 'nodes', - documentation: 'nodes :: ANY?', + documentation: 'nodes :: ANY', }, ], }, 'apoc.nodes.group': { label: 'apoc.nodes.group', documentation: - 'Allows for the aggregation of nodes based on the given properties.\nThis procedure returns virtual nodes.', + 'Allows for the aggregation of `NODE` values based on the given properties.\nThis procedure returns virtual `NODE` values.', parameters: [ { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, { label: 'groupByProperties', - documentation: 'groupByProperties :: LIST? OF STRING?', + documentation: 'groupByProperties :: LIST', }, { label: 'aggregations', - documentation: - 'aggregations = [{*=count}, {*=count}] :: LIST? OF MAP?', + documentation: 'aggregations = [{*=count}, {*=count}] :: LIST', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.nodes.link': { label: 'apoc.nodes.link', documentation: - 'Creates a linked list of the given nodes connected by the given relationship type.', + 'Creates a linked list of the given `NODE` values connected by the given `RELATIONSHIP` type.', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, { label: 'type', - documentation: 'type :: STRING?', + documentation: 'type :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.nodes.rels': { label: 'apoc.nodes.rels', - documentation: 'Returns all relationships with the given ids.', + documentation: 'Returns all `RELATIONSHIP` values with the given ids.', parameters: [ { label: 'rels', - documentation: 'rels :: ANY?', + documentation: 'rels :: ANY', }, ], }, 'apoc.path.expand': { label: 'apoc.path.expand', documentation: - 'Returns paths expanded from the start node following the given relationship types from min-depth to max-depth.', + 'Returns `PATH` values expanded from the start `NODE` following the given `RELATIONSHIP` types from min-depth to max-depth.', parameters: [ { label: 'startNode', - documentation: 'startNode :: ANY?', + documentation: 'startNode :: ANY', }, { label: 'relFilter', - documentation: 'relFilter :: STRING?', + documentation: 'relFilter :: STRING', }, { label: 'labelFilter', - documentation: 'labelFilter :: STRING?', + documentation: 'labelFilter :: STRING', }, { label: 'minDepth', - documentation: 'minDepth :: INTEGER?', + documentation: 'minDepth :: INTEGER', }, { label: 'maxDepth', - documentation: 'maxDepth :: INTEGER?', + documentation: 'maxDepth :: INTEGER', }, ], }, 'apoc.path.expandConfig': { label: 'apoc.path.expandConfig', documentation: - 'Returns paths expanded from the start node the given relationship types from min-depth to max-depth.', + 'Returns `PATH` values expanded from the start `NODE` with the given `RELATIONSHIP` types from min-depth to max-depth.', parameters: [ { label: 'startNode', - documentation: 'startNode :: ANY?', + documentation: 'startNode :: ANY', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, 'apoc.path.spanningTree': { label: 'apoc.path.spanningTree', documentation: - 'Returns spanning tree paths expanded from the start node following the given relationship types to max-depth.', + 'Returns spanning tree `PATH` values expanded from the start `NODE` following the given `RELATIONSHIP` types to max-depth.', parameters: [ { label: 'startNode', - documentation: 'startNode :: ANY?', + documentation: 'startNode :: ANY', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, 'apoc.path.subgraphAll': { label: 'apoc.path.subgraphAll', documentation: - 'Returns the sub-graph reachable from the start node following the given relationship types to max-depth.', + 'Returns the sub-graph reachable from the start `NODE` following the given `RELATIONSHIP` types to max-depth.', parameters: [ { label: 'startNode', - documentation: 'startNode :: ANY?', + documentation: 'startNode :: ANY', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, 'apoc.path.subgraphNodes': { label: 'apoc.path.subgraphNodes', documentation: - 'Returns the nodes in the sub-graph reachable from the start node following the given relationship types to max-depth.', + 'Returns the `NODE` values in the sub-graph reachable from the start `NODE` following the given `RELATIONSHIP` types to max-depth.', parameters: [ { label: 'startNode', - documentation: 'startNode :: ANY?', + documentation: 'startNode :: ANY', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, @@ -7473,7 +7221,7 @@ export const dummyDbSchema = { parameters: [ { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, ], }, @@ -7484,11 +7232,11 @@ export const dummyDbSchema = { parameters: [ { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'params', - documentation: 'params = {} :: MAP?', + documentation: 'params = {} :: MAP', }, ], }, @@ -7499,15 +7247,15 @@ export const dummyDbSchema = { parameters: [ { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { - label: 'rate', - documentation: 'rate :: INTEGER?', + label: 'delay', + documentation: 'delay :: INTEGER', }, ], }, @@ -7518,21 +7266,21 @@ export const dummyDbSchema = { parameters: [ { label: 'cypherIterate', - documentation: 'cypherIterate :: STRING?', + documentation: 'cypherIterate :: STRING', }, { label: 'cypherAction', - documentation: 'cypherAction :: STRING?', + documentation: 'cypherAction :: STRING', }, { label: 'config', - documentation: 'config :: MAP?', + documentation: 'config :: MAP', }, ], }, 'apoc.periodic.list': { label: 'apoc.periodic.list', - documentation: 'Returns a list of all background jobs.', + documentation: 'Returns a `LIST` of all background jobs.', parameters: [], }, 'apoc.periodic.repeat': { @@ -7542,19 +7290,19 @@ export const dummyDbSchema = { parameters: [ { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'rate', - documentation: 'rate :: INTEGER?', + documentation: 'rate :: INTEGER', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -7565,15 +7313,15 @@ export const dummyDbSchema = { parameters: [ { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'params', - documentation: 'params = {} :: MAP?', + documentation: 'params = {} :: MAP', }, ], }, @@ -7584,345 +7332,346 @@ export const dummyDbSchema = { parameters: [ { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.refactor.categorize': { label: 'apoc.refactor.categorize', documentation: - 'Creates new category nodes from nodes in the graph with the specified sourceKey as one of its property keys.\nThe new category nodes are then connected to the original nodes with a relationship of the given type.', + 'Creates new category `NODE` values from `NODE` values in the graph with the specified `sourceKey` as one of its property keys.\nThe new category `NODE` values are then connected to the original `NODE` values with a `RELATIONSHIP` of the given type.', parameters: [ { label: 'sourceKey', - documentation: 'sourceKey :: STRING?', + documentation: 'sourceKey :: STRING', }, { label: 'type', - documentation: 'type :: STRING?', + documentation: 'type :: STRING', }, { label: 'outgoing', - documentation: 'outgoing :: BOOLEAN?', + documentation: 'outgoing :: BOOLEAN', }, { label: 'label', - documentation: 'label :: STRING?', + documentation: 'label :: STRING', }, { label: 'targetKey', - documentation: 'targetKey :: STRING?', + documentation: 'targetKey :: STRING', }, { label: 'copiedKeys', - documentation: 'copiedKeys :: LIST? OF STRING?', + documentation: 'copiedKeys :: LIST', }, { label: 'batchSize', - documentation: 'batchSize :: INTEGER?', + documentation: 'batchSize :: INTEGER', }, ], }, 'apoc.refactor.cloneNodes': { label: 'apoc.refactor.cloneNodes', documentation: - 'Clones the given nodes with their labels and properties.\nIt is possible to skip any node properties using skipProperties (note: this only skips properties on nodes and not their relationships).', + 'Clones the given `NODE` values with their labels and properties.\nIt is possible to skip any `NODE` properties using skipProperties (note: this only skips properties on `NODE` values and not their `RELATIONSHIP` values).', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, { label: 'withRelationships', - documentation: 'withRelationships = false :: BOOLEAN?', + documentation: 'withRelationships = false :: BOOLEAN', }, { label: 'skipProperties', - documentation: 'skipProperties = [] :: LIST? OF STRING?', + documentation: 'skipProperties = [] :: LIST', }, ], }, 'apoc.refactor.cloneSubgraph': { label: 'apoc.refactor.cloneSubgraph', documentation: - 'Clones the given nodes with their labels and properties (optionally skipping any properties in the skipProperties list via the config map), and clones the given relationships.\nIf no relationships are provided, all existing relationships between the given nodes will be cloned.', + 'Clones the given `NODE` values with their labels and properties (optionally skipping any properties in the `skipProperties` `LIST` via the config `MAP`), and clones the given `RELATIONSHIP` values.\nIf no `RELATIONSHIP` values are provided, all existing `RELATIONSHIP` values between the given `NODE` values will be cloned.', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, { label: 'rels', - documentation: 'rels = [] :: LIST? OF RELATIONSHIP?', + documentation: 'rels = [] :: LIST', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.refactor.cloneSubgraphFromPaths': { label: 'apoc.refactor.cloneSubgraphFromPaths', documentation: - 'Clones a sub-graph defined by the given list of paths.\nIt is possible to skip any node properties using the skipProperties list via the config map.', + 'Clones a sub-graph defined by the given `LIST` values.\nIt is possible to skip any `NODE` properties using the `skipProperties` `LIST` via the config `MAP`.', parameters: [ { label: 'paths', - documentation: 'paths :: LIST? OF PATH?', + documentation: 'paths :: LIST', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.refactor.collapseNode': { label: 'apoc.refactor.collapseNode', documentation: - 'Collapses the given node and replaces it with a relationship of the given type.', + 'Collapses the given `NODE` and replaces it with a `RELATIONSHIP` of the given type.', parameters: [ { label: 'nodes', - documentation: 'nodes :: ANY?', + documentation: 'nodes :: ANY', }, { label: 'relType', - documentation: 'relType :: STRING?', + documentation: 'relType :: STRING', }, ], }, 'apoc.refactor.deleteAndReconnect': { label: 'apoc.refactor.deleteAndReconnect', documentation: - 'Removes the given nodes from the path and reconnects the remaining nodes.', + 'Removes the given `NODE` values from the `PATH` and reconnects the remaining `NODE` values.', parameters: [ { label: 'path', - documentation: 'path :: PATH?', + documentation: 'path :: PATH', }, { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.refactor.extractNode': { label: 'apoc.refactor.extractNode', documentation: - "Expands the given relationships into intermediate nodes.\nThe intermediate nodes are connected by the given 'OUT' and 'IN' types.", + 'Expands the given `RELATIONSHIP` VALUES into intermediate `NODE` VALUES.\nThe intermediate `NODE` values are connected by the given `outType` and `inType`.', parameters: [ { label: 'rels', - documentation: 'rels :: ANY?', + documentation: 'rels :: ANY', }, { label: 'labels', - documentation: 'labels :: LIST? OF STRING?', + documentation: 'labels :: LIST', }, { label: 'outType', - documentation: 'outType :: STRING?', + documentation: 'outType :: STRING', }, { label: 'inType', - documentation: 'inType :: STRING?', + documentation: 'inType :: STRING', }, ], }, 'apoc.refactor.from': { label: 'apoc.refactor.from', documentation: - 'Redirects the given relationship to the given start node.', + 'Redirects the given `RELATIONSHIP` to the given start `NODE`.', parameters: [ { label: 'rel', - documentation: 'rel :: RELATIONSHIP?', + documentation: 'rel :: RELATIONSHIP', }, { label: 'newNode', - documentation: 'newNode :: NODE?', + documentation: 'newNode :: NODE', }, ], }, 'apoc.refactor.invert': { label: 'apoc.refactor.invert', - documentation: 'Inverts the direction of the given relationship.', + documentation: 'Inverts the direction of the given `RELATIONSHIP`.', parameters: [ { label: 'rel', - documentation: 'rel :: RELATIONSHIP?', + documentation: 'rel :: RELATIONSHIP', }, ], }, 'apoc.refactor.mergeNodes': { label: 'apoc.refactor.mergeNodes', documentation: - 'Merges the given list of nodes onto the first node in the list.\nAll relationships are merged onto that node as well.', + 'Merges the given `LIST` onto the first `NODE` in the `LIST`.\nAll `RELATIONSHIP` values are merged onto that `NODE` as well.', parameters: [ { label: 'nodes', - documentation: 'nodes :: LIST? OF NODE?', + documentation: 'nodes :: LIST', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.refactor.mergeRelationships': { label: 'apoc.refactor.mergeRelationships', documentation: - 'Merges the given list of relationships onto the first relationship in the list.', + 'Merges the given `LIST` onto the first `RELATIONSHIP` in the `LIST`.', parameters: [ { label: 'rels', - documentation: 'rels :: LIST? OF RELATIONSHIP?', + documentation: 'rels :: LIST', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.refactor.normalizeAsBoolean': { label: 'apoc.refactor.normalizeAsBoolean', - documentation: 'Refactors the given property to a boolean.', + documentation: 'Refactors the given property to a `BOOLEAN`.', parameters: [ { label: 'entity', - documentation: 'entity :: ANY?', + documentation: 'entity :: ANY', }, { label: 'propertyKey', - documentation: 'propertyKey :: STRING?', + documentation: 'propertyKey :: STRING', }, { label: 'trueValues', - documentation: 'trueValues :: LIST? OF ANY?', + documentation: 'trueValues :: LIST', }, { label: 'falseValues', - documentation: 'falseValues :: LIST? OF ANY?', + documentation: 'falseValues :: LIST', }, ], }, 'apoc.refactor.rename.label': { label: 'apoc.refactor.rename.label', documentation: - "Renames the given label from 'oldLabel' to 'newLabel' for all nodes.\nIf a list of nodes is provided, the renaming is applied to the nodes within this list only.", + 'Renames the given label from `oldLabel` to `newLabel` for all `NODE` values.\nIf a `LIST` is provided, the renaming is applied to the `NODE` values within this `LIST` only.', parameters: [ { label: 'oldLabel', - documentation: 'oldLabel :: STRING?', + documentation: 'oldLabel :: STRING', }, { label: 'newLabel', - documentation: 'newLabel :: STRING?', + documentation: 'newLabel :: STRING', }, { label: 'nodes', - documentation: 'nodes = [] :: LIST? OF NODE?', + documentation: 'nodes = [] :: LIST', }, ], }, 'apoc.refactor.rename.nodeProperty': { label: 'apoc.refactor.rename.nodeProperty', documentation: - "Renames the given property from 'oldName' to 'newName' for all nodes.\nIf a list of nodes is provided, the renaming is applied to the nodes within this list only.", + 'Renames the given property from `oldName` to `newName` for all `NODE` values.\nIf a `LIST` is provided, the renaming is applied to the `NODE` values within this `LIST` only.', parameters: [ { label: 'oldName', - documentation: 'oldName :: STRING?', + documentation: 'oldName :: STRING', }, { label: 'newName', - documentation: 'newName :: STRING?', + documentation: 'newName :: STRING', }, { label: 'nodes', - documentation: 'nodes = [] :: LIST? OF NODE?', + documentation: 'nodes = [] :: LIST', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.refactor.rename.type': { label: 'apoc.refactor.rename.type', documentation: - "Renames all relationships with type 'oldType' to 'newType'.\nIf a list of relationships is provided, the renaming is applied to the relationships within this list only.", + 'Renames all `RELATIONSHIP` values with type `oldType` to `newType`.\nIf a `LIST` is provided, the renaming is applied to the `RELATIONSHIP` values within this `LIST` only.', parameters: [ { label: 'oldType', - documentation: 'oldType :: STRING?', + documentation: 'oldType :: STRING', }, { label: 'newType', - documentation: 'newType :: STRING?', + documentation: 'newType :: STRING', }, { label: 'rels', - documentation: 'rels = [] :: LIST? OF RELATIONSHIP?', + documentation: 'rels = [] :: LIST', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.refactor.rename.typeProperty': { label: 'apoc.refactor.rename.typeProperty', documentation: - "Renames the given property from 'oldName' to 'newName' for all relationships.\nIf a list of relationships is provided, the renaming is applied to the relationships within this list only.", + 'Renames the given property from `oldName` to `newName` for all `RELATIONSHIP` values.\nIf a `LIST` is provided, the renaming is applied to the `RELATIONSHIP` values within this `LIST` only.', parameters: [ { label: 'oldName', - documentation: 'oldName :: STRING?', + documentation: 'oldName :: STRING', }, { label: 'newName', - documentation: 'newName :: STRING?', + documentation: 'newName :: STRING', }, { label: 'rels', - documentation: 'rels = [] :: LIST? OF RELATIONSHIP?', + documentation: 'rels = [] :: LIST', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.refactor.setType': { label: 'apoc.refactor.setType', - documentation: 'Changes the type of the given relationship.', + documentation: 'Changes the type of the given `RELATIONSHIP`.', parameters: [ { label: 'rel', - documentation: 'rel :: RELATIONSHIP?', + documentation: 'rel :: RELATIONSHIP', }, { label: 'newType', - documentation: 'newType :: STRING?', + documentation: 'newType :: STRING', }, ], }, 'apoc.refactor.to': { label: 'apoc.refactor.to', - documentation: 'Redirects the given relationship to the given end node.', + documentation: + 'Redirects the given `RELATIONSHIP` to the given end `NODE`.', parameters: [ { label: 'rel', - documentation: 'rel :: RELATIONSHIP?', + documentation: 'rel :: RELATIONSHIP', }, { label: 'endNode', - documentation: 'endNode :: NODE?', + documentation: 'endNode :: NODE', }, ], }, @@ -7933,41 +7682,41 @@ export const dummyDbSchema = { parameters: [ { label: 'indexes', - documentation: 'indexes :: MAP?', + documentation: 'indexes :: MAP', }, { label: 'constraints', - documentation: 'constraints :: MAP?', + documentation: 'constraints :: MAP', }, { label: 'dropExisting', - documentation: 'dropExisting = true :: BOOLEAN?', + documentation: 'dropExisting = true :: BOOLEAN', }, ], }, 'apoc.schema.nodes': { label: 'apoc.schema.nodes', documentation: - 'Returns all indexes and constraints information for all node labels in the database.\nIt is possible to define a set of labels to include or exclude in the config parameters.', + 'Returns all indexes and constraints information for all `NODE` labels in the database.\nIt is possible to define a set of labels to include or exclude in the config parameters.', parameters: [ { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.schema.properties.distinct': { label: 'apoc.schema.properties.distinct', documentation: - 'Returns all distinct node property values for the given key.', + 'Returns all distinct `NODE` property values for the given key.', parameters: [ { label: 'label', - documentation: 'label :: STRING?', + documentation: 'label :: STRING', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, ], }, @@ -7978,11 +7727,11 @@ export const dummyDbSchema = { parameters: [ { label: 'label', - documentation: 'label = :: STRING?', + documentation: 'label = :: STRING', }, { label: 'key', - documentation: 'key = :: STRING?', + documentation: 'key = :: STRING', }, ], }, @@ -7993,102 +7742,102 @@ export const dummyDbSchema = { parameters: [ { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.search.multiSearchReduced': { label: 'apoc.search.multiSearchReduced', documentation: - 'Returns a reduced representation of the nodes found after a parallel search over multiple indexes.\nThe reduced node representation includes: node id, node labels and the searched properties.', + 'Returns a reduced representation of the `NODE` values found after a parallel search over multiple indexes.\nThe reduced `NODE` values representation includes: node id, node labels, and the searched properties.', parameters: [ { label: 'labelPropertyMap', - documentation: 'labelPropertyMap :: ANY?', + documentation: 'labelPropertyMap :: ANY', }, { label: 'operator', - documentation: 'operator :: STRING?', + documentation: 'operator :: STRING', }, { label: 'value', - documentation: 'value :: STRING?', + documentation: 'value :: STRING', }, ], }, 'apoc.search.node': { label: 'apoc.search.node', documentation: - 'Returns all the distinct nodes found after a parallel search over multiple indexes.', + 'Returns all the distinct `NODE` values found after a parallel search over multiple indexes.', parameters: [ { label: 'labelPropertyMap', - documentation: 'labelPropertyMap :: ANY?', + documentation: 'labelPropertyMap :: ANY', }, { label: 'operator', - documentation: 'operator :: STRING?', + documentation: 'operator :: STRING', }, { label: 'value', - documentation: 'value :: STRING?', + documentation: 'value :: STRING', }, ], }, 'apoc.search.nodeAll': { label: 'apoc.search.nodeAll', documentation: - 'Returns all the nodes found after a parallel search over multiple indexes.', + 'Returns all the `NODE` values found after a parallel search over multiple indexes.', parameters: [ { label: 'labelPropertyMap', - documentation: 'labelPropertyMap :: ANY?', + documentation: 'labelPropertyMap :: ANY', }, { label: 'operator', - documentation: 'operator :: STRING?', + documentation: 'operator :: STRING', }, { label: 'value', - documentation: 'value :: STRING?', + documentation: 'value :: STRING', }, ], }, 'apoc.search.nodeAllReduced': { label: 'apoc.search.nodeAllReduced', documentation: - 'Returns a reduced representation of the nodes found after a parallel search over multiple indexes.\nThe reduced node representation includes: node id, node labels and the searched properties.', + 'Returns a reduced representation of the `NODE` values found after a parallel search over multiple indexes.\nThe reduced `NODE` values representation includes: node id, node labels, and the searched properties.', parameters: [ { label: 'labelPropertyMap', - documentation: 'labelPropertyMap :: ANY?', + documentation: 'labelPropertyMap :: ANY', }, { label: 'operator', - documentation: 'operator :: STRING?', + documentation: 'operator :: STRING', }, { label: 'value', - documentation: 'value :: ANY?', + documentation: 'value :: ANY', }, ], }, 'apoc.search.nodeReduced': { label: 'apoc.search.nodeReduced', documentation: - 'Returns a reduced representation of the distinct nodes found after a parallel search over multiple indexes.\nThe reduced node representation includes: node id, node labels and the searched properties.', + 'Returns a reduced representation of the distinct `NODE` values found after a parallel search over multiple indexes.\nThe reduced `NODE` values representation includes: node id, node labels, and the searched properties.', parameters: [ { label: 'labelPropertyMap', - documentation: 'labelPropertyMap :: ANY?', + documentation: 'labelPropertyMap :: ANY', }, { label: 'operator', - documentation: 'operator :: STRING?', + documentation: 'operator :: STRING', }, { label: 'value', - documentation: 'value :: STRING?', + documentation: 'value :: STRING', }, ], }, @@ -8099,19 +7848,19 @@ export const dummyDbSchema = { parameters: [ { label: 'location', - documentation: 'location :: STRING?', + documentation: 'location :: STRING', }, { label: 'maxResults', - documentation: 'maxResults = 100 :: INTEGER?', + documentation: 'maxResults = 100 :: INTEGER', }, { label: 'quotaException', - documentation: 'quotaException = false :: BOOLEAN?', + documentation: 'quotaException = false :: BOOLEAN', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -8122,11 +7871,11 @@ export const dummyDbSchema = { parameters: [ { label: 'location', - documentation: 'location :: STRING?', + documentation: 'location :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -8137,56 +7886,56 @@ export const dummyDbSchema = { parameters: [ { label: 'latitude', - documentation: 'latitude :: FLOAT?', + documentation: 'latitude :: FLOAT', }, { label: 'longitude', - documentation: 'longitude :: FLOAT?', + documentation: 'longitude :: FLOAT', }, { label: 'quotaException', - documentation: 'quotaException = false :: BOOLEAN?', + documentation: 'quotaException = false :: BOOLEAN', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, 'apoc.spatial.sortByDistance': { label: 'apoc.spatial.sortByDistance', documentation: - 'Sorts the given collection of paths by the sum of their distance based on the latitude/longitude values on the nodes.', + 'Sorts the given collection of `PATH` values by the sum of their distance based on the latitude/longitude values in the `NODE` values.', parameters: [ { label: 'paths', - documentation: 'paths :: LIST? OF PATH?', + documentation: 'paths :: LIST', }, ], }, 'apoc.stats.degrees': { label: 'apoc.stats.degrees', documentation: - 'Returns the percentile groupings of the degrees on the nodes connected by the given relationship types.', + 'Returns the percentile groupings of the degrees on the `NODE` values connected by the given `RELATIONSHIP` types.', parameters: [ { label: 'relTypes', - documentation: 'relTypes = :: STRING?', + documentation: 'relTypes = :: STRING', }, ], }, 'apoc.text.phoneticDelta': { label: 'apoc.text.phoneticDelta', documentation: - 'Returns the US_ENGLISH soundex character difference between the two given strings.', + 'Returns the US_ENGLISH soundex character difference between the two given `STRING` values.', parameters: [ { label: 'text1', - documentation: 'text1 :: STRING?', + documentation: 'text1 :: STRING', }, { label: 'text2', - documentation: 'text2 :: STRING?', + documentation: 'text2 :: STRING', }, ], }, @@ -8197,19 +7946,19 @@ export const dummyDbSchema = { parameters: [ { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'selector', - documentation: 'selector :: MAP?', + documentation: 'selector :: MAP', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -8219,11 +7968,11 @@ export const dummyDbSchema = { parameters: [ { label: 'databaseName', - documentation: 'databaseName :: STRING?', + documentation: 'databaseName :: STRING', }, { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, ], }, @@ -8233,7 +7982,7 @@ export const dummyDbSchema = { parameters: [ { label: 'databaseName', - documentation: 'databaseName :: STRING?', + documentation: 'databaseName :: STRING', }, ], }, @@ -8244,23 +7993,23 @@ export const dummyDbSchema = { parameters: [ { label: 'databaseName', - documentation: 'databaseName :: STRING?', + documentation: 'databaseName :: STRING', }, { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, { label: 'statement', - documentation: 'statement :: STRING?', + documentation: 'statement :: STRING', }, { label: 'selector', - documentation: 'selector :: MAP?', + documentation: 'selector :: MAP', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -8276,7 +8025,7 @@ export const dummyDbSchema = { parameters: [ { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, ], }, @@ -8286,7 +8035,7 @@ export const dummyDbSchema = { parameters: [ { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, ], }, @@ -8301,7 +8050,7 @@ export const dummyDbSchema = { parameters: [ { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, ], }, @@ -8311,7 +8060,7 @@ export const dummyDbSchema = { parameters: [ { label: 'databaseName', - documentation: 'databaseName :: STRING?', + documentation: 'databaseName :: STRING', }, ], }, @@ -8321,11 +8070,11 @@ export const dummyDbSchema = { parameters: [ { label: 'databaseName', - documentation: 'databaseName :: STRING?', + documentation: 'databaseName :: STRING', }, { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, ], }, @@ -8335,11 +8084,11 @@ export const dummyDbSchema = { parameters: [ { label: 'databaseName', - documentation: 'databaseName :: STRING?', + documentation: 'databaseName :: STRING', }, { label: 'name', - documentation: 'name :: STRING?', + documentation: 'name :: STRING', }, ], }, @@ -8350,7 +8099,7 @@ export const dummyDbSchema = { parameters: [ { label: 'duration', - documentation: 'duration :: INTEGER?', + documentation: 'duration :: INTEGER', }, ], }, @@ -8360,57 +8109,84 @@ export const dummyDbSchema = { parameters: [ { label: 'predicate', - documentation: 'predicate :: BOOLEAN?', + documentation: 'predicate :: BOOLEAN', }, { label: 'message', - documentation: 'message :: STRING?', + documentation: 'message :: STRING', }, { label: 'params', - documentation: 'params :: LIST? OF ANY?', + documentation: 'params :: LIST', }, ], }, 'apoc.warmup.run': { label: 'apoc.warmup.run', documentation: - 'Loads all nodes and relationships in the database into memory.', + 'Loads all `NODE` and `RELATIONSHIP` values in the database into memory.', parameters: [ { label: 'loadProperties', - documentation: 'loadProperties = false :: BOOLEAN?', + documentation: 'loadProperties = false :: BOOLEAN', }, { label: 'loadDynamicProperties', - documentation: 'loadDynamicProperties = false :: BOOLEAN?', + documentation: 'loadDynamicProperties = false :: BOOLEAN', }, { label: 'loadIndexes', - documentation: 'loadIndexes = false :: BOOLEAN?', + documentation: 'loadIndexes = false :: BOOLEAN', }, ], }, 'apoc.when': { label: 'apoc.when', documentation: - 'This procedure will run the read-only ifQuery if the conditional has evaluated to true, otherwise the elseQuery will run.', + 'This procedure will run the read-only `ifQuery` if the conditional has evaluated to true, otherwise the `elseQuery` will run.', parameters: [ { label: 'condition', - documentation: 'condition :: BOOLEAN?', + documentation: 'condition :: BOOLEAN', }, { label: 'ifQuery', - documentation: 'ifQuery :: STRING?', + documentation: 'ifQuery :: STRING', }, { label: 'elseQuery', - documentation: 'elseQuery = :: STRING?', + documentation: 'elseQuery = :: STRING', }, { label: 'params', - documentation: 'params = {} :: MAP?', + documentation: 'params = {} :: MAP', + }, + ], + }, + 'cdc.current': { + label: 'cdc.current', + documentation: + 'Returns the current change identifier that can be used to stream changes from.', + parameters: [], + }, + 'cdc.earliest': { + label: 'cdc.earliest', + documentation: + 'Returns the earliest change identifier that can be used to stream changes from.', + parameters: [], + }, + 'cdc.query': { + label: 'cdc.query', + documentation: + 'Query changes happened from the provided change identifier.', + parameters: [ + { + label: 'from', + documentation: 'from = :: STRING', + }, + { + label: 'selectors', + documentation: 'selectors = [] :: LIST', }, ], }, @@ -8421,11 +8197,11 @@ export const dummyDbSchema = { parameters: [ { label: 'indexName', - documentation: 'indexName :: STRING?', + documentation: 'indexName :: STRING', }, { label: 'timeOutSeconds', - documentation: 'timeOutSeconds = 300 :: INTEGER?', + documentation: 'timeOutSeconds = 300 :: INTEGER', }, ], }, @@ -8436,7 +8212,7 @@ export const dummyDbSchema = { parameters: [ { label: 'timeOutSeconds', - documentation: 'timeOutSeconds = 300 :: INTEGER?', + documentation: 'timeOutSeconds = 300 :: INTEGER', }, ], }, @@ -8451,6 +8227,25 @@ export const dummyDbSchema = { documentation: 'Clears all query caches.', parameters: [], }, + 'db.create.setNodeVectorProperty': { + label: 'db.create.setNodeVectorProperty', + documentation: + "Set a vector property on a given node in a more space efficient representation than Cypher's SET.", + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + { + label: 'vector', + documentation: 'vector :: LIST', + }, + ], + }, 'db.create.setVectorProperty': { label: 'db.create.setVectorProperty', documentation: @@ -8458,15 +8253,15 @@ export const dummyDbSchema = { parameters: [ { label: 'node', - documentation: 'node :: NODE?', + documentation: 'node :: NODE', }, { label: 'key', - documentation: 'key :: STRING?', + documentation: 'key :: STRING', }, { label: 'vector', - documentation: 'vector :: LIST? OF FLOAT?', + documentation: 'vector :: LIST', }, ], }, @@ -8476,7 +8271,7 @@ export const dummyDbSchema = { parameters: [ { label: 'newLabel', - documentation: 'newLabel :: STRING?', + documentation: 'newLabel :: STRING', }, ], }, @@ -8486,7 +8281,7 @@ export const dummyDbSchema = { parameters: [ { label: 'newProperty', - documentation: 'newProperty :: STRING?', + documentation: 'newProperty :: STRING', }, ], }, @@ -8496,7 +8291,7 @@ export const dummyDbSchema = { parameters: [ { label: 'newRelationshipType', - documentation: 'newRelationshipType :: STRING?', + documentation: 'newRelationshipType :: STRING', }, ], }, @@ -8515,19 +8310,19 @@ export const dummyDbSchema = { 'db.index.fulltext.queryNodes': { label: 'db.index.fulltext.queryNodes', documentation: - "Query the given full-text index. Returns the matching nodes, and their Lucene query score, ordered by score. Valid keys for the options map are: 'skip' to skip the top N results; 'limit' to limit the number of results returned; 'analyzer' to use the specified analyzer as search analyzer for this query.", + "Query the given full-text index. Returns the matching nodes, and their Lucene query score, ordered by score. Valid keys for the options map are: 'skip' to skip the top N results; 'limit' to limit the number of results returned; 'analyzer' to use the specified analyzer as a search analyzer for this query.", parameters: [ { label: 'indexName', - documentation: 'indexName :: STRING?', + documentation: 'indexName :: STRING', }, { label: 'queryString', - documentation: 'queryString :: STRING?', + documentation: 'queryString :: STRING', }, { label: 'options', - documentation: 'options = {} :: MAP?', + documentation: 'options = {} :: MAP', }, ], }, @@ -8538,15 +8333,15 @@ export const dummyDbSchema = { parameters: [ { label: 'indexName', - documentation: 'indexName :: STRING?', + documentation: 'indexName :: STRING', }, { label: 'queryString', - documentation: 'queryString :: STRING?', + documentation: 'queryString :: STRING', }, { label: 'options', - documentation: 'options = {} :: MAP?', + documentation: 'options = {} :: MAP', }, ], }, @@ -8557,23 +8352,23 @@ export const dummyDbSchema = { parameters: [ { label: 'indexName', - documentation: 'indexName :: STRING?', + documentation: 'indexName :: STRING', }, { label: 'label', - documentation: 'label :: STRING?', + documentation: 'label :: STRING', }, { label: 'propertyKey', - documentation: 'propertyKey :: STRING?', + documentation: 'propertyKey :: STRING', }, { label: 'vectorDimension', - documentation: 'vectorDimension :: INTEGER?', + documentation: 'vectorDimension :: INTEGER', }, { label: 'vectorSimilarityFunction', - documentation: 'vectorSimilarityFunction :: STRING?', + documentation: 'vectorSimilarityFunction :: STRING', }, ], }, @@ -8584,15 +8379,15 @@ export const dummyDbSchema = { parameters: [ { label: 'indexName', - documentation: 'indexName :: STRING?', + documentation: 'indexName :: STRING', }, { label: 'numberOfNearestNeighbours', - documentation: 'numberOfNearestNeighbours :: INTEGER?', + documentation: 'numberOfNearestNeighbours :: INTEGER', }, { label: 'query', - documentation: 'query :: LIST? OF FLOAT?', + documentation: 'query :: LIST', }, ], }, @@ -8603,7 +8398,8 @@ export const dummyDbSchema = { }, 'db.labels': { label: 'db.labels', - documentation: 'List all available labels in the database.', + documentation: + "List all labels attached to nodes within a database according to the user's access rights. The procedure returns empty results if the user is not authorized to view those labels.", parameters: [], }, 'db.listLocks': { @@ -8624,7 +8420,7 @@ export const dummyDbSchema = { parameters: [ { label: 'timeOutSeconds', - documentation: 'timeOutSeconds = 300 :: INTEGER?', + documentation: 'timeOutSeconds = 300 :: INTEGER', }, ], }, @@ -8635,7 +8431,8 @@ export const dummyDbSchema = { }, 'db.relationshipTypes': { label: 'db.relationshipTypes', - documentation: 'List all available relationship types in the database.', + documentation: + "List all types attached to relationships within a database according to the user's access rights. The procedure returns empty results if the user is not authorized to view those relationship types.", parameters: [], }, 'db.resampleIndex': { @@ -8645,7 +8442,7 @@ export const dummyDbSchema = { parameters: [ { label: 'indexName', - documentation: 'indexName :: STRING?', + documentation: 'indexName :: STRING', }, ], }, @@ -8679,7 +8476,7 @@ export const dummyDbSchema = { parameters: [ { label: 'section', - documentation: 'section :: STRING?', + documentation: 'section :: STRING', }, ], }, @@ -8690,11 +8487,11 @@ export const dummyDbSchema = { parameters: [ { label: 'section', - documentation: 'section :: STRING?', + documentation: 'section :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -8705,11 +8502,11 @@ export const dummyDbSchema = { parameters: [ { label: 'section', - documentation: 'section :: STRING?', + documentation: 'section :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -8720,11 +8517,11 @@ export const dummyDbSchema = { parameters: [ { label: 'graphToken', - documentation: 'graphToken :: STRING?', + documentation: 'graphToken :: STRING', }, { label: 'config', - documentation: 'config = {} :: MAP?', + documentation: 'config = {} :: MAP', }, ], }, @@ -8741,7 +8538,7 @@ export const dummyDbSchema = { parameters: [ { label: 'section', - documentation: 'section :: STRING?', + documentation: 'section :: STRING', }, ], }, @@ -8751,11 +8548,11 @@ export const dummyDbSchema = { parameters: [ { label: 'setting', - documentation: 'setting :: STRING?', + documentation: 'setting :: STRING', }, { label: 'value', - documentation: 'value :: STRING?', + documentation: 'value :: STRING', }, ], }, @@ -8766,11 +8563,11 @@ export const dummyDbSchema = { parameters: [ { label: 'port-name', - documentation: 'port-name = null :: STRING?', + documentation: 'port-name = null :: STRING', }, { label: 'server', - documentation: 'server = null :: STRING?', + documentation: 'server = null :: STRING', }, ], }, @@ -8781,7 +8578,7 @@ export const dummyDbSchema = { parameters: [ { label: 'server', - documentation: 'server :: STRING?', + documentation: 'server :: STRING', }, ], }, @@ -8797,41 +8594,41 @@ export const dummyDbSchema = { parameters: [ { label: 'databaseName', - documentation: 'databaseName :: STRING?', + documentation: 'databaseName :: STRING', }, { label: 'pause', - documentation: 'pause :: BOOLEAN?', + documentation: 'pause :: BOOLEAN', }, ], }, 'dbms.cluster.routing.getRoutingTable': { label: 'dbms.cluster.routing.getRoutingTable', documentation: - "Returns the advertised bolt capable endpoints for a given database, divided by each endpoint's capabilities. For example an endpoint may serve read queries, write queries and/or future getRoutingTable requests.", + "Returns the advertised bolt capable endpoints for a given database, divided by each endpoint's capabilities. For example, an endpoint may serve read queries, write queries, and/or future `getRoutingTable` requests.", parameters: [ { label: 'context', - documentation: 'context :: MAP?', + documentation: 'context :: MAP', }, { label: 'database', - documentation: 'database = null :: STRING?', + documentation: 'database = null :: STRING', }, ], }, 'dbms.cluster.secondaryReplicationDisable': { label: 'dbms.cluster.secondaryReplicationDisable', documentation: - 'The toggle can pause or resume the secondary replication process', + 'The toggle can pause or resume the secondary replication process.', parameters: [ { label: 'databaseName', - documentation: 'databaseName :: STRING?', + documentation: 'databaseName :: STRING', }, { label: 'pause', - documentation: 'pause :: BOOLEAN?', + documentation: 'pause :: BOOLEAN', }, ], }, @@ -8842,7 +8639,7 @@ export const dummyDbSchema = { parameters: [ { label: 'autoEnable', - documentation: 'autoEnable :: BOOLEAN?', + documentation: 'autoEnable :: BOOLEAN', }, ], }, @@ -8853,7 +8650,7 @@ export const dummyDbSchema = { parameters: [ { label: 'server', - documentation: 'server :: STRING?', + documentation: 'server :: STRING', }, ], }, @@ -8873,7 +8670,7 @@ export const dummyDbSchema = { parameters: [ { label: 'id', - documentation: 'id :: STRING?', + documentation: 'id :: STRING', }, ], }, @@ -8884,7 +8681,7 @@ export const dummyDbSchema = { parameters: [ { label: 'ids', - documentation: 'ids :: LIST? OF STRING?', + documentation: 'ids :: LIST', }, ], }, @@ -8895,22 +8692,23 @@ export const dummyDbSchema = { parameters: [ { label: 'queryId', - documentation: 'queryId :: STRING?', + documentation: 'queryId :: STRING', }, ], }, 'dbms.listCapabilities': { label: 'dbms.listCapabilities', - documentation: 'List capabilities', + documentation: 'List capabilities.', parameters: [], }, 'dbms.listConfig': { label: 'dbms.listConfig', - documentation: 'List the currently active config of Neo4j.', + documentation: + 'List the currently active configuration settings of Neo4j.', parameters: [ { label: 'searchString', - documentation: 'searchString = :: STRING?', + documentation: 'searchString = :: STRING', }, ], }, @@ -8928,45 +8726,45 @@ export const dummyDbSchema = { }, 'dbms.quarantineDatabase': { label: 'dbms.quarantineDatabase', - documentation: 'Place a database into quarantine or remove from it.', + documentation: 'Place a database into quarantine or remove it from it.', parameters: [ { label: 'databaseName', - documentation: 'databaseName :: STRING?', + documentation: 'databaseName :: STRING', }, { label: 'setStatus', - documentation: 'setStatus :: BOOLEAN?', + documentation: 'setStatus :: BOOLEAN', }, { label: 'reason', - documentation: 'reason = No reason given :: STRING?', + documentation: 'reason = No reason given :: STRING', }, ], }, 'dbms.queryJmx': { label: 'dbms.queryJmx', documentation: - 'Query JMX management data by domain and name. For instance, "*:*"', + 'Query JMX management data by domain and name. For instance, use `*:*` to find all JMX beans.', parameters: [ { label: 'query', - documentation: 'query :: STRING?', + documentation: 'query :: STRING', }, ], }, 'dbms.routing.getRoutingTable': { label: 'dbms.routing.getRoutingTable', documentation: - "Returns the advertised bolt capable endpoints for a given database, divided by each endpoint's capabilities. For example an endpoint may serve read queries, write queries and/or future getRoutingTable requests.", + "Returns the advertised bolt capable endpoints for a given database, divided by each endpoint's capabilities. For example, an endpoint may serve read queries, write queries, and/or future `getRoutingTable` requests.", parameters: [ { label: 'context', - documentation: 'context :: MAP?', + documentation: 'context :: MAP', }, { label: 'database', - documentation: 'database = null :: STRING?', + documentation: 'database = null :: STRING', }, ], }, @@ -8996,26 +8794,26 @@ export const dummyDbSchema = { 'dbms.setConfigValue': { label: 'dbms.setConfigValue', documentation: - 'Updates a given setting value. Passing an empty value will result in removing the configured value and falling back to the default value. Changes will not persist and will be lost if the server is restarted.', + 'Update a given setting value. Passing an empty value results in removing the configured value and falling back to the default value. Changes do not persist and are lost if the server is restarted. In a clustered environment, `dbms.setConfigValue` affects only the cluster member it is run against.', parameters: [ { label: 'setting', - documentation: 'setting :: STRING?', + documentation: 'setting :: STRING', }, { label: 'value', - documentation: 'value :: STRING?', + documentation: 'value :: STRING', }, ], }, 'dbms.setDatabaseAllocator': { label: 'dbms.setDatabaseAllocator', documentation: - 'With this method you can set the allocator, which is responsible to select servers for hosting databases.', + 'With this method you can set the allocator that is responsible for selecting servers for hosting databases.', parameters: [ { label: 'allocator', - documentation: 'allocator :: STRING?', + documentation: 'allocator :: STRING', }, ], }, @@ -9026,11 +8824,11 @@ export const dummyDbSchema = { parameters: [ { label: 'primaries', - documentation: 'primaries :: INTEGER?', + documentation: 'primaries :: INTEGER', }, { label: 'secondaries', - documentation: 'secondaries :: INTEGER?', + documentation: 'secondaries :: INTEGER', }, ], }, @@ -9041,7 +8839,7 @@ export const dummyDbSchema = { parameters: [ { label: 'databaseName', - documentation: 'databaseName :: STRING?', + documentation: 'databaseName :: STRING', }, ], }, @@ -9068,6136 +8866,6 @@ export const dummyDbSchema = { 'Report the current status of the system database sub-graph schema.', parameters: [], }, - 'gds.allShortestPaths.delta.mutate': { - label: 'gds.allShortestPaths.delta.mutate', - documentation: - 'The Delta Stepping shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph. The computation is run multi-threaded', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.delta.mutate.estimate': { - label: 'gds.allShortestPaths.delta.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.delta.stats': { - label: 'gds.allShortestPaths.delta.stats', - documentation: - 'The Delta Stepping shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph. The computation is run multi-threaded', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.delta.stats.estimate': { - label: 'gds.allShortestPaths.delta.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.delta.stream': { - label: 'gds.allShortestPaths.delta.stream', - documentation: - 'The Delta Stepping shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph. The computation is run multi-threaded', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.delta.stream.estimate': { - label: 'gds.allShortestPaths.delta.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.delta.write': { - label: 'gds.allShortestPaths.delta.write', - documentation: - 'The Delta Stepping shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph. The computation is run multi-threaded', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.delta.write.estimate': { - label: 'gds.allShortestPaths.delta.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.dijkstra.mutate': { - label: 'gds.allShortestPaths.dijkstra.mutate', - documentation: - 'The Dijkstra shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.dijkstra.mutate.estimate': { - label: 'gds.allShortestPaths.dijkstra.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.dijkstra.stream': { - label: 'gds.allShortestPaths.dijkstra.stream', - documentation: - 'The Dijkstra shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.dijkstra.stream.estimate': { - label: 'gds.allShortestPaths.dijkstra.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.dijkstra.write': { - label: 'gds.allShortestPaths.dijkstra.write', - documentation: - 'The Dijkstra shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.dijkstra.write.estimate': { - label: 'gds.allShortestPaths.dijkstra.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.allShortestPaths.stream': { - label: 'gds.allShortestPaths.stream', - documentation: - 'The All Pairs Shortest Path (APSP) calculates the shortest (weighted) path between all pairs of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.alpha.ml.splitRelationships.mutate': { - label: 'gds.alpha.ml.splitRelationships.mutate', - documentation: - 'Splits a graph into holdout and remaining relationship types and adds them to the graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.alpha.pipeline.linkPrediction.addMLP': { - label: 'gds.alpha.pipeline.linkPrediction.addMLP', - documentation: - 'Add a multilayer perceptron configuration to the parameter space of the link prediction train pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'config', - documentation: 'config = {} :: MAP?', - }, - ], - }, - 'gds.alpha.pipeline.linkPrediction.configureAutoTuning': { - label: 'gds.alpha.pipeline.linkPrediction.configureAutoTuning', - documentation: - 'Configures the auto-tuning of the link prediction pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.alpha.pipeline.nodeClassification.addMLP': { - label: 'gds.alpha.pipeline.nodeClassification.addMLP', - documentation: - 'Add a multilayer perceptron configuration to the parameter space of the node classification train pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'config', - documentation: 'config = {} :: MAP?', - }, - ], - }, - 'gds.alpha.pipeline.nodeClassification.configureAutoTuning': { - label: 'gds.alpha.pipeline.nodeClassification.configureAutoTuning', - documentation: - 'Configures the auto-tuning of the node classification pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.alpha.pipeline.nodeRegression.addLinearRegression': { - label: 'gds.alpha.pipeline.nodeRegression.addLinearRegression', - documentation: - 'Add a linear regression model candidate to a node regression pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.alpha.pipeline.nodeRegression.addNodeProperty': { - label: 'gds.alpha.pipeline.nodeRegression.addNodeProperty', - documentation: - 'Add a node property step to an existing node regression training pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'procedureName', - documentation: 'procedureName :: STRING?', - }, - { - label: 'procedureConfiguration', - documentation: 'procedureConfiguration :: MAP?', - }, - ], - }, - 'gds.alpha.pipeline.nodeRegression.addRandomForest': { - label: 'gds.alpha.pipeline.nodeRegression.addRandomForest', - documentation: - 'Add a random forest model candidate to a node regression pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.alpha.pipeline.nodeRegression.configureAutoTuning': { - label: 'gds.alpha.pipeline.nodeRegression.configureAutoTuning', - documentation: - 'Configures the auto-tuning of a node regression pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.alpha.pipeline.nodeRegression.configureSplit': { - label: 'gds.alpha.pipeline.nodeRegression.configureSplit', - documentation: - 'Configures the graph splitting of a node regression pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.alpha.pipeline.nodeRegression.create': { - label: 'gds.alpha.pipeline.nodeRegression.create', - documentation: - 'Creates a node regression training pipeline in the pipeline catalog.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - ], - }, - 'gds.alpha.pipeline.nodeRegression.predict.mutate': { - label: 'gds.alpha.pipeline.nodeRegression.predict.mutate', - documentation: - 'Predicts target node property using a previously trained `NodeRegression` model', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.alpha.pipeline.nodeRegression.predict.stream': { - label: 'gds.alpha.pipeline.nodeRegression.predict.stream', - documentation: - 'Predicts target node property using a previously trained `NodeRegression` model', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.alpha.pipeline.nodeRegression.selectFeatures': { - label: 'gds.alpha.pipeline.nodeRegression.selectFeatures', - documentation: - 'Add one or several features to an existing node regression training pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'featureProperties', - documentation: 'featureProperties :: ANY?', - }, - ], - }, - 'gds.alpha.pipeline.nodeRegression.train': { - label: 'gds.alpha.pipeline.nodeRegression.train', - documentation: 'Trains a node classification model based on a pipeline', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.articleRank.mutate': { - label: 'gds.articleRank.mutate', - documentation: - 'Article Rank is a variant of the Page Rank algorithm, which measures the transitive influence or connectivity of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.articleRank.mutate.estimate': { - label: 'gds.articleRank.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.articleRank.stats': { - label: 'gds.articleRank.stats', - documentation: - 'Executes the algorithm and returns result statistics without writing the result to Neo4j.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.articleRank.stats.estimate': { - label: 'gds.articleRank.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.articleRank.stream': { - label: 'gds.articleRank.stream', - documentation: - 'Article Rank is a variant of the Page Rank algorithm, which measures the transitive influence or connectivity of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.articleRank.stream.estimate': { - label: 'gds.articleRank.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.articleRank.write': { - label: 'gds.articleRank.write', - documentation: - 'Article Rank is a variant of the Page Rank algorithm, which measures the transitive influence or connectivity of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.articleRank.write.estimate': { - label: 'gds.articleRank.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.backup': { - label: 'gds.backup', - documentation: 'The back-up procedure persists graphs and models to disk', - parameters: [ - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.bellmanFord.mutate': { - label: 'gds.bellmanFord.mutate', - documentation: - 'The Bellman-Ford shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph without negative cycles.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.bellmanFord.mutate.estimate': { - label: 'gds.bellmanFord.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.bellmanFord.stats': { - label: 'gds.bellmanFord.stats', - documentation: - 'The Bellman-Ford shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph without negative cycles.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.bellmanFord.stats.estimate': { - label: 'gds.bellmanFord.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.bellmanFord.stream': { - label: 'gds.bellmanFord.stream', - documentation: - 'The Bellman-Ford shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph without negative cycles.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.bellmanFord.stream.estimate': { - label: 'gds.bellmanFord.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.bellmanFord.write': { - label: 'gds.bellmanFord.write', - documentation: - 'The Bellman-Ford shortest path algorithm computes the shortest (weighted) path between one node and any other node in the graph without negative cycles.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.bellmanFord.write.estimate': { - label: 'gds.bellmanFord.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.beta.graphSage.mutate': { - label: 'gds.beta.graphSage.mutate', - documentation: - 'The GraphSage algorithm inductively computes embeddings for nodes based on a their features and neighborhoods.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.beta.graphSage.mutate.estimate': { - label: 'gds.beta.graphSage.mutate.estimate', - documentation: - 'The GraphSage algorithm inductively computes embeddings for nodes based on a their features and neighborhoods.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.beta.graphSage.stream': { - label: 'gds.beta.graphSage.stream', - documentation: - 'The GraphSage algorithm inductively computes embeddings for nodes based on a their features and neighborhoods.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.beta.graphSage.stream.estimate': { - label: 'gds.beta.graphSage.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.beta.graphSage.train': { - label: 'gds.beta.graphSage.train', - documentation: - 'The GraphSage algorithm inductively computes embeddings for nodes based on a their features and neighborhoods.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.beta.graphSage.train.estimate': { - label: 'gds.beta.graphSage.train.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.beta.graphSage.write': { - label: 'gds.beta.graphSage.write', - documentation: - 'The GraphSage algorithm inductively computes embeddings for nodes based on a their features and neighborhoods.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.beta.graphSage.write.estimate': { - label: 'gds.beta.graphSage.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.linkPrediction.addFeature': { - label: 'gds.beta.pipeline.linkPrediction.addFeature', - documentation: - 'Add a feature step to an existing link prediction pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'featureType', - documentation: 'featureType :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.linkPrediction.addLogisticRegression': { - label: 'gds.beta.pipeline.linkPrediction.addLogisticRegression', - documentation: - 'Add a logistic regression configuration to the parameter space of the link prediction train pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'config', - documentation: 'config = {} :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.linkPrediction.addNodeProperty': { - label: 'gds.beta.pipeline.linkPrediction.addNodeProperty', - documentation: - 'Add a node property step to an existing link prediction pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'procedureName', - documentation: 'procedureName :: STRING?', - }, - { - label: 'procedureConfiguration', - documentation: 'procedureConfiguration :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.linkPrediction.addRandomForest': { - label: 'gds.beta.pipeline.linkPrediction.addRandomForest', - documentation: - 'Add a random forest configuration to the parameter space of the link prediction train pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'config', - documentation: 'config :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.linkPrediction.configureSplit': { - label: 'gds.beta.pipeline.linkPrediction.configureSplit', - documentation: 'Configures the split of the link prediction pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.linkPrediction.create': { - label: 'gds.beta.pipeline.linkPrediction.create', - documentation: - 'Creates a link prediction pipeline in the pipeline catalog.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - ], - }, - 'gds.beta.pipeline.linkPrediction.predict.mutate': { - label: 'gds.beta.pipeline.linkPrediction.predict.mutate', - documentation: - 'Predicts relationships for all non-connected node pairs based on a previously trained LinkPrediction model.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.linkPrediction.predict.mutate.estimate': { - label: 'gds.beta.pipeline.linkPrediction.predict.mutate.estimate', - documentation: - 'Estimates memory for predicting relationships for all non-connected node pairs based on a previously trained LinkPrediction model', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.linkPrediction.predict.stream': { - label: 'gds.beta.pipeline.linkPrediction.predict.stream', - documentation: - 'Predicts relationships for all non-connected node pairs based on a previously trained LinkPrediction model.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.linkPrediction.predict.stream.estimate': { - label: 'gds.beta.pipeline.linkPrediction.predict.stream.estimate', - documentation: - 'Estimates memory for predicting relationships for all non-connected node pairs based on a previously trained LinkPrediction model', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.linkPrediction.train': { - label: 'gds.beta.pipeline.linkPrediction.train', - documentation: 'Trains a link prediction model based on a pipeline', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.linkPrediction.train.estimate': { - label: 'gds.beta.pipeline.linkPrediction.train.estimate', - documentation: 'Estimates memory for applying a linkPrediction model', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.addLogisticRegression': { - label: 'gds.beta.pipeline.nodeClassification.addLogisticRegression', - documentation: - 'Add a logistic regression configuration to the parameter space of the node classification train pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'config', - documentation: 'config = {} :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.addNodeProperty': { - label: 'gds.beta.pipeline.nodeClassification.addNodeProperty', - documentation: - 'Add a node property step to an existing node classification training pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'procedureName', - documentation: 'procedureName :: STRING?', - }, - { - label: 'procedureConfiguration', - documentation: 'procedureConfiguration :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.addRandomForest': { - label: 'gds.beta.pipeline.nodeClassification.addRandomForest', - documentation: - 'Add a random forest configuration to the parameter space of the node classification train pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'config', - documentation: 'config :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.configureSplit': { - label: 'gds.beta.pipeline.nodeClassification.configureSplit', - documentation: - 'Configures the split of the node classification training pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.create': { - label: 'gds.beta.pipeline.nodeClassification.create', - documentation: - 'Creates a node classification training pipeline in the pipeline catalog.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.predict.mutate': { - label: 'gds.beta.pipeline.nodeClassification.predict.mutate', - documentation: - 'Predicts classes for all nodes based on a previously trained pipeline model', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.predict.mutate.estimate': { - label: 'gds.beta.pipeline.nodeClassification.predict.mutate.estimate', - documentation: - 'Estimates memory for predicting classes for all nodes based on a previously trained pipeline model', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.predict.stream': { - label: 'gds.beta.pipeline.nodeClassification.predict.stream', - documentation: - 'Predicts classes for all nodes based on a previously trained pipeline model', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.predict.stream.estimate': { - label: 'gds.beta.pipeline.nodeClassification.predict.stream.estimate', - documentation: - 'Estimates memory for predicting classes for all nodes based on a previously trained pipeline model', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.predict.write': { - label: 'gds.beta.pipeline.nodeClassification.predict.write', - documentation: - 'Predicts classes for all nodes based on a previously trained pipeline model', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.predict.write.estimate': { - label: 'gds.beta.pipeline.nodeClassification.predict.write.estimate', - documentation: - 'Estimates memory for predicting classes for all nodes based on a previously trained pipeline model', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.selectFeatures': { - label: 'gds.beta.pipeline.nodeClassification.selectFeatures', - documentation: - 'Add one or several features to an existing node classification training pipeline.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'nodeProperties', - documentation: 'nodeProperties :: ANY?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.train': { - label: 'gds.beta.pipeline.nodeClassification.train', - documentation: 'Trains a node classification model based on a pipeline', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.beta.pipeline.nodeClassification.train.estimate': { - label: 'gds.beta.pipeline.nodeClassification.train.estimate', - documentation: - 'Estimates memory for training a node classification model based on a pipeline', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.betweenness.mutate': { - label: 'gds.betweenness.mutate', - documentation: - 'Betweenness centrality measures the relative information flow that passes through a node.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.betweenness.mutate.estimate': { - label: 'gds.betweenness.mutate.estimate', - documentation: - 'Betweenness centrality measures the relative information flow that passes through a node.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.betweenness.stats': { - label: 'gds.betweenness.stats', - documentation: - 'Betweenness centrality measures the relative information flow that passes through a node.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.betweenness.stats.estimate': { - label: 'gds.betweenness.stats.estimate', - documentation: - 'Betweenness centrality measures the relative information flow that passes through a node.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.betweenness.stream': { - label: 'gds.betweenness.stream', - documentation: - 'Betweenness centrality measures the relative information flow that passes through a node.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.betweenness.stream.estimate': { - label: 'gds.betweenness.stream.estimate', - documentation: - 'Betweenness centrality measures the relative information flow that passes through a node.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.betweenness.write': { - label: 'gds.betweenness.write', - documentation: - 'Betweenness centrality measures the relative information flow that passes through a node.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.betweenness.write.estimate': { - label: 'gds.betweenness.write.estimate', - documentation: - 'Betweenness centrality measures the relative information flow that passes through a node.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.bfs.mutate': { - label: 'gds.bfs.mutate', - documentation: - 'BFS is a traversal algorithm, which explores all of the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.bfs.mutate.estimate': { - label: 'gds.bfs.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.bfs.stats': { - label: 'gds.bfs.stats', - documentation: - 'BFS is a traversal algorithm, which explores all of the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.bfs.stats.estimate': { - label: 'gds.bfs.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.bfs.stream': { - label: 'gds.bfs.stream', - documentation: - 'BFS is a traversal algorithm, which explores all of the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.bfs.stream.estimate': { - label: 'gds.bfs.stream.estimate', - documentation: - 'BFS is a traversal algorithm, which explores all of the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.closeness.harmonic.mutate': { - label: 'gds.closeness.harmonic.mutate', - documentation: - 'Harmonic centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.closeness.harmonic.stats': { - label: 'gds.closeness.harmonic.stats', - documentation: - 'Harmonic centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.closeness.harmonic.stream': { - label: 'gds.closeness.harmonic.stream', - documentation: - 'Harmonic centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.closeness.harmonic.write': { - label: 'gds.closeness.harmonic.write', - documentation: - 'Harmonic centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.closeness.mutate': { - label: 'gds.closeness.mutate', - documentation: - 'Closeness centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.closeness.stats': { - label: 'gds.closeness.stats', - documentation: - 'Closeness centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.closeness.stream': { - label: 'gds.closeness.stream', - documentation: - 'Closeness centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.closeness.write': { - label: 'gds.closeness.write', - documentation: - 'Closeness centrality is a way of detecting nodes that are able to spread information very efficiently through a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.collapsePath.mutate': { - label: 'gds.collapsePath.mutate', - documentation: - 'Collapse Path algorithm is a traversal algorithm capable of creating relationships between the start and end nodes of a traversal', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.conductance.stream': { - label: 'gds.conductance.stream', - documentation: - 'Evaluates a division of nodes into communities based on the proportion of relationships that cross community boundaries.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.config.defaults.list': { - label: 'gds.config.defaults.list', - documentation: - 'List defaults; global by default, but also optionally for a specific user and/ or key', - parameters: [ - { - label: 'parameters', - documentation: 'parameters = {} :: MAP?', - }, - ], - }, - 'gds.config.defaults.set': { - label: 'gds.config.defaults.set', - documentation: - 'Set a default; global by, default, but also optionally for a specific user', - parameters: [ - { - label: 'key', - documentation: 'key :: STRING?', - }, - { - label: 'value', - documentation: 'value :: ANY?', - }, - { - label: 'username', - documentation: - 'username = d81eb72e-c499-4f78-90c7-0c76123606a2 :: STRING?', - }, - ], - }, - 'gds.config.limits.list': { - label: 'gds.config.limits.list', - documentation: - 'List limits; global by default, but also optionally for a specific user and/ or key', - parameters: [ - { - label: 'parameters', - documentation: 'parameters = {} :: MAP?', - }, - ], - }, - 'gds.config.limits.set': { - label: 'gds.config.limits.set', - documentation: - 'Set a limit; global by, default, but also optionally for a specific user', - parameters: [ - { - label: 'key', - documentation: 'key :: STRING?', - }, - { - label: 'value', - documentation: 'value :: ANY?', - }, - { - label: 'username', - documentation: - 'username = d81eb72e-c499-4f78-90c7-0c76123606a2 :: STRING?', - }, - ], - }, - 'gds.dag.longestPath.stream': { - label: 'gds.dag.longestPath.stream', - documentation: 'Returns the longest paths ending in given target nodes', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.dag.topologicalSort.stream': { - label: 'gds.dag.topologicalSort.stream', - documentation: - 'Returns all the nodes in the graph that are not part of a cycle or depend on a cycle, sorted in a topological order', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.debug.arrow': { - label: 'gds.debug.arrow', - documentation: - 'Returns details about the status of the GDS Flight server', - parameters: [], - }, - 'gds.debug.sysInfo': { - label: 'gds.debug.sysInfo', - documentation: 'Returns details about the status of the system', - parameters: [], - }, - 'gds.degree.mutate': { - label: 'gds.degree.mutate', - documentation: - 'Degree centrality measures the number of incoming and outgoing relationships from a node.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.degree.mutate.estimate': { - label: 'gds.degree.mutate.estimate', - documentation: - 'Degree centrality measures the number of incoming and outgoing relationships from a node.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.degree.stats': { - label: 'gds.degree.stats', - documentation: - 'Degree centrality measures the number of incoming and outgoing relationships from a node.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.degree.stats.estimate': { - label: 'gds.degree.stats.estimate', - documentation: - 'Degree centrality measures the number of incoming and outgoing relationships from a node.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.degree.stream': { - label: 'gds.degree.stream', - documentation: - 'Degree centrality measures the number of incoming and outgoing relationships from a node.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.degree.stream.estimate': { - label: 'gds.degree.stream.estimate', - documentation: - 'Degree centrality measures the number of incoming and outgoing relationships from a node.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.degree.write': { - label: 'gds.degree.write', - documentation: - 'Degree centrality measures the number of incoming and outgoing relationships from a node.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.degree.write.estimate': { - label: 'gds.degree.write.estimate', - documentation: - 'Degree centrality measures the number of incoming and outgoing relationships from a node.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.dfs.mutate': { - label: 'gds.dfs.mutate', - documentation: - 'Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures. The algorithm starts at the root node (selecting some arbitrary node as the root node in the case of a graph) and explores as far as possible along each branch before backtracking.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.dfs.mutate.estimate': { - label: 'gds.dfs.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.dfs.stream': { - label: 'gds.dfs.stream', - documentation: - 'Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures. The algorithm starts at the root node (selecting some arbitrary node as the root node in the case of a graph) and explores as far as possible along each branch before backtracking.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.dfs.stream.estimate': { - label: 'gds.dfs.stream.estimate', - documentation: - 'Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures. The algorithm starts at the root node (selecting some arbitrary node as the root node in the case of a graph) and explores as far as possible along each branch before backtracking.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.eigenvector.mutate': { - label: 'gds.eigenvector.mutate', - documentation: - 'Eigenvector Centrality is an algorithm that measures the transitive influence or connectivity of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.eigenvector.mutate.estimate': { - label: 'gds.eigenvector.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.eigenvector.stats': { - label: 'gds.eigenvector.stats', - documentation: - 'Eigenvector Centrality is an algorithm that measures the transitive influence or connectivity of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.eigenvector.stats.estimate': { - label: 'gds.eigenvector.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.eigenvector.stream': { - label: 'gds.eigenvector.stream', - documentation: - 'Eigenvector Centrality is an algorithm that measures the transitive influence or connectivity of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.eigenvector.stream.estimate': { - label: 'gds.eigenvector.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.eigenvector.write': { - label: 'gds.eigenvector.write', - documentation: - 'Eigenvector Centrality is an algorithm that measures the transitive influence or connectivity of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.eigenvector.write.estimate': { - label: 'gds.eigenvector.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.ephemeral.database.create': { - label: 'gds.ephemeral.database.create', - documentation: 'Creates an ephemeral database from a GDS graph.', - parameters: [ - { - label: 'dbName', - documentation: 'dbName :: STRING?', - }, - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - ], - }, - 'gds.ephemeral.database.drop': { - label: 'gds.ephemeral.database.drop', - documentation: 'Drop an ephemeral database backed by an in-memory graph', - parameters: [ - { - label: 'dbName', - documentation: 'dbName :: STRING?', - }, - ], - }, - 'gds.fastRP.mutate': { - label: 'gds.fastRP.mutate', - documentation: - 'Random Projection produces node embeddings via the fastrp algorithm', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.fastRP.mutate.estimate': { - label: 'gds.fastRP.mutate.estimate', - documentation: - 'Random Projection produces node embeddings via the fastrp algorithm', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.fastRP.stats': { - label: 'gds.fastRP.stats', - documentation: - 'Random Projection produces node embeddings via the fastrp algorithm', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.fastRP.stats.estimate': { - label: 'gds.fastRP.stats.estimate', - documentation: - 'Random Projection produces node embeddings via the fastrp algorithm', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.fastRP.stream': { - label: 'gds.fastRP.stream', - documentation: - 'Random Projection produces node embeddings via the fastrp algorithm', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.fastRP.stream.estimate': { - label: 'gds.fastRP.stream.estimate', - documentation: - 'Random Projection produces node embeddings via the fastrp algorithm', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.fastRP.write': { - label: 'gds.fastRP.write', - documentation: - 'Random Projection produces node embeddings via the fastrp algorithm', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.fastRP.write.estimate': { - label: 'gds.fastRP.write.estimate', - documentation: - 'Random Projection produces node embeddings via the fastrp algorithm', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.graph.drop': { - label: 'gds.graph.drop', - documentation: - 'Drops a named graph from the catalog and frees up the resources it occupies.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: ANY?', - }, - { - label: 'failIfMissing', - documentation: 'failIfMissing = true :: BOOLEAN?', - }, - { - label: 'dbName', - documentation: 'dbName = :: STRING?', - }, - { - label: 'username', - documentation: 'username = :: STRING?', - }, - ], - }, - 'gds.graph.exists': { - label: 'gds.graph.exists', - documentation: 'Checks if a graph exists in the catalog.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - ], - }, - 'gds.graph.export': { - label: 'gds.graph.export', - documentation: 'Exports a named graph into a new offline Neo4j database.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.export.csv': { - label: 'gds.graph.export.csv', - documentation: 'Exports a named graph to CSV files.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.export.csv.estimate': { - label: 'gds.graph.export.csv.estimate', - documentation: - 'Estimate the required disk space for exporting a named graph to CSV files.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.filter': { - label: 'gds.graph.filter', - documentation: - 'Applies node and relationship predicates on a graph and stores the result as a new graph in the catalog.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'fromGraphName', - documentation: 'fromGraphName :: STRING?', - }, - { - label: 'nodeFilter', - documentation: 'nodeFilter :: STRING?', - }, - { - label: 'relationshipFilter', - documentation: 'relationshipFilter :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.generate': { - label: 'gds.graph.generate', - documentation: - 'Computes a random graph, which will be stored in the graph catalog.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'nodeCount', - documentation: 'nodeCount :: INTEGER?', - }, - { - label: 'averageDegree', - documentation: 'averageDegree :: INTEGER?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.graphProperty.drop': { - label: 'gds.graph.graphProperty.drop', - documentation: 'Removes a graph property from a projected graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'graphProperty', - documentation: 'graphProperty :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.graphProperty.stream': { - label: 'gds.graph.graphProperty.stream', - documentation: 'Streams the given graph property.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'graphProperty', - documentation: 'graphProperty :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.list': { - label: 'gds.graph.list', - documentation: - 'Lists information about named graphs stored in the catalog.', - parameters: [ - { - label: 'graphName', - documentation: - 'graphName = d9b6394a-9482-4929-adab-f97df578a6c6 :: STRING?', - }, - ], - }, - 'gds.graph.nodeLabel.mutate': { - label: 'gds.graph.nodeLabel.mutate', - documentation: 'Mutates the in-memory graph with the given node Label.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'nodeLabel', - documentation: 'nodeLabel :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.graph.nodeLabel.write': { - label: 'gds.graph.nodeLabel.write', - documentation: 'Writes the given node Label to an online Neo4j database.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'nodeLabel', - documentation: 'nodeLabel :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.graph.nodeProperties.drop': { - label: 'gds.graph.nodeProperties.drop', - documentation: 'Removes node properties from a projected graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'nodeProperties', - documentation: 'nodeProperties :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.nodeProperties.stream': { - label: 'gds.graph.nodeProperties.stream', - documentation: 'Streams the given node properties.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'nodeProperties', - documentation: 'nodeProperties :: ANY?', - }, - { - label: 'nodeLabels', - documentation: 'nodeLabels = [*] :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.nodeProperties.write': { - label: 'gds.graph.nodeProperties.write', - documentation: - 'Writes the given node properties to an online Neo4j database.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'nodeProperties', - documentation: 'nodeProperties :: ANY?', - }, - { - label: 'nodeLabels', - documentation: 'nodeLabels = [*] :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.nodeProperty.stream': { - label: 'gds.graph.nodeProperty.stream', - documentation: 'Streams the given node property.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'nodeProperties', - documentation: 'nodeProperties :: STRING?', - }, - { - label: 'nodeLabels', - documentation: 'nodeLabels = [*] :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.project': { - label: 'gds.graph.project', - documentation: - 'Creates a named graph in the catalog for use by algorithms.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'nodeProjection', - documentation: 'nodeProjection :: ANY?', - }, - { - label: 'relationshipProjection', - documentation: 'relationshipProjection :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.project.cypher': { - label: 'gds.graph.project.cypher', - documentation: - 'Creates a named graph in the catalog for use by algorithms.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'nodeQuery', - documentation: 'nodeQuery :: STRING?', - }, - { - label: 'relationshipQuery', - documentation: 'relationshipQuery :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.project.cypher.estimate': { - label: 'gds.graph.project.cypher.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'nodeQuery', - documentation: 'nodeQuery :: STRING?', - }, - { - label: 'relationshipQuery', - documentation: 'relationshipQuery :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.project.estimate': { - label: 'gds.graph.project.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'nodeProjection', - documentation: 'nodeProjection :: ANY?', - }, - { - label: 'relationshipProjection', - documentation: 'relationshipProjection :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.relationship.write': { - label: 'gds.graph.relationship.write', - documentation: - 'Writes the given relationship and an optional relationship property to an online Neo4j database.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'relationshipType', - documentation: 'relationshipType :: STRING?', - }, - { - label: 'relationshipProperty', - documentation: 'relationshipProperty = :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.relationshipProperties.stream': { - label: 'gds.graph.relationshipProperties.stream', - documentation: 'Streams the given relationship properties.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'relationshipProperties', - documentation: 'relationshipProperties :: LIST? OF STRING?', - }, - { - label: 'relationshipTypes', - documentation: 'relationshipTypes = [*] :: LIST? OF STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.relationshipProperties.write': { - label: 'gds.graph.relationshipProperties.write', - documentation: - 'Writes the given relationship and a list of relationship properties to an online Neo4j database.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'relationshipType', - documentation: 'relationshipType :: STRING?', - }, - { - label: 'relationshipProperties', - documentation: 'relationshipProperties :: LIST? OF STRING?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.graph.relationshipProperty.stream': { - label: 'gds.graph.relationshipProperty.stream', - documentation: 'Streams the given relationship property.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'relationshipProperty', - documentation: 'relationshipProperty :: STRING?', - }, - { - label: 'relationshipTypes', - documentation: 'relationshipTypes = [*] :: LIST? OF STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.relationships.drop': { - label: 'gds.graph.relationships.drop', - documentation: - 'Delete the relationship type for a given graph stored in the graph-catalog.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'relationshipType', - documentation: 'relationshipType :: STRING?', - }, - ], - }, - 'gds.graph.relationships.stream': { - label: 'gds.graph.relationships.stream', - documentation: 'Streams the given relationship source/target pairs', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'relationshipTypes', - documentation: 'relationshipTypes = [*] :: LIST? OF STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.relationships.toUndirected': { - label: 'gds.graph.relationships.toUndirected', - documentation: - 'The ToUndirected procedure converts directed relationships to undirected relationships', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.relationships.toUndirected.estimate': { - label: 'gds.graph.relationships.toUndirected.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.graph.sample.cnarw': { - label: 'gds.graph.sample.cnarw', - documentation: - 'Constructs a random subgraph based on common neighbour aware random walks', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'fromGraphName', - documentation: 'fromGraphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.sample.cnarw.estimate': { - label: 'gds.graph.sample.cnarw.estimate', - documentation: - 'Estimate memory requirements for sampling graph using CNARW algorithm', - parameters: [ - { - label: 'fromGraphName', - documentation: 'fromGraphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.graph.sample.rwr': { - label: 'gds.graph.sample.rwr', - documentation: - 'Constructs a random subgraph based on random walks with restarts', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'fromGraphName', - documentation: 'fromGraphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.hashgnn.mutate': { - label: 'gds.hashgnn.mutate', - documentation: - 'HashGNN creates node embeddings by hashing and message passing.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.hashgnn.mutate.estimate': { - label: 'gds.hashgnn.mutate.estimate', - documentation: - 'HashGNN creates node embeddings by hashing and message passing.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.hashgnn.stream': { - label: 'gds.hashgnn.stream', - documentation: - 'HashGNN creates node embeddings by hashing and message passing.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.hashgnn.stream.estimate': { - label: 'gds.hashgnn.stream.estimate', - documentation: - 'HashGNN creates node embeddings by hashing and message passing.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.hits.mutate': { - label: 'gds.hits.mutate', - documentation: - 'Hyperlink-Induced Topic Search (HITS) is a link analysis algorithm that rates nodes', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.hits.mutate.estimate': { - label: 'gds.hits.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.hits.stats': { - label: 'gds.hits.stats', - documentation: - 'Hyperlink-Induced Topic Search (HITS) is a link analysis algorithm that rates nodes', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.hits.stats.estimate': { - label: 'gds.hits.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.hits.stream': { - label: 'gds.hits.stream', - documentation: - 'Hyperlink-Induced Topic Search (HITS) is a link analysis algorithm that rates nodes', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.hits.stream.estimate': { - label: 'gds.hits.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.hits.write': { - label: 'gds.hits.write', - documentation: - 'Hyperlink-Induced Topic Search (HITS) is a link analysis algorithm that rates nodes', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.hits.write.estimate': { - label: 'gds.hits.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.influenceMaximization.celf.mutate': { - label: 'gds.influenceMaximization.celf.mutate', - documentation: - 'The Cost Effective Lazy Forward (CELF) algorithm aims to find k nodes that maximize the expected spread of influence in the network.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.influenceMaximization.celf.mutate.estimate': { - label: 'gds.influenceMaximization.celf.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.influenceMaximization.celf.stats': { - label: 'gds.influenceMaximization.celf.stats', - documentation: - 'Executes the algorithm and returns result statistics without writing the result to Neo4j.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.influenceMaximization.celf.stats.estimate': { - label: 'gds.influenceMaximization.celf.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.influenceMaximization.celf.stream': { - label: 'gds.influenceMaximization.celf.stream', - documentation: - 'The Cost Effective Lazy Forward (CELF) algorithm aims to find k nodes that maximize the expected spread of influence in the network.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.influenceMaximization.celf.stream.estimate': { - label: 'gds.influenceMaximization.celf.stream.estimate', - documentation: - 'The Cost Effective Lazy Forward (CELF) algorithm aims to find k nodes that maximize the expected spread of influence in the network.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.influenceMaximization.celf.write': { - label: 'gds.influenceMaximization.celf.write', - documentation: - 'The Cost Effective Lazy Forward (CELF) algorithm aims to find k nodes that maximize the expected spread of influence in the network.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.influenceMaximization.celf.write.estimate': { - label: 'gds.influenceMaximization.celf.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.k1coloring.mutate': { - label: 'gds.k1coloring.mutate', - documentation: - 'The K-1 Coloring algorithm assigns a color to every node in the graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.k1coloring.mutate.estimate': { - label: 'gds.k1coloring.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.k1coloring.stats': { - label: 'gds.k1coloring.stats', - documentation: - 'The K-1 Coloring algorithm assigns a color to every node in the graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.k1coloring.stats.estimate': { - label: 'gds.k1coloring.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.k1coloring.stream': { - label: 'gds.k1coloring.stream', - documentation: - 'The K-1 Coloring algorithm assigns a color to every node in the graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.k1coloring.stream.estimate': { - label: 'gds.k1coloring.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.k1coloring.write': { - label: 'gds.k1coloring.write', - documentation: - 'The K-1 Coloring algorithm assigns a color to every node in the graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.k1coloring.write.estimate': { - label: 'gds.k1coloring.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.kSpanningTree.write': { - label: 'gds.kSpanningTree.write', - documentation: - 'The K-spanning tree algorithm starts from a root node and returns a spanning tree with exactly k nodes', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.kcore.mutate': { - label: 'gds.kcore.mutate', - documentation: 'It computes the k-core values in a network', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.kcore.mutate.estimate': { - label: 'gds.kcore.mutate.estimate', - documentation: 'It computes the k-core values in a network', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.kcore.stats': { - label: 'gds.kcore.stats', - documentation: 'It computes the k-core values in a network', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.kcore.stats.estimate': { - label: 'gds.kcore.stats.estimate', - documentation: 'It computes the k-core values in a network', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.kcore.stream': { - label: 'gds.kcore.stream', - documentation: 'It computes the k-core values in a network', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.kcore.stream.estimate': { - label: 'gds.kcore.stream.estimate', - documentation: 'It computes the k-core values in a network', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.kcore.write': { - label: 'gds.kcore.write', - documentation: 'It computes the k-core values in a network', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.kcore.write.estimate': { - label: 'gds.kcore.write.estimate', - documentation: 'It computes the k-core values in a network', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.kmeans.mutate': { - label: 'gds.kmeans.mutate', - documentation: - 'The Kmeans algorithm clusters nodes into different communities based on Euclidean distance', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.kmeans.mutate.estimate': { - label: 'gds.kmeans.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.kmeans.stats': { - label: 'gds.kmeans.stats', - documentation: - 'The Kmeans algorithm clusters nodes into different communities based on Euclidean distance', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.kmeans.stats.estimate': { - label: 'gds.kmeans.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.kmeans.stream': { - label: 'gds.kmeans.stream', - documentation: - 'The Kmeans algorithm clusters nodes into different communities based on Euclidean distance', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.kmeans.stream.estimate': { - label: 'gds.kmeans.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.kmeans.write': { - label: 'gds.kmeans.write', - documentation: - 'The Kmeans algorithm clusters nodes into different communities based on Euclidean distance', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.kmeans.write.estimate': { - label: 'gds.kmeans.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.knn.filtered.mutate': { - label: 'gds.knn.filtered.mutate', - documentation: - 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes. KNN computes distances based on the similarity of node properties. Filtered KNN extends this functionality, allowing filtering on source nodes and target nodes, respectively.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.knn.filtered.mutate.estimate': { - label: 'gds.knn.filtered.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.knn.filtered.stats': { - label: 'gds.knn.filtered.stats', - documentation: - 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes. KNN computes distances based on the similarity of node properties. Filtered KNN extends this functionality, allowing filtering on source nodes and target nodes, respectively.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.knn.filtered.stats.estimate': { - label: 'gds.knn.filtered.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.knn.filtered.stream': { - label: 'gds.knn.filtered.stream', - documentation: - 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes. KNN computes distances based on the similarity of node properties. Filtered KNN extends this functionality, allowing filtering on source nodes and target nodes, respectively.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.knn.filtered.stream.estimate': { - label: 'gds.knn.filtered.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.knn.filtered.write': { - label: 'gds.knn.filtered.write', - documentation: - 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes. KNN computes distances based on the similarity of node properties. Filtered KNN extends this functionality, allowing filtering on source nodes and target nodes, respectively.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.knn.filtered.write.estimate': { - label: 'gds.knn.filtered.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.knn.mutate': { - label: 'gds.knn.mutate', - documentation: - 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes.KNN computes distances based on the similarity of node properties', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.knn.mutate.estimate': { - label: 'gds.knn.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.knn.stats': { - label: 'gds.knn.stats', - documentation: - 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes.KNN computes distances based on the similarity of node properties', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.knn.stats.estimate': { - label: 'gds.knn.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.knn.stream': { - label: 'gds.knn.stream', - documentation: - 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes.KNN computes distances based on the similarity of node properties', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.knn.stream.estimate': { - label: 'gds.knn.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.knn.write': { - label: 'gds.knn.write', - documentation: - 'The k-nearest neighbor graph algorithm constructs relationships between nodes if the distance between two nodes is among the k nearest distances compared to other nodes.KNN computes distances based on the similarity of node properties', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.knn.write.estimate': { - label: 'gds.knn.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.labelPropagation.mutate': { - label: 'gds.labelPropagation.mutate', - documentation: - 'The Label Propagation algorithm is a fast algorithm for finding communities in a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.labelPropagation.mutate.estimate': { - label: 'gds.labelPropagation.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.labelPropagation.stats': { - label: 'gds.labelPropagation.stats', - documentation: - 'The Label Propagation algorithm is a fast algorithm for finding communities in a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.labelPropagation.stats.estimate': { - label: 'gds.labelPropagation.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.labelPropagation.stream': { - label: 'gds.labelPropagation.stream', - documentation: - 'The Label Propagation algorithm is a fast algorithm for finding communities in a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.labelPropagation.stream.estimate': { - label: 'gds.labelPropagation.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.labelPropagation.write': { - label: 'gds.labelPropagation.write', - documentation: - 'The Label Propagation algorithm is a fast algorithm for finding communities in a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.labelPropagation.write.estimate': { - label: 'gds.labelPropagation.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.leiden.mutate': { - label: 'gds.leiden.mutate', - documentation: - 'Leiden is a community detection algorithm, which guarantees that communities are well connected', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.leiden.mutate.estimate': { - label: 'gds.leiden.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.leiden.stats': { - label: 'gds.leiden.stats', - documentation: - 'Executes the algorithm and returns result statistics without writing the result to Neo4j.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.leiden.stats.estimate': { - label: 'gds.leiden.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.leiden.stream': { - label: 'gds.leiden.stream', - documentation: - 'Leiden is a community detection algorithm, which guarantees that communities are well connected', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.leiden.stream.estimate': { - label: 'gds.leiden.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.leiden.write': { - label: 'gds.leiden.write', - documentation: - 'Leiden is a community detection algorithm, which guarantees that communities are well connected', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.leiden.write.estimate': { - label: 'gds.leiden.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.license.state': { - label: 'gds.license.state', - documentation: 'Returns details about the license state', - parameters: [], - }, - 'gds.list': { - label: 'gds.list', - documentation: - 'CALL gds.list - lists all algorithm procedures, their description and signature', - parameters: [ - { - label: 'name', - documentation: 'name = :: STRING?', - }, - ], - }, - 'gds.listProgress': { - label: 'gds.listProgress', - documentation: 'List progress events for currently running tasks.', - parameters: [ - { - label: 'jobId', - documentation: 'jobId = :: STRING?', - }, - ], - }, - 'gds.localClusteringCoefficient.mutate': { - label: 'gds.localClusteringCoefficient.mutate', - documentation: - 'The local clustering coefficient is a metric quantifying how connected the neighborhood of a node is.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.localClusteringCoefficient.mutate.estimate': { - label: 'gds.localClusteringCoefficient.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.localClusteringCoefficient.stats': { - label: 'gds.localClusteringCoefficient.stats', - documentation: - 'Executes the algorithm and returns result statistics without writing the result to Neo4j.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.localClusteringCoefficient.stats.estimate': { - label: 'gds.localClusteringCoefficient.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.localClusteringCoefficient.stream': { - label: 'gds.localClusteringCoefficient.stream', - documentation: - 'The local clustering coefficient is a metric quantifying how connected the neighborhood of a node is.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.localClusteringCoefficient.stream.estimate': { - label: 'gds.localClusteringCoefficient.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.localClusteringCoefficient.write': { - label: 'gds.localClusteringCoefficient.write', - documentation: - 'The local clustering coefficient is a metric quantifying how connected the neighborhood of a node is.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.localClusteringCoefficient.write.estimate': { - label: 'gds.localClusteringCoefficient.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.louvain.mutate': { - label: 'gds.louvain.mutate', - documentation: - 'The Louvain method for community detection is an algorithm for detecting communities in networks.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.louvain.mutate.estimate': { - label: 'gds.louvain.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.louvain.stats': { - label: 'gds.louvain.stats', - documentation: - 'Executes the algorithm and returns result statistics without writing the result to Neo4j.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.louvain.stats.estimate': { - label: 'gds.louvain.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.louvain.stream': { - label: 'gds.louvain.stream', - documentation: - 'The Louvain method for community detection is an algorithm for detecting communities in networks.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.louvain.stream.estimate': { - label: 'gds.louvain.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.louvain.write': { - label: 'gds.louvain.write', - documentation: - 'The Louvain method for community detection is an algorithm for detecting communities in networks.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.louvain.write.estimate': { - label: 'gds.louvain.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.maxkcut.mutate': { - label: 'gds.maxkcut.mutate', - documentation: - 'Approximate Maximum k-cut maps each node into one of k disjoint communities trying to maximize the sum of weights of relationships between these communities.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.maxkcut.mutate.estimate': { - label: 'gds.maxkcut.mutate.estimate', - documentation: - 'Approximate Maximum k-cut maps each node into one of k disjoint communities trying to maximize the sum of weights of relationships between these communities.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.maxkcut.stream': { - label: 'gds.maxkcut.stream', - documentation: - 'Approximate Maximum k-cut maps each node into one of k disjoint communities trying to maximize the sum of weights of relationships between these communities.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.maxkcut.stream.estimate': { - label: 'gds.maxkcut.stream.estimate', - documentation: - 'Approximate Maximum k-cut maps each node into one of k disjoint communities trying to maximize the sum of weights of relationships between these communities.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.model.delete': { - label: 'gds.model.delete', - documentation: 'Deletes a stored model from disk.', - parameters: [ - { - label: 'modelName', - documentation: 'modelName :: STRING?', - }, - ], - }, - 'gds.model.drop': { - label: 'gds.model.drop', - documentation: - 'Drops a loaded model and frees up the resources it occupies.', - parameters: [ - { - label: 'modelName', - documentation: 'modelName :: STRING?', - }, - { - label: 'failIfMissing', - documentation: 'failIfMissing = true :: BOOLEAN?', - }, - ], - }, - 'gds.model.exists': { - label: 'gds.model.exists', - documentation: 'Checks if a given model exists in the model catalog.', - parameters: [ - { - label: 'modelName', - documentation: 'modelName :: STRING?', - }, - ], - }, - 'gds.model.list': { - label: 'gds.model.list', - documentation: 'Lists all models contained in the model catalog.', - parameters: [ - { - label: 'modelName', - documentation: 'modelName = __NO_VALUE :: STRING?', - }, - ], - }, - 'gds.model.load': { - label: 'gds.model.load', - documentation: 'Load a stored model into main memory.', - parameters: [ - { - label: 'modelName', - documentation: 'modelName :: STRING?', - }, - ], - }, - 'gds.model.publish': { - label: 'gds.model.publish', - documentation: 'Make a trained model accessible by all users', - parameters: [ - { - label: 'modelName', - documentation: 'modelName :: STRING?', - }, - ], - }, - 'gds.model.store': { - label: 'gds.model.store', - documentation: 'Store the selected model to disk.', - parameters: [ - { - label: 'modelName', - documentation: 'modelName :: STRING?', - }, - { - label: 'failIfUnsupported', - documentation: 'failIfUnsupported = true :: BOOLEAN?', - }, - ], - }, - 'gds.modularity.stats': { - label: 'gds.modularity.stats', - documentation: - 'The Modularity procedure computes the modularity scores for a given set of communities/', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.modularity.stats.estimate': { - label: 'gds.modularity.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.modularity.stream': { - label: 'gds.modularity.stream', - documentation: - 'The Modularity procedure computes the modularity scores for a given set of communities/', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.modularity.stream.estimate': { - label: 'gds.modularity.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.modularityOptimization.mutate': { - label: 'gds.modularityOptimization.mutate', - documentation: - 'The Modularity Optimization algorithm groups the nodes in the graph by optimizing the graphs modularity.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.modularityOptimization.mutate.estimate': { - label: 'gds.modularityOptimization.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.modularityOptimization.stats': { - label: 'gds.modularityOptimization.stats', - documentation: - 'The Modularity Optimization algorithm groups the nodes in the graph by optimizing the graphs modularity.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.modularityOptimization.stats.estimate': { - label: 'gds.modularityOptimization.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.modularityOptimization.stream': { - label: 'gds.modularityOptimization.stream', - documentation: - 'The Modularity Optimization algorithm groups the nodes in the graph by optimizing the graphs modularity.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.modularityOptimization.stream.estimate': { - label: 'gds.modularityOptimization.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.modularityOptimization.write': { - label: 'gds.modularityOptimization.write', - documentation: - 'The Modularity Optimization algorithm groups the nodes in the graph by optimizing the graphs modularity.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.modularityOptimization.write.estimate': { - label: 'gds.modularityOptimization.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.node2vec.mutate': { - label: 'gds.node2vec.mutate', - documentation: - 'The Node2Vec algorithm computes embeddings for nodes based on random walks.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.node2vec.mutate.estimate': { - label: 'gds.node2vec.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.node2vec.stream': { - label: 'gds.node2vec.stream', - documentation: - 'The Node2Vec algorithm computes embeddings for nodes based on random walks.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.node2vec.stream.estimate': { - label: 'gds.node2vec.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.node2vec.write': { - label: 'gds.node2vec.write', - documentation: - 'The Node2Vec algorithm computes embeddings for nodes based on random walks.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.node2vec.write.estimate': { - label: 'gds.node2vec.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.filtered.mutate': { - label: 'gds.nodeSimilarity.filtered.mutate', - documentation: - 'The Filtered Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. The algorithm computes pair-wise similarities based on Jaccard or Overlap metrics. The filtered variant supports limiting which nodes to compare via source and target node filters.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.filtered.mutate.estimate': { - label: 'gds.nodeSimilarity.filtered.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.filtered.stats': { - label: 'gds.nodeSimilarity.filtered.stats', - documentation: - 'The Filtered Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. The algorithm computes pair-wise similarities based on Jaccard or Overlap metrics. The filtered variant supports limiting which nodes to compare via source and target node filters.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.filtered.stats.estimate': { - label: 'gds.nodeSimilarity.filtered.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.filtered.stream': { - label: 'gds.nodeSimilarity.filtered.stream', - documentation: - 'The Filtered Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. The algorithm computes pair-wise similarities based on Jaccard or Overlap metrics. The filtered variant supports limiting which nodes to compare via source and target node filters.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.filtered.stream.estimate': { - label: 'gds.nodeSimilarity.filtered.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.filtered.write': { - label: 'gds.nodeSimilarity.filtered.write', - documentation: - 'The Filtered Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. The algorithm computes pair-wise similarities based on Jaccard or Overlap metrics. The filtered variant supports limiting which nodes to compare via source and target node filters.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.filtered.write.estimate': { - label: 'gds.nodeSimilarity.filtered.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.mutate': { - label: 'gds.nodeSimilarity.mutate', - documentation: - 'The Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. Node Similarity computes pair-wise similarities based on the Jaccard metric.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.mutate.estimate': { - label: 'gds.nodeSimilarity.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.stats': { - label: 'gds.nodeSimilarity.stats', - documentation: - 'The Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. Node Similarity computes pair-wise similarities based on the Jaccard metric.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.stats.estimate': { - label: 'gds.nodeSimilarity.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.stream': { - label: 'gds.nodeSimilarity.stream', - documentation: - 'The Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. Node Similarity computes pair-wise similarities based on the Jaccard metric.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.stream.estimate': { - label: 'gds.nodeSimilarity.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.write': { - label: 'gds.nodeSimilarity.write', - documentation: - 'The Node Similarity algorithm compares a set of nodes based on the nodes they are connected to. Two nodes are considered similar if they share many of the same neighbors. Node Similarity computes pair-wise similarities based on the Jaccard metric.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.nodeSimilarity.write.estimate': { - label: 'gds.nodeSimilarity.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.pageRank.mutate': { - label: 'gds.pageRank.mutate', - documentation: - 'Page Rank is an algorithm that measures the transitive influence or connectivity of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.pageRank.mutate.estimate': { - label: 'gds.pageRank.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.pageRank.stats': { - label: 'gds.pageRank.stats', - documentation: - 'Executes the algorithm and returns result statistics without writing the result to Neo4j.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.pageRank.stats.estimate': { - label: 'gds.pageRank.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.pageRank.stream': { - label: 'gds.pageRank.stream', - documentation: - 'Page Rank is an algorithm that measures the transitive influence or connectivity of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.pageRank.stream.estimate': { - label: 'gds.pageRank.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.pageRank.write': { - label: 'gds.pageRank.write', - documentation: - 'Page Rank is an algorithm that measures the transitive influence or connectivity of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.pageRank.write.estimate': { - label: 'gds.pageRank.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.pipeline.drop': { - label: 'gds.pipeline.drop', - documentation: 'Drops a pipeline and frees up the resources it occupies.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - { - label: 'failIfMissing', - documentation: 'failIfMissing = true :: BOOLEAN?', - }, - ], - }, - 'gds.pipeline.exists': { - label: 'gds.pipeline.exists', - documentation: - 'Checks if a given pipeline exists in the pipeline catalog.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName :: STRING?', - }, - ], - }, - 'gds.pipeline.list': { - label: 'gds.pipeline.list', - documentation: 'Lists all pipelines contained in the pipeline catalog.', - parameters: [ - { - label: 'pipelineName', - documentation: 'pipelineName = __NO_VALUE :: STRING?', - }, - ], - }, - 'gds.randomWalk.stats': { - label: 'gds.randomWalk.stats', - documentation: - 'Random Walk is an algorithm that provides random paths in a graph. It’s similar to how a drunk person traverses a city.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.randomWalk.stats.estimate': { - label: 'gds.randomWalk.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.randomWalk.stream': { - label: 'gds.randomWalk.stream', - documentation: - 'Random Walk is an algorithm that provides random paths in a graph. It’s similar to how a drunk person traverses a city.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.randomWalk.stream.estimate': { - label: 'gds.randomWalk.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.restore': { - label: 'gds.restore', - documentation: 'The restore procedure reads graphs and models from disk.', - parameters: [ - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.scaleProperties.mutate': { - label: 'gds.scaleProperties.mutate', - documentation: 'Scale node properties', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.scaleProperties.mutate.estimate': { - label: 'gds.scaleProperties.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.scaleProperties.stats': { - label: 'gds.scaleProperties.stats', - documentation: 'Scale node properties', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.scaleProperties.stats.estimate': { - label: 'gds.scaleProperties.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.scaleProperties.stream': { - label: 'gds.scaleProperties.stream', - documentation: 'Scale node properties', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.scaleProperties.stream.estimate': { - label: 'gds.scaleProperties.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.scaleProperties.write': { - label: 'gds.scaleProperties.write', - documentation: 'Scale node properties', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.scaleProperties.write.estimate': { - label: 'gds.scaleProperties.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.scc.mutate': { - label: 'gds.scc.mutate', - documentation: - 'The SCC algorithm finds sets of connected nodes in an directed graph, where all nodes in the same set form a connected component.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.scc.mutate.estimate': { - label: 'gds.scc.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.scc.stats': { - label: 'gds.scc.stats', - documentation: - 'The SCC algorithm finds sets of connected nodes in an directed graph, where all nodes in the same set form a connected component.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.scc.stats.estimate': { - label: 'gds.scc.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.scc.stream': { - label: 'gds.scc.stream', - documentation: - 'The SCC algorithm finds sets of connected nodes in an directed graph, where all nodes in the same set form a connected component.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.scc.stream.estimate': { - label: 'gds.scc.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.scc.write': { - label: 'gds.scc.write', - documentation: - 'The SCC algorithm finds sets of connected nodes in an directed graph, where all nodes in the same set form a connected component.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.scc.write.estimate': { - label: 'gds.scc.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.shortestPath.astar.mutate': { - label: 'gds.shortestPath.astar.mutate', - documentation: - 'The A* shortest path algorithm computes the shortest path between a pair of nodes. It uses the relationship weight property to compare path lengths. In addition, this implementation uses the haversine distance as a heuristic to converge faster.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.shortestPath.astar.mutate.estimate': { - label: 'gds.shortestPath.astar.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.shortestPath.astar.stream': { - label: 'gds.shortestPath.astar.stream', - documentation: - 'The A* shortest path algorithm computes the shortest path between a pair of nodes. It uses the relationship weight property to compare path lengths. In addition, this implementation uses the haversine distance as a heuristic to converge faster.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.shortestPath.astar.stream.estimate': { - label: 'gds.shortestPath.astar.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.shortestPath.astar.write': { - label: 'gds.shortestPath.astar.write', - documentation: - 'The A* shortest path algorithm computes the shortest path between a pair of nodes. It uses the relationship weight property to compare path lengths. In addition, this implementation uses the haversine distance as a heuristic to converge faster.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.shortestPath.astar.write.estimate': { - label: 'gds.shortestPath.astar.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.shortestPath.dijkstra.mutate': { - label: 'gds.shortestPath.dijkstra.mutate', - documentation: - 'The Dijkstra shortest path algorithm computes the shortest (weighted) path between a pair of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.shortestPath.dijkstra.mutate.estimate': { - label: 'gds.shortestPath.dijkstra.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.shortestPath.dijkstra.stream': { - label: 'gds.shortestPath.dijkstra.stream', - documentation: - 'The Dijkstra shortest path algorithm computes the shortest (weighted) path between a pair of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.shortestPath.dijkstra.stream.estimate': { - label: 'gds.shortestPath.dijkstra.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.shortestPath.dijkstra.write': { - label: 'gds.shortestPath.dijkstra.write', - documentation: - 'The Dijkstra shortest path algorithm computes the shortest (weighted) path between a pair of nodes.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.shortestPath.dijkstra.write.estimate': { - label: 'gds.shortestPath.dijkstra.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.shortestPath.yens.mutate': { - label: 'gds.shortestPath.yens.mutate', - documentation: - "The Yen's shortest path algorithm computes the k shortest (weighted) paths between a pair of nodes.", - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.shortestPath.yens.mutate.estimate': { - label: 'gds.shortestPath.yens.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.shortestPath.yens.stream': { - label: 'gds.shortestPath.yens.stream', - documentation: - "The Yen's shortest path algorithm computes the k shortest (weighted) paths between a pair of nodes.", - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.shortestPath.yens.stream.estimate': { - label: 'gds.shortestPath.yens.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.shortestPath.yens.write': { - label: 'gds.shortestPath.yens.write', - documentation: - "The Yen's shortest path algorithm computes the k shortest (weighted) paths between a pair of nodes.", - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.shortestPath.yens.write.estimate': { - label: 'gds.shortestPath.yens.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration :: MAP?', - }, - ], - }, - 'gds.sllpa.mutate': { - label: 'gds.sllpa.mutate', - documentation: - 'The Speaker Listener Label Propagation algorithm is a fast algorithm for finding overlapping communities in a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.sllpa.mutate.estimate': { - label: 'gds.sllpa.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.sllpa.stats': { - label: 'gds.sllpa.stats', - documentation: - 'The Speaker Listener Label Propagation algorithm is a fast algorithm for finding overlapping communities in a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.sllpa.stats.estimate': { - label: 'gds.sllpa.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.sllpa.stream': { - label: 'gds.sllpa.stream', - documentation: - 'The Speaker Listener Label Propagation algorithm is a fast algorithm for finding overlapping communities in a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.sllpa.stream.estimate': { - label: 'gds.sllpa.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.sllpa.write': { - label: 'gds.sllpa.write', - documentation: - 'The Speaker Listener Label Propagation algorithm is a fast algorithm for finding overlapping communities in a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.sllpa.write.estimate': { - label: 'gds.sllpa.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.spanningTree.mutate': { - label: 'gds.spanningTree.mutate', - documentation: - 'The spanning tree algorithm visits all nodes that are in the same connected component as the starting node, and returns a spanning tree of all nodes in the component where the total weight of the relationships is either minimized or maximized.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.spanningTree.mutate.estimate': { - label: 'gds.spanningTree.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.spanningTree.stats': { - label: 'gds.spanningTree.stats', - documentation: - 'The spanning tree algorithm visits all nodes that are in the same connected component as the starting node, and returns a spanning tree of all nodes in the component where the total weight of the relationships is either minimized or maximized.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.spanningTree.stats.estimate': { - label: 'gds.spanningTree.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.spanningTree.stream': { - label: 'gds.spanningTree.stream', - documentation: - 'The spanning tree algorithm visits all nodes that are in the same connected component as the starting node, and returns a spanning tree of all nodes in the component where the total weight of the relationships is either minimized or maximized.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.spanningTree.stream.estimate': { - label: 'gds.spanningTree.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.spanningTree.write': { - label: 'gds.spanningTree.write', - documentation: - 'The spanning tree algorithm visits all nodes that are in the same connected component as the starting node, and returns a spanning tree of all nodes in the component where the total weight of the relationships is either minimized or maximized.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.spanningTree.write.estimate': { - label: 'gds.spanningTree.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.steinerTree.mutate': { - label: 'gds.steinerTree.mutate', - documentation: - 'The steiner tree algorithm accepts a source node, as well as a list of target nodes. It then attempts to find a spanning tree where there is a path from the source node to each target node, such that the total weight of the relationships is as low as possible.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.steinerTree.mutate.estimate': { - label: 'gds.steinerTree.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.steinerTree.stats': { - label: 'gds.steinerTree.stats', - documentation: - 'The steiner tree algorithm accepts a source node, as well as a list of target nodes. It then attempts to find a spanning tree where there is a path from the source node to each target node, such that the total weight of the relationships is as low as possible.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.steinerTree.stats.estimate': { - label: 'gds.steinerTree.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.steinerTree.stream': { - label: 'gds.steinerTree.stream', - documentation: - 'The steiner tree algorithm accepts a source node, as well as a list of target nodes. It then attempts to find a spanning tree where there is a path from the source node to each target node, such that the total weight of the relationships is as low as possible.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.steinerTree.stream.estimate': { - label: 'gds.steinerTree.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.steinerTree.write': { - label: 'gds.steinerTree.write', - documentation: - 'The steiner tree algorithm accepts a source node, as well as a list of target nodes. It then attempts to find a spanning tree where there is a path from the source node to each target node, such that the total weight of the relationships is as low as possible.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.steinerTree.write.estimate': { - label: 'gds.steinerTree.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: ANY?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.systemMonitor': { - label: 'gds.systemMonitor', - documentation: - "Get an overview of the system's workload and available resources", - parameters: [], - }, - 'gds.triangleCount.mutate': { - label: 'gds.triangleCount.mutate', - documentation: - 'Triangle counting is a community detection graph algorithm that is used to determine the number of triangles passing through each node in the graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.triangleCount.mutate.estimate': { - label: 'gds.triangleCount.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.triangleCount.stats': { - label: 'gds.triangleCount.stats', - documentation: - 'Triangle counting is a community detection graph algorithm that is used to determine the number of triangles passing through each node in the graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.triangleCount.stats.estimate': { - label: 'gds.triangleCount.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.triangleCount.stream': { - label: 'gds.triangleCount.stream', - documentation: - 'Triangle counting is a community detection graph algorithm that is used to determine the number of triangles passing through each node in the graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.triangleCount.stream.estimate': { - label: 'gds.triangleCount.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.triangleCount.write': { - label: 'gds.triangleCount.write', - documentation: - 'Triangle counting is a community detection graph algorithm that is used to determine the number of triangles passing through each node in the graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.triangleCount.write.estimate': { - label: 'gds.triangleCount.write.estimate', - documentation: - 'Triangle counting is a community detection graph algorithm that is used to determine the number of triangles passing through each node in the graph.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.triangles': { - label: 'gds.triangles', - documentation: - 'Triangles streams the nodeIds of each triangle in the graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.userLog': { - label: 'gds.userLog', - documentation: 'Log warnings and hints for currently running tasks.', - parameters: [ - { - label: 'jobId', - documentation: 'jobId = :: STRING?', - }, - ], - }, - 'gds.version': { - label: 'gds.version', - documentation: - 'CALL gds.version() | Return the installed graph data science library version.', - parameters: [], - }, - 'gds.wcc.mutate': { - label: 'gds.wcc.mutate', - documentation: - 'The WCC algorithm finds sets of connected nodes in an undirected graph, where all nodes in the same set form a connected component.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.wcc.mutate.estimate': { - label: 'gds.wcc.mutate.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.wcc.stats': { - label: 'gds.wcc.stats', - documentation: - 'The WCC algorithm finds sets of connected nodes in an undirected graph, where all nodes in the same set form a connected component.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.wcc.stats.estimate': { - label: 'gds.wcc.stats.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.wcc.stream': { - label: 'gds.wcc.stream', - documentation: - 'The WCC algorithm finds sets of connected nodes in an undirected graph, where all nodes in the same set form a connected component.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.wcc.stream.estimate': { - label: 'gds.wcc.stream.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, - 'gds.wcc.write': { - label: 'gds.wcc.write', - documentation: - 'The WCC algorithm finds sets of connected nodes in an undirected graph, where all nodes in the same set form a connected component.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING?', - }, - { - label: 'configuration', - documentation: 'configuration = {} :: MAP?', - }, - ], - }, - 'gds.wcc.write.estimate': { - label: 'gds.wcc.write.estimate', - documentation: - 'Returns an estimation of the memory consumption for that procedure.', - parameters: [ - { - label: 'graphNameOrConfiguration', - documentation: 'graphNameOrConfiguration :: ANY?', - }, - { - label: 'algoConfiguration', - documentation: 'algoConfiguration :: MAP?', - }, - ], - }, 'tx.getMetaData': { label: 'tx.getMetaData', documentation: 'Provides attached transaction metadata.', @@ -15210,7 +8878,7 @@ export const dummyDbSchema = { parameters: [ { label: 'data', - documentation: 'data :: MAP?', + documentation: 'data :: MAP', }, ], }, diff --git a/packages/react-codemirror/src/e2e_tests/mock-data.ts b/packages/react-codemirror/src/e2e_tests/mock-data.ts index 32524e285..ba42f3df3 100644 --- a/packages/react-codemirror/src/e2e_tests/mock-data.ts +++ b/packages/react-codemirror/src/e2e_tests/mock-data.ts @@ -2,3764 +2,8885 @@ export const mockSchema = { functionSignatures: { abs: { label: 'abs', + documentation: 'Returns the absolute value of an `INTEGER` or `FLOAT`.', + parameters: [ + { + label: 'input', + documentation: 'input :: INTEGER | FLOAT', + }, + ], }, acos: { label: 'acos', + documentation: 'Returns the arccosine of a `FLOAT` in radians.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, all: { label: 'all', + documentation: + 'Returns true if the predicate holds for all elements in the given `LIST`.', + parameters: [ + { + label: 'variable', + documentation: 'variable :: ANY', + }, + { + label: 'list', + documentation: 'list :: LIST', + }, + ], }, any: { label: 'any', + documentation: + 'Returns true if the predicate holds for at least one element in the given `LIST`.', + parameters: [ + { + label: 'variable', + documentation: 'variable :: ANY', + }, + { + label: 'list', + documentation: 'list :: LIST', + }, + ], }, 'apoc.agg.first': { label: 'apoc.agg.first', + documentation: 'Returns the first value from the given collection.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.agg.graph': { label: 'apoc.agg.graph', + documentation: + 'Returns all distinct `NODE` and `RELATIONSHIP` values collected into a `MAP` with the keys `nodes` and `relationships`.', + parameters: [ + { + label: 'path', + documentation: 'path :: ANY', + }, + ], }, 'apoc.agg.last': { label: 'apoc.agg.last', + documentation: 'Returns the last value from the given collection.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.agg.maxItems': { label: 'apoc.agg.maxItems', + documentation: + 'Returns a `MAP` `{items: LIST, value: ANY}` where the `value` key is the maximum value present, and `items` represent all items with the same value. The size of the list of items can be limited to a given max size.', + parameters: [ + { + label: 'items', + documentation: 'items :: ANY', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + { + label: 'groupLimit', + documentation: 'groupLimit = -1 :: INTEGER', + }, + ], }, 'apoc.agg.median': { label: 'apoc.agg.median', + documentation: + 'Returns the mathematical median for all non-null `INTEGER` and `FLOAT` values.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.agg.minItems': { label: 'apoc.agg.minItems', + documentation: + 'Returns a `MAP` `{items: LIST, value: ANY}` where the `value` key is the minimum value present, and `items` represent all items with the same value. The size of the list of items can be limited to a given max size.', + parameters: [ + { + label: 'items', + documentation: 'items :: ANY', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + { + label: 'groupLimit', + documentation: 'groupLimit = -1 :: INTEGER', + }, + ], }, 'apoc.agg.nth': { label: 'apoc.agg.nth', + documentation: + 'Returns the nth value in the given collection (to fetch the last item of an unknown length collection, -1 can be used).', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY', + }, + { + label: 'offset', + documentation: 'offset :: INTEGER', + }, + ], }, 'apoc.agg.percentiles': { label: 'apoc.agg.percentiles', + documentation: + 'Returns the given percentiles over the range of numerical values in the given collection.', + parameters: [ + { + label: 'value', + documentation: 'value :: INTEGER | FLOAT', + }, + { + label: 'percentiles', + documentation: + 'percentiles = [0.5, 0.75, 0.9, 0.95, 0.99] :: LIST', + }, + ], }, 'apoc.agg.product': { label: 'apoc.agg.product', + documentation: + 'Returns the product of all non-null `INTEGER` and `FLOAT` values in the collection.', + parameters: [ + { + label: 'value', + documentation: 'value :: INTEGER | FLOAT', + }, + ], }, 'apoc.agg.slice': { label: 'apoc.agg.slice', + documentation: + 'Returns a subset of non-null values from the given collection (the collection is considered to be zero-indexed).\nTo specify the range from start until the end of the collection, the length should be set to -1.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY', + }, + { + label: 'from', + documentation: 'from = 0 :: INTEGER', + }, + { + label: 'to', + documentation: 'to = -1 :: INTEGER', + }, + ], }, 'apoc.agg.statistics': { label: 'apoc.agg.statistics', + documentation: + 'Returns the following statistics on the `INTEGER` and `FLOAT` values in the given collection: percentiles, min, minNonZero, max, total, mean, stdev.', + parameters: [ + { + label: 'value', + documentation: 'value :: INTEGER | FLOAT', + }, + { + label: 'percentiles', + documentation: + 'percentiles = [0.5, 0.75, 0.9, 0.95, 0.99] :: LIST', + }, + ], }, 'apoc.any.isDeleted': { label: 'apoc.any.isDeleted', + documentation: + 'Returns true if the given `NODE` or `RELATIONSHIP` no longer exists.', + parameters: [ + { + label: 'object', + documentation: 'object :: ANY', + }, + ], }, 'apoc.any.properties': { label: 'apoc.any.properties', + documentation: + 'Returns all properties of the given object.\nThe object can be a virtual `NODE`, a real `NODE`, a virtual `RELATIONSHIP`, a real `RELATIONSHIP`, or a `MAP`.', + parameters: [ + { + label: 'object', + documentation: 'object :: ANY', + }, + { + label: 'keys', + documentation: 'keys = null :: LIST', + }, + ], }, 'apoc.any.property': { label: 'apoc.any.property', - }, - 'apoc.any.rebind': { - label: 'apoc.any.rebind', + documentation: + 'Returns the property for the given key from an object.\nThe object can be a virtual `NODE`, a real `NODE`, a virtual `RELATIONSHIP`, a real `RELATIONSHIP`, or a `MAP`.', + parameters: [ + { + label: 'object', + documentation: 'object :: ANY', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + ], }, 'apoc.bitwise.op': { label: 'apoc.bitwise.op', + documentation: 'Returns the result of the bitwise operation', + parameters: [ + { + label: 'a', + documentation: 'a :: INTEGER', + }, + { + label: 'operator', + documentation: 'operator :: STRING', + }, + { + label: 'b', + documentation: 'b :: INTEGER', + }, + ], }, 'apoc.coll.avg': { label: 'apoc.coll.avg', - }, - 'apoc.coll.avgDuration': { - label: 'apoc.coll.avgDuration', + documentation: + 'Returns the average of the numbers in the `LIST`.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + ], }, 'apoc.coll.combinations': { label: 'apoc.coll.combinations', + documentation: + 'Returns a collection of all combinations of `LIST` elements between the selection size `minSelect` and `maxSelect` (default: `minSelect`).', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'minSelect', + documentation: 'minSelect :: INTEGER', + }, + { + label: 'maxSelect', + documentation: 'maxSelect = -1 :: INTEGER', + }, + ], }, 'apoc.coll.contains': { label: 'apoc.coll.contains', + documentation: + 'Returns whether or not the given value exists in the given collection (using a HashSet).', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.coll.containsAll': { label: 'apoc.coll.containsAll', + documentation: + 'Returns whether or not all of the given values exist in the given collection (using a HashSet).', + parameters: [ + { + label: 'coll1', + documentation: 'coll1 :: LIST', + }, + { + label: 'coll2', + documentation: 'coll2 :: LIST', + }, + ], }, 'apoc.coll.containsAllSorted': { label: 'apoc.coll.containsAllSorted', + documentation: + 'Returns whether or not all of the given values in the second `LIST` exist in an already sorted collection (using a binary search).', + parameters: [ + { + label: 'coll1', + documentation: 'coll1 :: LIST', + }, + { + label: 'coll2', + documentation: 'coll2 :: LIST', + }, + ], }, 'apoc.coll.containsDuplicates': { label: 'apoc.coll.containsDuplicates', + documentation: + 'Returns true if a collection contains duplicate elements.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + ], }, 'apoc.coll.containsSorted': { label: 'apoc.coll.containsSorted', + documentation: + 'Returns whether or not the given value exists in an already sorted collection (using a binary search).', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.coll.different': { label: 'apoc.coll.different', + documentation: + 'Returns true if all the values in the given `LIST` are unique.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + ], }, 'apoc.coll.disjunction': { label: 'apoc.coll.disjunction', + documentation: 'Returns the disjunct set from two `LIST` values.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST', + }, + { + label: 'list2', + documentation: 'list2 :: LIST', + }, + ], }, 'apoc.coll.dropDuplicateNeighbors': { label: 'apoc.coll.dropDuplicateNeighbors', + documentation: + 'Removes duplicate consecutive objects in the `LIST`.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST', + }, + ], }, 'apoc.coll.duplicates': { label: 'apoc.coll.duplicates', + documentation: + 'Returns a `LIST` of duplicate items in the collection.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + ], }, 'apoc.coll.duplicatesWithCount': { label: 'apoc.coll.duplicatesWithCount', + documentation: + 'Returns a `LIST` of duplicate items in the collection and their count, keyed by `item` and `count`.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + ], }, 'apoc.coll.fill': { label: 'apoc.coll.fill', + documentation: 'Returns a `LIST` with the given count of items.', + parameters: [ + { + label: 'items', + documentation: 'items :: STRING', + }, + { + label: 'count', + documentation: 'count :: INTEGER', + }, + ], }, 'apoc.coll.flatten': { label: 'apoc.coll.flatten', + documentation: + 'Flattens the given `LIST` (to flatten nested `LIST` values, set recursive to true).', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'recursive', + documentation: 'recursive = false :: BOOLEAN', + }, + ], }, 'apoc.coll.frequencies': { label: 'apoc.coll.frequencies', + documentation: + 'Returns a `LIST` of frequencies of the items in the collection, keyed by `item` and `count`.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + ], }, 'apoc.coll.frequenciesAsMap': { label: 'apoc.coll.frequenciesAsMap', + documentation: + 'Returns a `MAP` of frequencies of the items in the collection, keyed by `item` and `count`.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + ], }, 'apoc.coll.indexOf': { label: 'apoc.coll.indexOf', + documentation: + 'Returns the index for the first occurrence of the specified value in the `LIST`.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.coll.insert': { label: 'apoc.coll.insert', + documentation: + 'Inserts a value into the specified index in the `LIST`.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'index', + documentation: 'index :: INTEGER', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.coll.insertAll': { label: 'apoc.coll.insertAll', + documentation: + 'Inserts all of the values into the `LIST`, starting at the specified index.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'index', + documentation: 'index :: INTEGER', + }, + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.coll.intersection': { label: 'apoc.coll.intersection', + documentation: + 'Returns the distinct intersection of two `LIST` values.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST', + }, + { + label: 'list2', + documentation: 'list2 :: LIST', + }, + ], }, 'apoc.coll.isEqualCollection': { label: 'apoc.coll.isEqualCollection', + documentation: + 'Returns true if the two collections contain the same elements with the same cardinality in any order (using a HashMap).', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.coll.max': { label: 'apoc.coll.max', + documentation: + 'Returns the maximum of all values in the given `LIST`.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.coll.min': { label: 'apoc.coll.min', + documentation: + 'Returns the minimum of all values in the given `LIST`.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.coll.occurrences': { label: 'apoc.coll.occurrences', + documentation: 'Returns the count of the given item in the collection.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'item', + documentation: 'item :: ANY', + }, + ], }, 'apoc.coll.pairWithOffset': { label: 'apoc.coll.pairWithOffset', + documentation: 'Returns a `LIST` of pairs defined by the offset.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'offset', + documentation: 'offset :: INTEGER', + }, + ], }, 'apoc.coll.pairs': { label: 'apoc.coll.pairs', + documentation: + 'Returns a `LIST` of adjacent elements in the `LIST` ([1,2],[2,3],[3,null]).', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST', + }, + ], }, 'apoc.coll.pairsMin': { label: 'apoc.coll.pairsMin', + documentation: + 'Returns `LIST` values of adjacent elements in the `LIST` ([1,2],[2,3]), skipping the final element.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST', + }, + ], }, 'apoc.coll.partition': { label: 'apoc.coll.partition', + documentation: + 'Partitions the original `LIST` into a new `LIST` of the given batch size.\nThe final `LIST` may be smaller than the given batch size.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'batchSize', + documentation: 'batchSize :: INTEGER', + }, + ], }, 'apoc.coll.randomItem': { label: 'apoc.coll.randomItem', + documentation: + 'Returns a random item from the `LIST`, or null on `LIST` or `LIST`.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + ], }, 'apoc.coll.randomItems': { label: 'apoc.coll.randomItems', + documentation: + 'Returns a `LIST` of `itemCount` random items from the original `LIST` (optionally allowing elements in the original `LIST` to be selected more than once).', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'itemCount', + documentation: 'itemCount :: INTEGER', + }, + { + label: 'allowRepick', + documentation: 'allowRepick = false :: BOOLEAN', + }, + ], }, 'apoc.coll.remove': { label: 'apoc.coll.remove', + documentation: + 'Removes a range of values from the `LIST`, beginning at position index for the given length of values.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'index', + documentation: 'index :: INTEGER', + }, + { + label: 'length', + documentation: 'length = 1 :: INTEGER', + }, + ], }, 'apoc.coll.removeAll': { label: 'apoc.coll.removeAll', - }, - 'apoc.coll.reverse': { - label: 'apoc.coll.reverse', + documentation: + 'Returns the first `LIST` with all elements also present in the second `LIST` removed.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST', + }, + { + label: 'list2', + documentation: 'list2 :: LIST', + }, + ], }, 'apoc.coll.runningTotal': { label: 'apoc.coll.runningTotal', + documentation: 'Returns an accumulative `LIST`.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST', + }, + ], }, 'apoc.coll.set': { label: 'apoc.coll.set', + documentation: 'Sets the element at the given index to the new value.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'index', + documentation: 'index :: INTEGER', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.coll.shuffle': { label: 'apoc.coll.shuffle', + documentation: 'Returns the `LIST` shuffled.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + ], }, 'apoc.coll.sort': { label: 'apoc.coll.sort', + documentation: 'Sorts the given `LIST` into ascending order.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + ], }, 'apoc.coll.sortMaps': { label: 'apoc.coll.sortMaps', + documentation: + 'Sorts the given `LIST>` into descending order, based on the `MAP` property indicated by `prop`.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST', + }, + { + label: 'prop', + documentation: 'prop :: STRING', + }, + ], }, 'apoc.coll.sortMulti': { label: 'apoc.coll.sortMulti', + documentation: + 'Sorts the given `LIST>` by the given fields.\nTo indicate that a field should be sorted according to ascending values, prefix it with a caret (^).\nIt is also possible to add limits to the `LIST>` and to skip values.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'orderFields', + documentation: 'orderFields = [] :: LIST', + }, + { + label: 'limit', + documentation: 'limit = -1 :: INTEGER', + }, + { + label: 'skip', + documentation: 'skip = 0 :: INTEGER', + }, + ], }, 'apoc.coll.sortNodes': { label: 'apoc.coll.sortNodes', + documentation: + 'Sorts the given `LIST` by the property of the nodes into descending order.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'prop', + documentation: 'prop :: STRING', + }, + ], }, 'apoc.coll.sortText': { label: 'apoc.coll.sortText', + documentation: 'Sorts the given `LIST` into ascending order.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'conf', + documentation: 'conf = {} :: MAP', + }, + ], }, 'apoc.coll.stdev': { label: 'apoc.coll.stdev', + documentation: + 'Returns sample or population standard deviation with `isBiasCorrected` true or false respectively.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST', + }, + { + label: 'isBiasCorrected', + documentation: 'isBiasCorrected = true :: BOOLEAN', + }, + ], }, 'apoc.coll.subtract': { label: 'apoc.coll.subtract', + documentation: + 'Returns the first `LIST` as a set with all the elements of the second `LIST` removed.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST', + }, + { + label: 'list2', + documentation: 'list2 :: LIST', + }, + ], }, 'apoc.coll.sum': { label: 'apoc.coll.sum', + documentation: + 'Returns the sum of all the `INTEGER | FLOAT` in the `LIST`.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + ], }, 'apoc.coll.sumLongs': { label: 'apoc.coll.sumLongs', + documentation: + 'Returns the sum of all the `INTEGER | FLOAT` in the `LIST`.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + ], }, 'apoc.coll.toSet': { label: 'apoc.coll.toSet', + documentation: 'Returns a unique `LIST` from the given `LIST`.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + ], }, 'apoc.coll.union': { label: 'apoc.coll.union', + documentation: + 'Returns the distinct union of the two given `LIST` values.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST', + }, + { + label: 'list2', + documentation: 'list2 :: LIST', + }, + ], }, 'apoc.coll.unionAll': { label: 'apoc.coll.unionAll', + documentation: + 'Returns the full union of the two given `LIST` values (duplicates included).', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST', + }, + { + label: 'list2', + documentation: 'list2 :: LIST', + }, + ], }, 'apoc.coll.zip': { label: 'apoc.coll.zip', + documentation: + 'Returns the two given `LIST` values zipped together as a `LIST>`.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST', + }, + { + label: 'list2', + documentation: 'list2 :: LIST', + }, + ], }, 'apoc.convert.fromJsonList': { label: 'apoc.convert.fromJsonList', + documentation: + 'Converts the given JSON list into a Cypher `LIST`.', + parameters: [ + { + label: 'list', + documentation: 'list :: STRING', + }, + { + label: 'path', + documentation: 'path = :: STRING', + }, + { + label: 'pathOptions', + documentation: 'pathOptions = null :: LIST', + }, + ], }, 'apoc.convert.fromJsonMap': { label: 'apoc.convert.fromJsonMap', + documentation: 'Converts the given JSON map into a Cypher `MAP`.', + parameters: [ + { + label: 'map', + documentation: 'map :: STRING', + }, + { + label: 'path', + documentation: 'path = :: STRING', + }, + { + label: 'pathOptions', + documentation: 'pathOptions = null :: LIST', + }, + ], }, 'apoc.convert.getJsonProperty': { label: 'apoc.convert.getJsonProperty', + documentation: + 'Converts a serialized JSON object from the property of the given `NODE` into the equivalent Cypher structure (e.g. `MAP`, `LIST`).', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + { + label: 'path', + documentation: 'path = :: STRING', + }, + { + label: 'pathOptions', + documentation: 'pathOptions = null :: LIST', + }, + ], }, 'apoc.convert.getJsonPropertyMap': { label: 'apoc.convert.getJsonPropertyMap', - }, - 'apoc.convert.toBoolean': { - label: 'apoc.convert.toBoolean', - }, - 'apoc.convert.toBooleanList': { - label: 'apoc.convert.toBooleanList', - }, - 'apoc.convert.toFloat': { - label: 'apoc.convert.toFloat', - }, - 'apoc.convert.toIntList': { - label: 'apoc.convert.toIntList', - }, - 'apoc.convert.toInteger': { - label: 'apoc.convert.toInteger', + documentation: + 'Converts a serialized JSON object from the property of the given `NODE` into a Cypher `MAP`.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + { + label: 'path', + documentation: 'path = :: STRING', + }, + { + label: 'pathOptions', + documentation: 'pathOptions = null :: LIST', + }, + ], }, 'apoc.convert.toJson': { label: 'apoc.convert.toJson', + documentation: 'Serializes the given JSON value.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.convert.toList': { label: 'apoc.convert.toList', + documentation: 'Converts the given value into a `LIST`.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.convert.toMap': { label: 'apoc.convert.toMap', + documentation: 'Converts the given value into a `MAP`.', + parameters: [ + { + label: 'map', + documentation: 'map :: ANY', + }, + ], }, 'apoc.convert.toNode': { label: 'apoc.convert.toNode', + documentation: 'Converts the given value into a `NODE`.', + parameters: [ + { + label: 'node', + documentation: 'node :: ANY', + }, + ], }, 'apoc.convert.toNodeList': { label: 'apoc.convert.toNodeList', + documentation: 'Converts the given value into a `LIST`.', + parameters: [ + { + label: 'list', + documentation: 'list :: ANY', + }, + ], }, 'apoc.convert.toRelationship': { label: 'apoc.convert.toRelationship', + documentation: 'Converts the given value into a `RELATIONSHIP`.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: ANY', + }, + ], }, 'apoc.convert.toRelationshipList': { label: 'apoc.convert.toRelationshipList', + documentation: 'Converts the given value into a `LIST`.', + parameters: [ + { + label: 'relList', + documentation: 'relList :: ANY', + }, + ], }, 'apoc.convert.toSet': { label: 'apoc.convert.toSet', + documentation: + 'Converts the given value into a set represented in Cypher as a `LIST`.', + parameters: [ + { + label: 'list', + documentation: 'list :: ANY', + }, + ], }, 'apoc.convert.toSortedJsonMap': { label: 'apoc.convert.toSortedJsonMap', - }, - 'apoc.convert.toString': { - label: 'apoc.convert.toString', - }, - 'apoc.convert.toStringList': { - label: 'apoc.convert.toStringList', + documentation: + 'Converts a serialized JSON object from the property of a given `NODE` into a Cypher `MAP`.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY', + }, + { + label: 'ignoreCase', + documentation: 'ignoreCase = true :: BOOLEAN', + }, + ], }, 'apoc.create.uuid': { label: 'apoc.create.uuid', + documentation: 'Returns a UUID.', + parameters: [], }, 'apoc.create.uuidBase64': { label: 'apoc.create.uuidBase64', + documentation: 'Returns a UUID encoded with base64.', + parameters: [], }, 'apoc.create.uuidBase64ToHex': { label: 'apoc.create.uuidBase64ToHex', + documentation: + 'Takes the given base64 encoded UUID and returns it as a hexadecimal `STRING`.', + parameters: [ + { + label: 'base64Uuid', + documentation: 'base64Uuid :: STRING', + }, + ], }, 'apoc.create.uuidHexToBase64': { label: 'apoc.create.uuidHexToBase64', + documentation: + 'Takes the given UUID represented as a hexadecimal `STRING` and returns it encoded with base64.', + parameters: [ + { + label: 'uuid', + documentation: 'uuid :: STRING', + }, + ], }, 'apoc.create.vNode': { label: 'apoc.create.vNode', + documentation: 'Returns a virtual `NODE`.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST', + }, + { + label: 'props', + documentation: 'props = {} :: MAP', + }, + ], }, 'apoc.create.vRelationship': { label: 'apoc.create.vRelationship', + documentation: 'Returns a virtual `RELATIONSHIP`.', + parameters: [ + { + label: 'from', + documentation: 'from :: NODE', + }, + { + label: 'relType', + documentation: 'relType :: STRING', + }, + { + label: 'props', + documentation: 'props :: MAP', + }, + { + label: 'to', + documentation: 'to :: NODE', + }, + ], }, 'apoc.create.virtual.fromNode': { label: 'apoc.create.virtual.fromNode', - }, - 'apoc.cypher.runFirstColumn': { - label: 'apoc.cypher.runFirstColumn', + documentation: + 'Returns a virtual `NODE` from the given existing `NODE`. The virtual `NODE` only contains the requested properties.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'propertyNames', + documentation: 'propertyNames :: LIST', + }, + ], }, 'apoc.cypher.runFirstColumnMany': { label: 'apoc.cypher.runFirstColumnMany', + documentation: + 'Runs the given statement with the given parameters and returns the first column collected into a `LIST`.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'params', + documentation: 'params :: MAP', + }, + ], }, 'apoc.cypher.runFirstColumnSingle': { label: 'apoc.cypher.runFirstColumnSingle', - }, - 'apoc.data.domain': { - label: 'apoc.data.domain', + documentation: + 'Runs the given statement with the given parameters and returns the first element of the first column.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'params', + documentation: 'params :: MAP', + }, + ], }, 'apoc.data.url': { label: 'apoc.data.url', + documentation: 'Turns a URL into a `MAP`.', + parameters: [ + { + label: 'url', + documentation: 'url :: STRING', + }, + ], }, 'apoc.date.add': { label: 'apoc.date.add', + documentation: 'Adds a unit of specified time to the given timestamp.', + parameters: [ + { + label: 'time', + documentation: 'time :: INTEGER', + }, + { + label: 'unit', + documentation: 'unit :: STRING', + }, + { + label: 'addValue', + documentation: 'addValue :: INTEGER', + }, + { + label: 'addUnit', + documentation: 'addUnit :: STRING', + }, + ], }, 'apoc.date.convert': { label: 'apoc.date.convert', + documentation: + 'Converts the given timestamp from one time unit into a timestamp of a different time unit.', + parameters: [ + { + label: 'time', + documentation: 'time :: INTEGER', + }, + { + label: 'unit', + documentation: 'unit :: STRING', + }, + { + label: 'toUnit', + documentation: 'toUnit :: STRING', + }, + ], }, 'apoc.date.convertFormat': { label: 'apoc.date.convertFormat', + documentation: + 'Converts a `STRING` of one type of date format into a `STRING` of another type of date format.', + parameters: [ + { + label: 'temporal', + documentation: 'temporal :: STRING', + }, + { + label: 'currentFormat', + documentation: 'currentFormat :: STRING', + }, + { + label: 'convertTo', + documentation: 'convertTo = yyyy-MM-dd :: STRING', + }, + ], }, 'apoc.date.currentTimestamp': { label: 'apoc.date.currentTimestamp', + documentation: + 'Returns the current Unix epoch timestamp in milliseconds.', + parameters: [], }, 'apoc.date.field': { label: 'apoc.date.field', + documentation: 'Returns the value of one field from the given date time.', + parameters: [ + { + label: 'time', + documentation: 'time :: INTEGER', + }, + { + label: 'unit', + documentation: 'unit = d :: STRING', + }, + { + label: 'timezone', + documentation: 'timezone = UTC :: STRING', + }, + ], }, 'apoc.date.fields': { label: 'apoc.date.fields', + documentation: + 'Splits the given date into fields returning a `MAP` containing the values of each field.', + parameters: [ + { + label: 'date', + documentation: 'date :: STRING', + }, + { + label: 'pattern', + documentation: 'pattern = yyyy-MM-dd HH:mm:ss :: STRING', + }, + ], }, 'apoc.date.format': { label: 'apoc.date.format', + documentation: + 'Returns a `STRING` representation of the time value.\nThe time unit (default: ms), date format (default: ISO), and time zone (default: current time zone) can all be changed.', + parameters: [ + { + label: 'time', + documentation: 'time :: INTEGER', + }, + { + label: 'unit', + documentation: 'unit = ms :: STRING', + }, + { + label: 'format', + documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING', + }, + { + label: 'timezone', + documentation: 'timezone = :: STRING', + }, + ], }, 'apoc.date.fromISO8601': { label: 'apoc.date.fromISO8601', + documentation: + 'Converts the given date `STRING` (ISO8601) to an `INTEGER` representing the time value in milliseconds.', + parameters: [ + { + label: 'time', + documentation: 'time :: STRING', + }, + ], }, 'apoc.date.parse': { label: 'apoc.date.parse', - }, - 'apoc.date.parseAsZonedDateTime': { - label: 'apoc.date.parseAsZonedDateTime', + documentation: + 'Parses the given date `STRING` from a specified format into the specified time unit.', + parameters: [ + { + label: 'time', + documentation: 'time :: STRING', + }, + { + label: 'unit', + documentation: 'unit = ms :: STRING', + }, + { + label: 'format', + documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING', + }, + { + label: 'timezone', + documentation: 'timezone = :: STRING', + }, + ], }, 'apoc.date.systemTimezone': { label: 'apoc.date.systemTimezone', + documentation: + 'Returns the display name of the system time zone (e.g. Europe/London).', + parameters: [], }, 'apoc.date.toISO8601': { label: 'apoc.date.toISO8601', + documentation: + 'Returns a `STRING` representation of a specified time value in the ISO8601 format.', + parameters: [ + { + label: 'time', + documentation: 'time :: INTEGER', + }, + { + label: 'unit', + documentation: 'unit = ms :: STRING', + }, + ], }, 'apoc.date.toYears': { label: 'apoc.date.toYears', + documentation: + 'Converts the given timestamp or the given date into a `FLOAT` representing years.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY', + }, + { + label: 'format', + documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING', + }, + ], }, 'apoc.diff.nodes': { label: 'apoc.diff.nodes', + documentation: + 'Returns a `MAP` detailing the differences between the two given `NODE` values.', + parameters: [ + { + label: 'leftNode', + documentation: 'leftNode :: NODE', + }, + { + label: 'rightNode', + documentation: 'rightNode :: NODE', + }, + ], }, 'apoc.hashing.fingerprint': { label: 'apoc.hashing.fingerprint', + documentation: + 'Calculates a MD5 checksum over a `NODE` or `RELATIONSHIP` (identical entities share the same checksum).\nUnsuitable for cryptographic use-cases.', + parameters: [ + { + label: 'object', + documentation: 'object :: ANY', + }, + { + label: 'excludedPropertyKeys', + documentation: 'excludedPropertyKeys = [] :: LIST', + }, + ], }, 'apoc.hashing.fingerprintGraph': { label: 'apoc.hashing.fingerprintGraph', + documentation: + 'Calculates a MD5 checksum over the full graph.\nThis function uses in-memory data structures.\nUnsuitable for cryptographic use-cases.', + parameters: [ + { + label: 'propertyExcludes', + documentation: 'propertyExcludes = [] :: LIST', + }, + ], }, 'apoc.hashing.fingerprinting': { label: 'apoc.hashing.fingerprinting', + documentation: + 'Calculates a MD5 checksum over a `NODE` or `RELATIONSHIP` (identical entities share the same checksum).\nUnlike `apoc.hashing.fingerprint()`, this function supports a number of config parameters.\nUnsuitable for cryptographic use-cases.', + parameters: [ + { + label: 'object', + documentation: 'object :: ANY', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.json.path': { label: 'apoc.json.path', + documentation: 'Returns the given JSON path.', + parameters: [ + { + label: 'json', + documentation: 'json :: STRING', + }, + { + label: 'path', + documentation: 'path = $ :: STRING', + }, + { + label: 'pathOptions', + documentation: 'pathOptions = null :: LIST', + }, + ], }, 'apoc.label.exists': { label: 'apoc.label.exists', + documentation: + 'Returns true or false depending on whether or not the given label exists.', + parameters: [ + { + label: 'node', + documentation: 'node :: ANY', + }, + { + label: 'label', + documentation: 'label :: STRING', + }, + ], }, 'apoc.map.clean': { label: 'apoc.map.clean', + documentation: + 'Filters the keys and values contained in the given `LIST` values.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'keys', + documentation: 'keys :: LIST', + }, + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.map.flatten': { label: 'apoc.map.flatten', + documentation: + 'Flattens nested items in the given `MAP`.\nThis function is the reverse of the `apoc.map.unflatten` function.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'delimiter', + documentation: 'delimiter = . :: STRING', + }, + ], }, 'apoc.map.fromLists': { label: 'apoc.map.fromLists', + documentation: + 'Creates a `MAP` from the keys and values in the given `LIST` values.', + parameters: [ + { + label: 'keys', + documentation: 'keys :: LIST', + }, + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.map.fromNodes': { label: 'apoc.map.fromNodes', + documentation: + 'Returns a `MAP` of the given prop to the node of the given label.', + parameters: [ + { + label: 'label', + documentation: 'label :: STRING', + }, + { + label: 'prop', + documentation: 'prop :: STRING', + }, + ], }, 'apoc.map.fromPairs': { label: 'apoc.map.fromPairs', + documentation: + 'Creates a `MAP` from the given `LIST>` of key-value pairs.', + parameters: [ + { + label: 'pairs', + documentation: 'pairs :: LIST>', + }, + ], }, 'apoc.map.fromValues': { label: 'apoc.map.fromValues', + documentation: + 'Creates a `MAP` from the alternating keys and values in the given `LIST`.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.map.get': { label: 'apoc.map.get', + documentation: + 'Returns a value for the given key.\nIf the given key does not exist, or lacks a default value, this function will throw an exception.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + { + label: 'value', + documentation: 'value = null :: ANY', + }, + { + label: 'fail', + documentation: 'fail = true :: BOOLEAN', + }, + ], }, 'apoc.map.groupBy': { label: 'apoc.map.groupBy', + documentation: + 'Creates a `MAP` of the `LIST` keyed by the given property, with single values.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + ], }, 'apoc.map.groupByMulti': { label: 'apoc.map.groupByMulti', + documentation: + 'Creates a `MAP` of the `LIST` values keyed by the given property, with the `LIST` values.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + ], }, 'apoc.map.merge': { label: 'apoc.map.merge', + documentation: 'Merges the two given `MAP` values into one `MAP`.', + parameters: [ + { + label: 'map1', + documentation: 'map1 :: MAP', + }, + { + label: 'map2', + documentation: 'map2 :: MAP', + }, + ], }, 'apoc.map.mergeList': { label: 'apoc.map.mergeList', + documentation: + 'Merges all `MAP` values in the given `LIST>` into one `MAP`.', + parameters: [ + { + label: 'maps', + documentation: 'maps :: LIST', + }, + ], }, 'apoc.map.mget': { label: 'apoc.map.mget', + documentation: + 'Returns a `LIST` for the given keys.\nIf one of the keys does not exist, or lacks a default value, this function will throw an exception.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'keys', + documentation: 'keys :: LIST', + }, + { + label: 'values', + documentation: 'values = [] :: LIST', + }, + { + label: 'fail', + documentation: 'fail = true :: BOOLEAN', + }, + ], }, 'apoc.map.removeKey': { label: 'apoc.map.removeKey', + documentation: + 'Removes the given key from the `MAP` (recursively if recursive is true).', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.map.removeKeys': { label: 'apoc.map.removeKeys', + documentation: + 'Removes the given keys from the `MAP` (recursively if recursive is true).', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'keys', + documentation: 'keys :: LIST', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.map.setEntry': { label: 'apoc.map.setEntry', + documentation: 'Adds or updates the given entry in the `MAP`.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.map.setKey': { label: 'apoc.map.setKey', + documentation: 'Adds or updates the given entry in the `MAP`.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.map.setLists': { label: 'apoc.map.setLists', + documentation: + 'Adds or updates the given keys/value pairs provided in `LIST` format (e.g. [key1, key2],[value1, value2]) in a `MAP`.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'keys', + documentation: 'keys :: LIST', + }, + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.map.setPairs': { label: 'apoc.map.setPairs', + documentation: + 'Adds or updates the given key/value pairs (e.g. [key1,value1],[key2,value2]) in a `MAP`.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'pairs', + documentation: 'pairs :: LIST>', + }, + ], }, 'apoc.map.setValues': { label: 'apoc.map.setValues', + documentation: + 'Adds or updates the alternating key/value pairs (e.g. [key1,value1,key2,value2]) in a `MAP`.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'pairs', + documentation: 'pairs :: LIST', + }, + ], }, 'apoc.map.sortedProperties': { label: 'apoc.map.sortedProperties', + documentation: + 'Returns a `LIST` of key/value pairs.\nThe pairs are sorted by alphabetically by key, with optional case sensitivity.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'ignoreCase', + documentation: 'ignoreCase = true :: BOOLEAN', + }, + ], }, 'apoc.map.submap': { label: 'apoc.map.submap', + documentation: + 'Returns a sub-map for the given keys.\nIf one of the keys does not exist, or lacks a default value, this function will throw an exception.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'keys', + documentation: 'keys :: LIST', + }, + { + label: 'values', + documentation: 'values = [] :: LIST', + }, + { + label: 'fail', + documentation: 'fail = true :: BOOLEAN', + }, + ], }, 'apoc.map.unflatten': { label: 'apoc.map.unflatten', + documentation: + 'Unflattens items in the given `MAP` to nested items.\nThis function is the reverse of the `apoc.map.flatten` function.', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'delimiter', + documentation: 'delimiter = . :: STRING', + }, + ], }, 'apoc.map.updateTree': { label: 'apoc.map.updateTree', + documentation: + 'Adds the data `MAP` on each level of the nested tree, where the key-value pairs match.', + parameters: [ + { + label: 'tree', + documentation: 'tree :: MAP', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + { + label: 'data', + documentation: 'data :: LIST>', + }, + ], }, 'apoc.map.values': { label: 'apoc.map.values', + documentation: + 'Returns a `LIST` indicated by the given keys (returns a null value if a given key is missing).', + parameters: [ + { + label: 'map', + documentation: 'map :: MAP', + }, + { + label: 'keys', + documentation: 'keys = [] :: LIST', + }, + { + label: 'addNullsForMissing', + documentation: 'addNullsForMissing = false :: BOOLEAN', + }, + ], }, 'apoc.math.cosh': { label: 'apoc.math.cosh', + documentation: 'Returns the hyperbolic cosine.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT', + }, + ], }, 'apoc.math.coth': { label: 'apoc.math.coth', + documentation: 'Returns the hyperbolic cotangent.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT', + }, + ], }, 'apoc.math.csch': { label: 'apoc.math.csch', + documentation: 'Returns the hyperbolic cosecant.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT', + }, + ], }, 'apoc.math.maxByte': { label: 'apoc.math.maxByte', + documentation: 'Returns the maximum value of a byte.', + parameters: [], }, 'apoc.math.maxDouble': { label: 'apoc.math.maxDouble', + documentation: + 'Returns the largest positive finite value of type double.', + parameters: [], }, 'apoc.math.maxInt': { label: 'apoc.math.maxInt', + documentation: 'Returns the maximum value of an integer.', + parameters: [], }, 'apoc.math.maxLong': { label: 'apoc.math.maxLong', + documentation: 'Returns the maximum value of a long.', + parameters: [], }, 'apoc.math.minByte': { label: 'apoc.math.minByte', + documentation: 'Returns the minimum value of a byte.', + parameters: [], }, 'apoc.math.minDouble': { label: 'apoc.math.minDouble', + documentation: + 'Returns the smallest positive non-zero value of type double.', + parameters: [], }, 'apoc.math.minInt': { label: 'apoc.math.minInt', + documentation: 'Returns the minimum value of an integer.', + parameters: [], }, 'apoc.math.minLong': { label: 'apoc.math.minLong', - }, - 'apoc.math.round': { - label: 'apoc.math.round', + documentation: 'Returns the minimum value of a long.', + parameters: [], }, 'apoc.math.sech': { label: 'apoc.math.sech', + documentation: 'Returns the hyperbolic secant of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT', + }, + ], }, 'apoc.math.sigmoid': { label: 'apoc.math.sigmoid', + documentation: 'Returns the sigmoid of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT', + }, + ], }, 'apoc.math.sigmoidPrime': { label: 'apoc.math.sigmoidPrime', + documentation: + 'Returns the sigmoid prime [ sigmoid(val) * (1 - sigmoid(val)) ] of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT', + }, + ], }, 'apoc.math.sinh': { label: 'apoc.math.sinh', + documentation: 'Returns the hyperbolic sine of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT', + }, + ], }, 'apoc.math.tanh': { label: 'apoc.math.tanh', + documentation: 'Returns the hyperbolic tangent of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT', + }, + ], }, 'apoc.meta.cypher.isType': { label: 'apoc.meta.cypher.isType', + documentation: 'Returns true if the given value matches the given type.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY', + }, + { + label: 'type', + documentation: 'type :: STRING', + }, + ], }, 'apoc.meta.cypher.type': { label: 'apoc.meta.cypher.type', + documentation: 'Returns the type name of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.meta.cypher.types': { label: 'apoc.meta.cypher.types', - }, - 'apoc.meta.isType': { - label: 'apoc.meta.isType', + documentation: + 'Returns a `MAP` containing the type names of the given values.', + parameters: [ + { + label: 'props', + documentation: 'props :: ANY', + }, + ], }, 'apoc.meta.nodes.count': { label: 'apoc.meta.nodes.count', - }, - 'apoc.meta.type': { - label: 'apoc.meta.type', - }, - 'apoc.meta.typeName': { - label: 'apoc.meta.typeName', - }, - 'apoc.meta.types': { - label: 'apoc.meta.types', + documentation: + 'Returns the sum of the `NODE` values with the given labels in the `LIST`.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes = [] :: LIST', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.node.degree': { label: 'apoc.node.degree', + documentation: 'Returns the total degrees of the given `NODE`.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING', + }, + ], }, 'apoc.node.degree.in': { label: 'apoc.node.degree.in', + documentation: + 'Returns the total number of incoming `RELATIONSHIP` values connected to the given `NODE`.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING', + }, + ], }, 'apoc.node.degree.out': { label: 'apoc.node.degree.out', + documentation: + 'Returns the total number of outgoing `RELATIONSHIP` values from the given `NODE`.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING', + }, + ], }, 'apoc.node.id': { label: 'apoc.node.id', + documentation: 'Returns the id for the given virtual `NODE`.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + ], }, 'apoc.node.labels': { label: 'apoc.node.labels', - }, - 'apoc.node.rebind': { - label: 'apoc.node.rebind', + documentation: 'Returns the labels for the given virtual `NODE`.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + ], }, 'apoc.node.relationship.exists': { label: 'apoc.node.relationship.exists', + documentation: + 'Returns a `BOOLEAN` based on whether the given `NODE` has a connecting `RELATIONSHIP` (or whether the given `NODE` has a connecting `RELATIONSHIP` of the given type and direction).', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING', + }, + ], }, 'apoc.node.relationship.types': { label: 'apoc.node.relationship.types', + documentation: + 'Returns a `LIST` of distinct `RELATIONSHIP` types for the given `NODE`.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING', + }, + ], }, 'apoc.node.relationships.exist': { label: 'apoc.node.relationships.exist', + documentation: + 'Returns a `BOOLEAN` based on whether the given `NODE` has connecting `RELATIONSHIP` values (or whether the given `NODE` has connecting `RELATIONSHIP` values of the given type and direction).', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING', + }, + ], }, 'apoc.nodes.connected': { label: 'apoc.nodes.connected', + documentation: + 'Returns true when a given `NODE` is directly connected to another given `NODE`.\nThis function is optimized for dense nodes.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE', + }, + { + label: 'types', + documentation: 'types = :: STRING', + }, + ], }, 'apoc.nodes.isDense': { label: 'apoc.nodes.isDense', + documentation: 'Returns true if the given `NODE` is a dense node.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + ], }, 'apoc.nodes.relationship.types': { label: 'apoc.nodes.relationship.types', + documentation: + 'Returns a `LIST` of distinct `RELATIONSHIP` types from the given `LIST` values.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY', + }, + { + label: 'types', + documentation: 'types = :: STRING', + }, + ], }, 'apoc.nodes.relationships.exist': { label: 'apoc.nodes.relationships.exist', + documentation: + 'Returns a `BOOLEAN` based on whether or not the given `NODE` values have the given `RELATIONSHIP` values.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY', + }, + { + label: 'types', + documentation: 'types = :: STRING', + }, + ], }, 'apoc.number.arabicToRoman': { label: 'apoc.number.arabicToRoman', + documentation: 'Converts the given Arabic numbers to Roman numbers.', + parameters: [ + { + label: 'number', + documentation: 'number :: ANY', + }, + ], }, 'apoc.number.exact.add': { label: 'apoc.number.exact.add', + documentation: + 'Returns the result of adding the two given large numbers (using Java BigDecimal).', + parameters: [ + { + label: 'stringA', + documentation: 'stringA :: STRING', + }, + { + label: 'stringB', + documentation: 'stringB :: STRING', + }, + ], }, 'apoc.number.exact.div': { label: 'apoc.number.exact.div', + documentation: + 'Returns the result of dividing a given large number with another given large number (using Java BigDecimal).', + parameters: [ + { + label: 'stringA', + documentation: 'stringA :: STRING', + }, + { + label: 'stringB', + documentation: 'stringB :: STRING', + }, + { + label: 'precision', + documentation: 'precision = 0 :: INTEGER', + }, + { + label: 'roundingMode', + documentation: 'roundingMode = HALF_UP :: STRING', + }, + ], }, 'apoc.number.exact.mul': { label: 'apoc.number.exact.mul', + documentation: + 'Returns the result of multiplying two given large numbers (using Java BigDecimal).', + parameters: [ + { + label: 'stringA', + documentation: 'stringA :: STRING', + }, + { + label: 'stringB', + documentation: 'stringB :: STRING', + }, + { + label: 'precision', + documentation: 'precision = 0 :: INTEGER', + }, + { + label: 'roundingMode', + documentation: 'roundingMode = HALF_UP :: STRING', + }, + ], }, 'apoc.number.exact.sub': { label: 'apoc.number.exact.sub', + documentation: + 'Returns the result of subtracting a given large number from another given large number (using Java BigDecimal).', + parameters: [ + { + label: 'stringA', + documentation: 'stringA :: STRING', + }, + { + label: 'stringB', + documentation: 'stringB :: STRING', + }, + ], }, 'apoc.number.exact.toExact': { label: 'apoc.number.exact.toExact', + documentation: + 'Returns the exact value of the given number (using Java BigDecimal).', + parameters: [ + { + label: 'number', + documentation: 'number :: INTEGER', + }, + ], }, 'apoc.number.exact.toFloat': { label: 'apoc.number.exact.toFloat', + documentation: + 'Returns the `FLOAT` of the given large number (using Java BigDecimal).', + parameters: [ + { + label: 'string', + documentation: 'string :: STRING', + }, + { + label: 'precision', + documentation: 'precision = 0 :: INTEGER', + }, + { + label: 'roundingMode', + documentation: 'roundingMode = HALF_UP :: STRING', + }, + ], }, 'apoc.number.exact.toInteger': { label: 'apoc.number.exact.toInteger', + documentation: + 'Returns the `INTEGER` of the given large number (using Java BigDecimal).', + parameters: [ + { + label: 'string', + documentation: 'string :: STRING', + }, + { + label: 'precision', + documentation: 'precision = 0 :: INTEGER', + }, + { + label: 'roundingMode', + documentation: 'roundingMode = HALF_UP :: STRING', + }, + ], }, 'apoc.number.format': { label: 'apoc.number.format', + documentation: + 'Formats the given `INTEGER` or `FLOAT` using the given pattern and language to produce a `STRING`.', + parameters: [ + { + label: 'number', + documentation: 'number :: ANY', + }, + { + label: 'pattern', + documentation: 'pattern = :: STRING', + }, + { + label: 'language', + documentation: 'language = :: STRING', + }, + ], }, 'apoc.number.parseFloat': { label: 'apoc.number.parseFloat', + documentation: + 'Parses the given `STRING` using the given pattern and language to produce a `FLOAT`.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'pattern', + documentation: 'pattern = :: STRING', + }, + { + label: 'language', + documentation: 'language = :: STRING', + }, + ], }, 'apoc.number.parseInt': { label: 'apoc.number.parseInt', + documentation: + 'Parses the given `STRING` using the given pattern and language to produce a `INTEGER`.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'pattern', + documentation: 'pattern = :: STRING', + }, + { + label: 'language', + documentation: 'language = :: STRING', + }, + ], }, 'apoc.number.romanToArabic': { label: 'apoc.number.romanToArabic', + documentation: 'Converts the given Roman numbers to Arabic numbers.', + parameters: [ + { + label: 'romanNumber', + documentation: 'romanNumber :: STRING', + }, + ], }, 'apoc.path.combine': { label: 'apoc.path.combine', + documentation: 'Combines the two given `PATH` values into one `PATH`.', + parameters: [ + { + label: 'path1', + documentation: 'path1 :: PATH', + }, + { + label: 'path2', + documentation: 'path2 :: PATH', + }, + ], }, 'apoc.path.create': { label: 'apoc.path.create', + documentation: + 'Returns a `PATH` from the given start `NODE` and `LIST`.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE', + }, + { + label: 'rels', + documentation: 'rels = [] :: LIST', + }, + ], }, 'apoc.path.elements': { label: 'apoc.path.elements', + documentation: + 'Converts the given `PATH` into a `LIST`.', + parameters: [ + { + label: 'path', + documentation: 'path :: PATH', + }, + ], }, 'apoc.path.slice': { label: 'apoc.path.slice', + documentation: + 'Returns a new `PATH` of the given length, taken from the given `PATH` at the given offset.', + parameters: [ + { + label: 'path', + documentation: 'path :: PATH', + }, + { + label: 'offset', + documentation: 'offset = 0 :: INTEGER', + }, + { + label: 'length', + documentation: 'length = -1 :: INTEGER', + }, + ], }, 'apoc.rel.endNode': { label: 'apoc.rel.endNode', + documentation: + 'Returns the end `NODE` for the given virtual `RELATIONSHIP`.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP', + }, + ], }, 'apoc.rel.id': { label: 'apoc.rel.id', - }, - 'apoc.rel.rebind': { - label: 'apoc.rel.rebind', + documentation: 'Returns the id for the given virtual `RELATIONSHIP`.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP', + }, + ], }, 'apoc.rel.startNode': { label: 'apoc.rel.startNode', + documentation: + 'Returns the start `NODE` for the given virtual `RELATIONSHIP`.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP', + }, + ], }, 'apoc.rel.type': { label: 'apoc.rel.type', + documentation: 'Returns the type for the given virtual `RELATIONSHIP`.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP', + }, + ], }, 'apoc.schema.node.constraintExists': { label: 'apoc.schema.node.constraintExists', + documentation: + 'Returns a `BOOLEAN` depending on whether or not a constraint exists for the given `NODE` label with the given property names.', + parameters: [ + { + label: 'labelName', + documentation: 'labelName :: STRING', + }, + { + label: 'propertyName', + documentation: 'propertyName :: LIST', + }, + ], }, 'apoc.schema.node.indexExists': { label: 'apoc.schema.node.indexExists', + documentation: + 'Returns a `BOOLEAN` depending on whether or not an index exists for the given `NODE` label with the given property names.', + parameters: [ + { + label: 'labelName', + documentation: 'labelName :: STRING', + }, + { + label: 'propertyName', + documentation: 'propertyName :: LIST', + }, + ], }, 'apoc.schema.relationship.constraintExists': { label: 'apoc.schema.relationship.constraintExists', + documentation: + 'Returns a `BOOLEAN` depending on whether or not a constraint exists for the given `RELATIONSHIP` type with the given property names.', + parameters: [ + { + label: 'type', + documentation: 'type :: STRING', + }, + { + label: 'propertyName', + documentation: 'propertyName :: LIST', + }, + ], }, 'apoc.schema.relationship.indexExists': { label: 'apoc.schema.relationship.indexExists', + documentation: + 'Returns a `BOOLEAN` depending on whether or not an index exists for the given `RELATIONSHIP` type with the given property names.', + parameters: [ + { + label: 'type', + documentation: 'type :: STRING', + }, + { + label: 'propertyName', + documentation: 'propertyName :: LIST', + }, + ], }, 'apoc.scoring.existence': { label: 'apoc.scoring.existence', + documentation: 'Returns the given score if true, 0 if false.', + parameters: [ + { + label: 'score', + documentation: 'score :: INTEGER', + }, + { + label: 'exists', + documentation: 'exists :: BOOLEAN', + }, + ], }, 'apoc.scoring.pareto': { label: 'apoc.scoring.pareto', - }, - 'apoc.static.get': { - label: 'apoc.static.get', - }, - 'apoc.static.getAll': { - label: 'apoc.static.getAll', + documentation: + 'Applies a Pareto scoring function over the given `INTEGER` values.', + parameters: [ + { + label: 'minimumThreshold', + documentation: 'minimumThreshold :: INTEGER', + }, + { + label: 'eightyPercentValue', + documentation: 'eightyPercentValue :: INTEGER', + }, + { + label: 'maximumValue', + documentation: 'maximumValue :: INTEGER', + }, + { + label: 'score', + documentation: 'score :: INTEGER', + }, + ], }, 'apoc.temporal.format': { label: 'apoc.temporal.format', + documentation: + 'Formats the given temporal value into the given time format.', + parameters: [ + { + label: 'temporal', + documentation: 'temporal :: ANY', + }, + { + label: 'format', + documentation: 'format = yyyy-MM-dd :: STRING', + }, + ], }, 'apoc.temporal.formatDuration': { label: 'apoc.temporal.formatDuration', + documentation: 'Formats the given duration into the given time format.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + { + label: 'format', + documentation: 'format :: STRING', + }, + ], }, 'apoc.temporal.toZonedTemporal': { label: 'apoc.temporal.toZonedTemporal', + documentation: + 'Parses the given date `STRING` using the specified format into the given time zone.', + parameters: [ + { + label: 'time', + documentation: 'time :: STRING', + }, + { + label: 'format', + documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING', + }, + { + label: 'timezone', + documentation: 'timezone = UTC :: STRING', + }, + ], }, 'apoc.text.base64Decode': { label: 'apoc.text.base64Decode', + documentation: 'Decodes the given Base64 encoded `STRING`.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.base64Encode': { label: 'apoc.text.base64Encode', + documentation: 'Encodes the given `STRING` with Base64.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.base64UrlDecode': { label: 'apoc.text.base64UrlDecode', + documentation: 'Decodes the given Base64 encoded URL.', + parameters: [ + { + label: 'url', + documentation: 'url :: STRING', + }, + ], }, 'apoc.text.base64UrlEncode': { label: 'apoc.text.base64UrlEncode', + documentation: 'Encodes the given URL with Base64.', + parameters: [ + { + label: 'url', + documentation: 'url :: STRING', + }, + ], }, 'apoc.text.byteCount': { label: 'apoc.text.byteCount', + documentation: 'Returns the size of the given `STRING` in bytes.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'charset', + documentation: 'charset = UTF-8 :: STRING', + }, + ], }, 'apoc.text.bytes': { label: 'apoc.text.bytes', + documentation: 'Returns the given `STRING` as bytes.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'charset', + documentation: 'charset = UTF-8 :: STRING', + }, + ], }, 'apoc.text.camelCase': { label: 'apoc.text.camelCase', + documentation: 'Converts the given `STRING` to camel case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.capitalize': { label: 'apoc.text.capitalize', + documentation: 'Capitalizes the first letter of the given `STRING`.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.capitalizeAll': { label: 'apoc.text.capitalizeAll', + documentation: + 'Capitalizes the first letter of every word in the given `STRING`.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.charAt': { label: 'apoc.text.charAt', + documentation: + 'Returns the `INTEGER` value of the character at the given index.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'index', + documentation: 'index :: INTEGER', + }, + ], }, 'apoc.text.clean': { label: 'apoc.text.clean', + documentation: + 'Strips the given `STRING` of everything except alpha numeric characters and converts it to lower case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.code': { label: 'apoc.text.code', + documentation: 'Converts the `INTEGER` value into a `STRING`.', + parameters: [ + { + label: 'codepoint', + documentation: 'codepoint :: INTEGER', + }, + ], }, 'apoc.text.compareCleaned': { label: 'apoc.text.compareCleaned', + documentation: + 'Compares two given `STRING` values stripped of everything except alpha numeric characters converted to lower case.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING', + }, + { + label: 'text2', + documentation: 'text2 :: STRING', + }, + ], }, 'apoc.text.decapitalize': { label: 'apoc.text.decapitalize', + documentation: + 'Turns the first letter of the given `STRING` from upper case to lower case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.decapitalizeAll': { label: 'apoc.text.decapitalizeAll', + documentation: + 'Turns the first letter of every word in the given `STRING` to lower case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.distance': { label: 'apoc.text.distance', + documentation: + 'Compares the two given `STRING` values using the Levenshtein distance algorithm.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING', + }, + { + label: 'text2', + documentation: 'text2 :: STRING', + }, + ], }, 'apoc.text.doubleMetaphone': { label: 'apoc.text.doubleMetaphone', + documentation: + 'Returns the double metaphone phonetic encoding of all words in the given `STRING` value.', + parameters: [ + { + label: 'value', + documentation: 'value :: STRING', + }, + ], }, 'apoc.text.format': { label: 'apoc.text.format', + documentation: 'Formats the given `STRING` with the given parameters.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'params', + documentation: 'params :: LIST', + }, + { + label: 'language', + documentation: 'language = en :: STRING', + }, + ], }, 'apoc.text.fuzzyMatch': { label: 'apoc.text.fuzzyMatch', + documentation: + 'Performs a fuzzy match search of the two given `STRING` values.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING', + }, + { + label: 'text2', + documentation: 'text2 :: STRING', + }, + ], }, 'apoc.text.hammingDistance': { label: 'apoc.text.hammingDistance', + documentation: + 'Compares the two given `STRING` values using the Hamming distance algorithm.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING', + }, + { + label: 'text2', + documentation: 'text2 :: STRING', + }, + ], }, 'apoc.text.hexCharAt': { label: 'apoc.text.hexCharAt', + documentation: + 'Returns the hexadecimal value of the given `STRING` at the given index.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'index', + documentation: 'index :: INTEGER', + }, + ], }, 'apoc.text.hexValue': { label: 'apoc.text.hexValue', + documentation: 'Returns the hexadecimal value of the given value.', + parameters: [ + { + label: 'value', + documentation: 'value :: INTEGER', + }, + ], }, 'apoc.text.indexOf': { label: 'apoc.text.indexOf', + documentation: + 'Returns the first occurrence of the lookup `STRING` in the given `STRING`, or -1 if not found.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'lookup', + documentation: 'lookup :: STRING', + }, + { + label: 'from', + documentation: 'from = 0 :: INTEGER', + }, + { + label: 'to', + documentation: 'to = -1 :: INTEGER', + }, + ], }, 'apoc.text.indexesOf': { label: 'apoc.text.indexesOf', + documentation: + 'Returns all occurrences of the lookup `STRING` in the given `STRING`, or an empty list if not found.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'lookup', + documentation: 'lookup :: STRING', + }, + { + label: 'from', + documentation: 'from = 0 :: INTEGER', + }, + { + label: 'to', + documentation: 'to = -1 :: INTEGER', + }, + ], }, 'apoc.text.jaroWinklerDistance': { label: 'apoc.text.jaroWinklerDistance', + documentation: + 'Compares the two given `STRING` values using the Jaro-Winkler distance algorithm.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING', + }, + { + label: 'text2', + documentation: 'text2 :: STRING', + }, + ], }, 'apoc.text.join': { label: 'apoc.text.join', + documentation: + 'Joins the given `STRING` values using the given delimiter.', + parameters: [ + { + label: 'texts', + documentation: 'texts :: LIST', + }, + { + label: 'delimiter', + documentation: 'delimiter :: STRING', + }, + ], }, 'apoc.text.levenshteinDistance': { label: 'apoc.text.levenshteinDistance', + documentation: + 'Compares the given `STRING` values using the Levenshtein distance algorithm.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING', + }, + { + label: 'text2', + documentation: 'text2 :: STRING', + }, + ], }, 'apoc.text.levenshteinSimilarity': { label: 'apoc.text.levenshteinSimilarity', + documentation: + 'Returns the similarity (a value within 0 and 1) between the two given `STRING` values based on the Levenshtein distance algorithm.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING', + }, + { + label: 'text2', + documentation: 'text2 :: STRING', + }, + ], }, 'apoc.text.lpad': { label: 'apoc.text.lpad', + documentation: 'Left pads the given `STRING` by the given width.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'count', + documentation: 'count :: INTEGER', + }, + { + label: 'delimiter', + documentation: 'delimiter = :: STRING', + }, + ], }, 'apoc.text.phonetic': { label: 'apoc.text.phonetic', + documentation: + 'Returns the US_ENGLISH phonetic soundex encoding of all words of the `STRING`.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.random': { label: 'apoc.text.random', + documentation: + 'Generates a random `STRING` to the given length using a length parameter and an optional `STRING` of valid characters.\nUnsuitable for cryptographic use-cases.', + parameters: [ + { + label: 'length', + documentation: 'length :: INTEGER', + }, + { + label: 'valid', + documentation: 'valid = A-Za-z0-9 :: STRING', + }, + ], }, 'apoc.text.regexGroups': { label: 'apoc.text.regexGroups', + documentation: + 'Returns all groups matching the given regular expression in the given text.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'regex', + documentation: 'regex :: STRING', + }, + ], }, 'apoc.text.regreplace': { label: 'apoc.text.regreplace', + documentation: + 'Finds and replaces all matches found by the given regular expression with the given replacement.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'regex', + documentation: 'regex :: STRING', + }, + { + label: 'replacement', + documentation: 'replacement :: STRING', + }, + ], }, 'apoc.text.repeat': { label: 'apoc.text.repeat', + documentation: + 'Returns the result of the given item multiplied by the given count.', + parameters: [ + { + label: 'item', + documentation: 'item :: STRING', + }, + { + label: 'count', + documentation: 'count :: INTEGER', + }, + ], }, 'apoc.text.replace': { label: 'apoc.text.replace', + documentation: + 'Finds and replaces all matches found by the given regular expression with the given replacement.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'regex', + documentation: 'regex :: STRING', + }, + { + label: 'replacement', + documentation: 'replacement :: STRING', + }, + ], }, 'apoc.text.rpad': { label: 'apoc.text.rpad', + documentation: 'Right pads the given `STRING` by the given width.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'count', + documentation: 'count :: INTEGER', + }, + { + label: 'delimiter', + documentation: 'delimiter = :: STRING', + }, + ], }, 'apoc.text.slug': { label: 'apoc.text.slug', + documentation: + 'Replaces the whitespace in the given `STRING` with the given delimiter.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'delimiter', + documentation: 'delimiter = - :: STRING', + }, + ], }, 'apoc.text.snakeCase': { label: 'apoc.text.snakeCase', + documentation: 'Converts the given `STRING` to snake case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.sorensenDiceSimilarity': { label: 'apoc.text.sorensenDiceSimilarity', + documentation: + 'Compares the two given `STRING` values using the Sørensen–Dice coefficient formula, with the provided IETF language tag.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING', + }, + { + label: 'text2', + documentation: 'text2 :: STRING', + }, + { + label: 'languageTag', + documentation: 'languageTag = en :: STRING', + }, + ], }, 'apoc.text.split': { label: 'apoc.text.split', + documentation: + 'Splits the given `STRING` using a given regular expression as a separator.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + { + label: 'regex', + documentation: 'regex :: STRING', + }, + { + label: 'limit', + documentation: 'limit = 0 :: INTEGER', + }, + ], }, 'apoc.text.swapCase': { label: 'apoc.text.swapCase', + documentation: 'Swaps the cases in the given `STRING`.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.toCypher': { label: 'apoc.text.toCypher', + documentation: 'Converts the given value to a Cypher property `STRING`.', + parameters: [ + { + label: 'value', + documentation: 'value :: ANY', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.text.toUpperCase': { label: 'apoc.text.toUpperCase', + documentation: 'Converts the given `STRING` to upper case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.upperCamelCase': { label: 'apoc.text.upperCamelCase', + documentation: 'Converts the given `STRING` to upper camel case.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.urldecode': { label: 'apoc.text.urldecode', + documentation: 'Decodes the given URL encoded `STRING`.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.text.urlencode': { label: 'apoc.text.urlencode', - }, - 'apoc.trigger.nodesByLabel': { - label: 'apoc.trigger.nodesByLabel', - }, - 'apoc.trigger.propertiesByKey': { - label: 'apoc.trigger.propertiesByKey', - }, - 'apoc.trigger.toNode': { - label: 'apoc.trigger.toNode', - }, - 'apoc.trigger.toRelationship': { - label: 'apoc.trigger.toRelationship', - }, - 'apoc.ttl.config': { - label: 'apoc.ttl.config', + documentation: 'Encodes the given URL `STRING`.', + parameters: [ + { + label: 'text', + documentation: 'text :: STRING', + }, + ], }, 'apoc.util.compress': { label: 'apoc.util.compress', + documentation: 'Zips the given `STRING`.', + parameters: [ + { + label: 'data', + documentation: 'data :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.util.decompress': { label: 'apoc.util.decompress', + documentation: 'Unzips the given byte array.', + parameters: [ + { + label: 'data', + documentation: 'data :: BYTEARRAY', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.util.md5': { label: 'apoc.util.md5', + documentation: + 'Returns the MD5 checksum of the concatenation of all `STRING` values in the given `LIST`.\nMD5 is a weak hashing algorithm which is unsuitable for cryptographic use-cases.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.util.sha1': { label: 'apoc.util.sha1', + documentation: + 'Returns the SHA1 of the concatenation of all `STRING` values in the given `LIST`.\nSHA1 is a weak hashing algorithm which is unsuitable for cryptographic use-cases.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.util.sha256': { label: 'apoc.util.sha256', + documentation: + 'Returns the SHA256 of the concatenation of all `STRING` values in the given `LIST`.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.util.sha384': { label: 'apoc.util.sha384', + documentation: + 'Returns the SHA384 of the concatenation of all `STRING` values in the given `LIST`.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.util.sha512': { label: 'apoc.util.sha512', + documentation: + 'Returns the SHA512 of the concatenation of all `STRING` values in the `LIST`.', + parameters: [ + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.util.validatePredicate': { label: 'apoc.util.validatePredicate', + documentation: + 'If the given predicate is true an exception is thrown, otherwise it returns true (for use inside `WHERE` subclauses).', + parameters: [ + { + label: 'predicate', + documentation: 'predicate :: BOOLEAN', + }, + { + label: 'message', + documentation: 'message :: STRING', + }, + { + label: 'params', + documentation: 'params :: LIST', + }, + ], }, 'apoc.version': { label: 'apoc.version', + documentation: 'Returns the APOC version currently installed.', + parameters: [], }, 'apoc.xml.parse': { label: 'apoc.xml.parse', + documentation: 'Parses the given XML `STRING` as a `MAP`.', + parameters: [ + { + label: 'data', + documentation: 'data :: STRING', + }, + { + label: 'path', + documentation: 'path = / :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + { + label: 'simple', + documentation: 'simple = false :: BOOLEAN', + }, + ], }, asin: { label: 'asin', + documentation: 'Returns the arcsine of a `FLOAT` in radians.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, atan: { label: 'atan', + documentation: 'Returns the arctangent of a `FLOAT` in radians.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, atan2: { label: 'atan2', + documentation: + 'Returns the arctangent2 of a set of coordinates in radians.', + parameters: [ + { + label: 'y', + documentation: 'y :: FLOAT', + }, + { + label: 'x', + documentation: 'x :: FLOAT', + }, + ], }, avg: { label: 'avg', + documentation: + 'Returns the average of a set of `INTEGER`, `FLOAT` or `DURATION` values.', + parameters: [ + { + label: 'input', + documentation: 'input :: INTEGER | FLOAT | DURATION', + }, + ], }, ceil: { label: 'ceil', + documentation: + 'Returns the smallest `FLOAT` that is greater than or equal to a number and equal to an `INTEGER`.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], + }, + char_length: { + label: 'char_length', + documentation: 'Returns the number of Unicode characters in a `STRING`.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING', + }, + ], + }, + character_length: { + label: 'character_length', + documentation: 'Returns the number of Unicode characters in a `STRING`.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING', + }, + ], }, coalesce: { label: 'coalesce', + documentation: + 'Returns the first non-null value in a list of expressions.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + ], }, collect: { label: 'collect', + documentation: + 'Returns a list containing the values returned by an expression.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + ], }, cos: { label: 'cos', + documentation: 'Returns the cosine of a `FLOAT`.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, cot: { label: 'cot', + documentation: 'Returns the cotangent of a `FLOAT`.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, count: { label: 'count', + documentation: 'Returns the number of values or rows.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + ], }, date: { label: 'date', + documentation: 'Creates a `DATE` instant.', + parameters: [ + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'date.realtime': { label: 'date.realtime', + documentation: + 'Returns the current `DATE` instant using the realtime clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'date.statement': { label: 'date.statement', + documentation: + 'Returns the current `DATE` instant using the statement clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'date.transaction': { label: 'date.transaction', + documentation: + 'Returns the current `DATE` instant using the transaction clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'date.truncate': { label: 'date.truncate', + documentation: + 'Truncates the given temporal value to a `DATE` instant using the specified unit.', + parameters: [ + { + label: 'unit', + documentation: 'unit :: STRING', + }, + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + { + label: 'fields', + documentation: 'fields = null :: MAP', + }, + ], }, datetime: { label: 'datetime', + documentation: 'Creates a `ZONED DATETIME` instant.', + parameters: [ + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'datetime.fromepoch': { label: 'datetime.fromepoch', + documentation: + 'Creates a `ZONED DATETIME` given the seconds and nanoseconds since the start of the epoch.', + parameters: [ + { + label: 'seconds', + documentation: 'seconds :: INTEGER | FLOAT', + }, + { + label: 'nanoseconds', + documentation: 'nanoseconds :: INTEGER | FLOAT', + }, + ], }, 'datetime.fromepochmillis': { label: 'datetime.fromepochmillis', + documentation: + 'Creates a `ZONED DATETIME` given the milliseconds since the start of the epoch.', + parameters: [ + { + label: 'milliseconds', + documentation: 'milliseconds :: INTEGER | FLOAT', + }, + ], }, 'datetime.realtime': { label: 'datetime.realtime', + documentation: + 'Returns the current `ZONED DATETIME` instant using the realtime clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'datetime.statement': { label: 'datetime.statement', + documentation: + 'Returns the current `ZONED DATETIME` instant using the statement clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'datetime.transaction': { label: 'datetime.transaction', + documentation: + 'Returns the current `ZONED DATETIME` instant using the transaction clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'datetime.truncate': { label: 'datetime.truncate', + documentation: + 'Truncates the given temporal value to a `ZONED DATETIME` instant using the specified unit.', + parameters: [ + { + label: 'unit', + documentation: 'unit :: STRING', + }, + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + { + label: 'fields', + documentation: 'fields = null :: MAP', + }, + ], + }, + 'db.nameFromElementId': { + label: 'db.nameFromElementId', + documentation: 'Resolves the database name for the given element id', + parameters: [ + { + label: 'elementId', + documentation: 'elementId :: STRING', + }, + ], }, degrees: { label: 'degrees', + documentation: 'Converts radians to degrees.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, duration: { label: 'duration', + documentation: 'Creates a `DURATION` value.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + ], }, 'duration.between': { label: 'duration.between', + documentation: + 'Computes the `DURATION` between the `from` instant (inclusive) and the `to` instant (exclusive) in logical units.', + parameters: [ + { + label: 'from', + documentation: 'from :: ANY', + }, + { + label: 'to', + documentation: 'to :: ANY', + }, + ], }, 'duration.inDays': { label: 'duration.inDays', + documentation: + 'Computes the `DURATION` between the `from` instant (inclusive) and the `to` instant (exclusive) in days.', + parameters: [ + { + label: 'from', + documentation: 'from :: ANY', + }, + { + label: 'to', + documentation: 'to :: ANY', + }, + ], }, 'duration.inMonths': { label: 'duration.inMonths', + documentation: + 'Computes the `DURATION` between the `from` instant (inclusive) and the `to` instant (exclusive) in months.', + parameters: [ + { + label: 'from', + documentation: 'from :: ANY', + }, + { + label: 'to', + documentation: 'to :: ANY', + }, + ], }, 'duration.inSeconds': { label: 'duration.inSeconds', + documentation: + 'Computes the `DURATION` between the `from` instant (inclusive) and the `to` instant (exclusive) in seconds.', + parameters: [ + { + label: 'from', + documentation: 'from :: ANY', + }, + { + label: 'to', + documentation: 'to :: ANY', + }, + ], }, e: { label: 'e', + documentation: 'Returns the base of the natural logarithm, e.', + parameters: [], + }, + elementId: { + label: 'elementId', + documentation: 'Returns the element id of a `NODE` or `RELATIONSHIP`.', + parameters: [ + { + label: 'input', + documentation: 'input :: NODE | RELATIONSHIP', + }, + ], }, endNode: { label: 'endNode', + documentation: 'Returns the end `NODE` of a `RELATIONSHIP`.', + parameters: [ + { + label: 'input', + documentation: 'input :: RELATIONSHIP', + }, + ], }, exists: { label: 'exists', + documentation: + 'Returns true if a match for the pattern exists in the graph.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + ], }, exp: { label: 'exp', + documentation: + 'Returns e^n, where e is the base of the natural logarithm, and n is the value of the argument expression.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, file: { label: 'file', + documentation: + 'Returns the absolute path of the file that LOAD CSV is using.', + parameters: [], }, floor: { label: 'floor', - }, - 'gds.alpha.linkprediction.adamicAdar': { - label: 'gds.alpha.linkprediction.adamicAdar', - }, - 'gds.alpha.linkprediction.commonNeighbors': { - label: 'gds.alpha.linkprediction.commonNeighbors', - }, - 'gds.alpha.linkprediction.preferentialAttachment': { - label: 'gds.alpha.linkprediction.preferentialAttachment', - }, - 'gds.alpha.linkprediction.resourceAllocation': { - label: 'gds.alpha.linkprediction.resourceAllocation', - }, - 'gds.alpha.linkprediction.sameCommunity': { - label: 'gds.alpha.linkprediction.sameCommunity', - }, - 'gds.alpha.linkprediction.totalNeighbors': { - label: 'gds.alpha.linkprediction.totalNeighbors', - }, - 'gds.alpha.ml.oneHotEncoding': { - label: 'gds.alpha.ml.oneHotEncoding', - }, - 'gds.graph.exists': { - label: 'gds.graph.exists', - }, - 'gds.graph.project': { - label: 'gds.graph.project', - }, - 'gds.similarity.cosine': { - label: 'gds.similarity.cosine', - }, - 'gds.similarity.euclidean': { - label: 'gds.similarity.euclidean', - }, - 'gds.similarity.euclideanDistance': { - label: 'gds.similarity.euclideanDistance', - }, - 'gds.similarity.jaccard': { - label: 'gds.similarity.jaccard', - }, - 'gds.similarity.overlap': { - label: 'gds.similarity.overlap', - }, - 'gds.similarity.pearson': { - label: 'gds.similarity.pearson', - }, - 'gds.util.NaN': { - label: 'gds.util.NaN', - }, - 'gds.util.asNode': { - label: 'gds.util.asNode', - }, - 'gds.util.asNodes': { - label: 'gds.util.asNodes', - }, - 'gds.util.infinity': { - label: 'gds.util.infinity', - }, - 'gds.util.isFinite': { - label: 'gds.util.isFinite', - }, - 'gds.util.isInfinite': { - label: 'gds.util.isInfinite', - }, - 'gds.util.nodeProperty': { - label: 'gds.util.nodeProperty', - }, - 'gds.version': { - label: 'gds.version', + documentation: + 'Returns the largest `FLOAT` that is less than or equal to a number and equal to an `INTEGER`.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], + }, + 'graph.names': { + label: 'graph.names', + documentation: 'Lists the names of graphs in the current database.', + parameters: [], + }, + 'graph.propertiesByName': { + label: 'graph.propertiesByName', + documentation: 'Returns the `MAP` of properties associated with a graph.', + parameters: [ + { + label: 'graphName', + documentation: 'graphName :: STRING', + }, + ], }, haversin: { label: 'haversin', + documentation: 'Returns half the versine of a number.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, head: { label: 'head', + documentation: 'Returns the first element in a `LIST`.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST', + }, + ], }, id: { label: 'id', + documentation: 'Returns the id of a `NODE` or `RELATIONSHIP`.', + parameters: [ + { + label: 'input', + documentation: 'input :: NODE | RELATIONSHIP', + }, + ], }, isEmpty: { label: 'isEmpty', + documentation: + 'Checks whether a `STRING`, `MAP` or `LIST` is empty.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING | MAP | LIST', + }, + ], + }, + isNaN: { + label: 'isNaN', + documentation: 'Returns whether the given `INTEGER` or `FLOAT` is NaN.', + parameters: [ + { + label: 'input', + documentation: 'input :: INTEGER | FLOAT', + }, + ], }, keys: { label: 'keys', + documentation: + 'Returns a `LIST` containing the `STRING` representations for all the property names of a `NODE`, `RELATIONSHIP` or `MAP`.', + parameters: [ + { + label: 'input', + documentation: 'input :: NODE | RELATIONSHIP | MAP', + }, + ], }, labels: { label: 'labels', + documentation: + 'Returns a `LIST` containing the `STRING` representations for all the labels of a `NODE`.', + parameters: [ + { + label: 'input', + documentation: 'input :: NODE', + }, + ], }, last: { label: 'last', + documentation: 'Returns the last element in a `LIST`.', + parameters: [ + { + label: 'list', + documentation: 'list :: LIST', + }, + ], }, left: { label: 'left', + documentation: + 'Returns a `STRING` containing the specified number (`INTEGER`) of leftmost characters in the given `STRING`.', + parameters: [ + { + label: 'original', + documentation: 'original :: STRING', + }, + { + label: 'length', + documentation: 'length :: INTEGER', + }, + ], }, length: { label: 'length', + documentation: 'Returns the length of a `PATH`.', + parameters: [ + { + label: 'input', + documentation: 'input :: PATH', + }, + ], }, linenumber: { label: 'linenumber', + documentation: + 'Returns the line number that LOAD CSV is currently using.', + parameters: [], }, localdatetime: { label: 'localdatetime', + documentation: 'Creates a `LOCAL DATETIME` instant.', + parameters: [ + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'localdatetime.realtime': { label: 'localdatetime.realtime', + documentation: + 'Returns the current `LOCAL DATETIME` instant using the realtime clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'localdatetime.statement': { label: 'localdatetime.statement', + documentation: + 'Returns the current `LOCAL DATETIME` instant using the statement clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'localdatetime.transaction': { label: 'localdatetime.transaction', + documentation: + 'Returns the current `LOCAL DATETIME` instant using the transaction clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'localdatetime.truncate': { label: 'localdatetime.truncate', + documentation: + 'Truncates the given temporal value to a `LOCAL DATETIME` instant using the specified unit.', + parameters: [ + { + label: 'unit', + documentation: 'unit :: STRING', + }, + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + { + label: 'fields', + documentation: 'fields = null :: MAP', + }, + ], }, localtime: { label: 'localtime', + documentation: 'Creates a `LOCAL TIME` instant.', + parameters: [ + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'localtime.realtime': { label: 'localtime.realtime', + documentation: + 'Returns the current `LOCAL TIME` instant using the realtime clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'localtime.statement': { label: 'localtime.statement', + documentation: + 'Returns the current `LOCAL TIME` instant using the statement clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'localtime.transaction': { label: 'localtime.transaction', + documentation: + 'Returns the current `LOCAL TIME` instant using the transaction clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'localtime.truncate': { label: 'localtime.truncate', + documentation: + 'Truncates the given temporal value to a `LOCAL TIME` instant using the specified unit.', + parameters: [ + { + label: 'unit', + documentation: 'unit :: STRING', + }, + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + { + label: 'fields', + documentation: 'fields = null :: MAP', + }, + ], }, log: { label: 'log', + documentation: 'Returns the natural logarithm of a `FLOAT`.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, log10: { label: 'log10', + documentation: 'Returns the common logarithm (base 10) of a `FLOAT`.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, ltrim: { label: 'ltrim', + documentation: + 'Returns the given `STRING` with leading whitespace removed.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING', + }, + ], }, max: { label: 'max', + documentation: 'Returns the maximum value in a set of values.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + ], }, min: { label: 'min', + documentation: 'Returns the minimum value in a set of values.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + ], }, nodes: { label: 'nodes', + documentation: + 'Returns a `LIST` containing all the `NODE` values in a `PATH`.', + parameters: [ + { + label: 'input', + documentation: 'input :: PATH', + }, + ], }, none: { label: 'none', + documentation: + 'Returns true if the predicate holds for no element in the given `LIST`.', + parameters: [ + { + label: 'variable', + documentation: 'variable :: ANY', + }, + { + label: 'list', + documentation: 'list :: LIST', + }, + ], + }, + nullIf: { + label: 'nullIf', + documentation: + 'Returns null if the two given parameters are equivalent, otherwise returns the value of the first parameter.', + parameters: [ + { + label: 'v1', + documentation: 'v1 :: ANY', + }, + { + label: 'v2', + documentation: 'v2 :: ANY', + }, + ], }, percentileCont: { label: 'percentileCont', + documentation: + 'Returns the percentile of a value over a group using linear interpolation.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + { + label: 'percentile', + documentation: 'percentile :: FLOAT', + }, + ], }, percentileDisc: { label: 'percentileDisc', + documentation: + 'Returns the nearest `INTEGER` or `FLOAT` value to the given percentile over a group using a rounding method.', + parameters: [ + { + label: 'input', + documentation: 'input :: INTEGER | FLOAT', + }, + { + label: 'percentile', + documentation: 'percentile :: FLOAT', + }, + ], }, pi: { label: 'pi', + documentation: 'Returns the mathematical constant pi.', + parameters: [], }, point: { label: 'point', + documentation: + 'Returns a 2D or 3D point object, given two or respectively three coordinate values in the Cartesian coordinate system or WGS 84 geographic coordinate system.', + parameters: [ + { + label: 'input', + documentation: 'input :: MAP', + }, + ], }, 'point.distance': { label: 'point.distance', + documentation: + 'Returns a `FLOAT` representing the geodesic distance between any two points in the same CRS.', + parameters: [ + { + label: 'from', + documentation: 'from :: POINT', + }, + { + label: 'to', + documentation: 'to :: POINT', + }, + ], }, 'point.withinBBox': { label: 'point.withinBBox', + documentation: + 'Returns true if the provided point is within the bounding box defined by the two provided points.', + parameters: [ + { + label: 'point', + documentation: 'point :: POINT', + }, + { + label: 'lowerLeft', + documentation: 'lowerLeft :: POINT', + }, + { + label: 'upperRight', + documentation: 'upperRight :: POINT', + }, + ], }, properties: { label: 'properties', + documentation: + 'Returns a `MAP` containing all the properties of a `NODE`, `RELATIONSHIP` or `MAP`.', + parameters: [ + { + label: 'input', + documentation: 'input :: NODE | RELATIONSHIP | MAP', + }, + ], }, radians: { label: 'radians', + documentation: 'Converts degrees to radians.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, rand: { label: 'rand', + documentation: + 'Returns a random `FLOAT` in the range from 0 (inclusive) to 1 (exclusive).', + parameters: [], }, randomUUID: { label: 'randomUUID', + documentation: 'Generates a random UUID.', + parameters: [], }, range: { label: 'range', + documentation: + 'Returns a `LIST` comprising all `INTEGER` values within a specified range created with step length.', + parameters: [ + { + label: 'start', + documentation: 'start :: INTEGER', + }, + { + label: 'end', + documentation: 'end :: INTEGER', + }, + { + label: 'step', + documentation: 'step :: INTEGER', + }, + ], }, reduce: { label: 'reduce', + documentation: + 'Runs an expression against individual elements of a `LIST`, storing the result of the expression in an accumulator.', + parameters: [ + { + label: 'accumulator', + documentation: 'accumulator :: ANY', + }, + { + label: 'variable', + documentation: 'variable :: LIST', + }, + ], }, relationships: { label: 'relationships', + documentation: + 'Returns a `LIST` containing all the `RELATIONSHIP` values in a `PATH`.', + parameters: [ + { + label: 'input', + documentation: 'input :: PATH', + }, + ], }, replace: { label: 'replace', + documentation: + 'Returns a `STRING` in which all occurrences of a specified search `STRING` in the given `STRING` have been replaced by another (specified) replacement `STRING`.', + parameters: [ + { + label: 'original', + documentation: 'original :: STRING', + }, + { + label: 'search', + documentation: 'search :: STRING', + }, + { + label: 'replace', + documentation: 'replace :: STRING', + }, + ], }, reverse: { label: 'reverse', + documentation: + 'Returns a `STRING` or `LIST` in which the order of all characters or elements in the given `STRING` or `LIST` have been reversed.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING | LIST', + }, + ], }, right: { label: 'right', + documentation: + 'Returns a `STRING` containing the specified number of rightmost characters in the given `STRING`.', + parameters: [ + { + label: 'original', + documentation: 'original :: STRING', + }, + { + label: 'length', + documentation: 'length :: INTEGER', + }, + ], }, round: { label: 'round', + documentation: + 'Returns the value of a number rounded to the specified precision with the specified rounding mode.', + parameters: [ + { + label: 'value', + documentation: 'value :: FLOAT', + }, + { + label: 'precision', + documentation: 'precision :: INTEGER | FLOAT', + }, + { + label: 'mode', + documentation: 'mode :: STRING', + }, + ], }, rtrim: { label: 'rtrim', + documentation: + 'Returns the given `STRING` with trailing whitespace removed.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING', + }, + ], }, sign: { label: 'sign', + documentation: + 'Returns the signum of an `INTEGER` or `FLOAT`: 0 if the number is 0, -1 for any negative number, and 1 for any positive number.', + parameters: [ + { + label: 'input', + documentation: 'input :: INTEGER | FLOAT', + }, + ], }, sin: { label: 'sin', + documentation: 'Returns the sine of a `FLOAT`.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, single: { label: 'single', + documentation: + 'Returns true if the predicate holds for exactly one of the elements in the given `LIST`.', + parameters: [ + { + label: 'variable', + documentation: 'variable :: ANY', + }, + { + label: 'list', + documentation: 'list :: LIST', + }, + ], }, size: { label: 'size', + documentation: + 'Returns the number of items in a `LIST` or the number of Unicode characters in a `STRING`.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING | LIST', + }, + ], }, split: { label: 'split', + documentation: + 'Returns a `LIST` resulting from the splitting of the given `STRING` around matches of the given delimiter(s).', + parameters: [ + { + label: 'original', + documentation: 'original :: STRING', + }, + { + label: 'splitDelimiters', + documentation: 'splitDelimiters :: STRING | LIST', + }, + ], }, sqrt: { label: 'sqrt', + documentation: 'Returns the square root of a `FLOAT`.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, startNode: { label: 'startNode', + documentation: 'Returns the start `NODE` of a `RELATIONSHIP`.', + parameters: [ + { + label: 'input', + documentation: 'input :: RELATIONSHIP', + }, + ], }, stdev: { label: 'stdev', + documentation: + 'Returns the standard deviation for the given value over a group for a sample of a population.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, stdevp: { label: 'stdevp', + documentation: + 'Returns the standard deviation for the given value over a group for an entire population.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, substring: { label: 'substring', + documentation: + 'Returns a substring of a given `length` from the given `STRING`, beginning with a 0-based index start.', + parameters: [ + { + label: 'original', + documentation: 'original :: STRING', + }, + { + label: 'start', + documentation: 'start :: INTEGER', + }, + { + label: 'length', + documentation: 'length :: INTEGER', + }, + ], }, sum: { label: 'sum', + documentation: + 'Returns the sum of a set of `INTEGER`, `FLOAT` or `DURATION` values', + parameters: [ + { + label: 'input', + documentation: 'input :: INTEGER | FLOAT | DURATION', + }, + ], }, tail: { label: 'tail', + documentation: 'Returns all but the first element in a `LIST`.', + parameters: [ + { + label: 'input', + documentation: 'input :: LIST', + }, + ], }, tan: { label: 'tan', + documentation: 'Returns the tangent of a `FLOAT`.', + parameters: [ + { + label: 'input', + documentation: 'input :: FLOAT', + }, + ], }, time: { label: 'time', + documentation: 'Creates a `ZONED TIME` instant.', + parameters: [ + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'time.realtime': { label: 'time.realtime', + documentation: + 'Returns the current `ZONED TIME` instant using the realtime clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'time.statement': { label: 'time.statement', + documentation: + 'Returns the current `ZONED TIME` instant using the statement clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'time.transaction': { label: 'time.transaction', + documentation: + 'Returns the current `ZONED TIME` instant using the transaction clock.', + parameters: [ + { + label: 'timezone', + documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + ], }, 'time.truncate': { label: 'time.truncate', + documentation: + 'Truncates the given temporal value to a `ZONED TIME` instant using the specified unit.', + parameters: [ + { + label: 'unit', + documentation: 'unit :: STRING', + }, + { + label: 'input', + documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', + }, + { + label: 'fields', + documentation: 'fields = null :: MAP', + }, + ], + }, + timestamp: { + label: 'timestamp', + documentation: + 'Returns the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC', + parameters: [], }, toBoolean: { label: 'toBoolean', + documentation: + 'Converts a `BOOLEAN`, `STRING` or `INTEGER` value to a `BOOLEAN` value. For `INTEGER` values, 0 is defined to be false and any other `INTEGER` is defined to be true.', + parameters: [ + { + label: 'input', + documentation: 'input :: BOOLEAN | STRING | INTEGER', + }, + ], }, toBooleanList: { label: 'toBooleanList', + documentation: + 'Converts a `LIST` of values to a `LIST` values. If any values are not convertible to `BOOLEAN` they will be null in the `LIST` returned.', + parameters: [ + { + label: 'input', + documentation: 'input :: LIST', + }, + ], }, toBooleanOrNull: { label: 'toBooleanOrNull', + documentation: + 'Converts a value to a `BOOLEAN` value, or null if the value cannot be converted.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + ], }, toFloat: { label: 'toFloat', + documentation: + 'Converts a `STRING`, `INTEGER` or `FLOAT` value to a `FLOAT` value.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING | INTEGER | FLOAT', + }, + ], }, toFloatList: { label: 'toFloatList', + documentation: + 'Converts a `LIST` to a `LIST` values. If any values are not convertible to `FLOAT` they will be null in the `LIST` returned.', + parameters: [ + { + label: 'input', + documentation: 'input :: LIST', + }, + ], }, toFloatOrNull: { label: 'toFloatOrNull', + documentation: + 'Converts a value to a `FLOAT` value, or null if the value cannot be converted.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + ], }, toInteger: { label: 'toInteger', + documentation: + 'Converts a `BOOLEAN`, `STRING`, `INTEGER` or `FLOAT` value to an `INTEGER` value. For `BOOLEAN` values, true is defined to be 1 and false is defined to be 0.', + parameters: [ + { + label: 'input', + documentation: 'input :: BOOLEAN | STRING | INTEGER | FLOAT', + }, + ], }, toIntegerList: { label: 'toIntegerList', + documentation: + 'Converts a `LIST` to a `LIST` values. If any values are not convertible to `INTEGER` they will be null in the `LIST` returned.', + parameters: [ + { + label: 'input', + documentation: 'input :: LIST', + }, + ], }, toIntegerOrNull: { label: 'toIntegerOrNull', + documentation: + 'Converts a value to an `INTEGER` value, or null if the value cannot be converted.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + ], }, toLower: { label: 'toLower', + documentation: 'Returns the given `STRING` in lowercase.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING', + }, + ], + }, + toString: { + label: 'toString', + documentation: + 'Converts an `INTEGER`, `FLOAT`, `BOOLEAN`, `POINT` or temporal type (i.e. `DATE`, `ZONED TIME`, `LOCAL TIME`, `ZONED DATETIME`, `LOCAL DATETIME` or `DURATION`) value to a `STRING`.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + ], }, toStringList: { label: 'toStringList', + documentation: + 'Converts a `LIST` to a `LIST` values. If any values are not convertible to `STRING` they will be null in the `LIST` returned.', + parameters: [ + { + label: 'input', + documentation: 'input :: LIST', + }, + ], }, toStringOrNull: { label: 'toStringOrNull', + documentation: + 'Converts an `INTEGER`, `FLOAT`, `BOOLEAN`, `POINT` or temporal type (i.e. `DATE`, `ZONED TIME`, `LOCAL TIME`, `ZONED DATETIME`, `LOCAL DATETIME` or `DURATION`) value to a `STRING`, or null if the value cannot be converted.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + ], }, toUpper: { label: 'toUpper', + documentation: 'Returns the given `STRING` in uppercase.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING', + }, + ], }, trim: { label: 'trim', + documentation: + 'Returns the given `STRING` with leading and trailing whitespace removed.', + parameters: [ + { + label: 'input', + documentation: 'input :: STRING', + }, + ], }, type: { label: 'type', + documentation: + 'Returns a `STRING` representation of the `RELATIONSHIP` type.', + parameters: [ + { + label: 'input', + documentation: 'input :: RELATIONSHIP', + }, + ], + }, + valueType: { + label: 'valueType', + documentation: + 'Returns a `STRING` representation of the most precise value type that the given expression evaluates to.', + parameters: [ + { + label: 'input', + documentation: 'input :: ANY', + }, + ], }, }, procedureSignatures: { 'apoc.algo.aStar': { label: 'apoc.algo.aStar', + documentation: + 'Runs the A* search algorithm to find the optimal path between two `NODE` values, using the given `RELATIONSHIP` property name for the cost function.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE', + }, + { + label: 'relTypesAndDirections', + documentation: 'relTypesAndDirections :: STRING', + }, + { + label: 'weightPropertyName', + documentation: 'weightPropertyName :: STRING', + }, + { + label: 'latPropertyName', + documentation: 'latPropertyName :: STRING', + }, + { + label: 'lonPropertyName', + documentation: 'lonPropertyName :: STRING', + }, + ], }, 'apoc.algo.aStarConfig': { label: 'apoc.algo.aStarConfig', - }, - 'apoc.algo.aStarWithPoint': { - label: 'apoc.algo.aStarWithPoint', + documentation: + 'Runs the A* search algorithm to find the optimal path between two `NODE` values, using the given `RELATIONSHIP` property name for the cost function.\nThis procedure looks for weight, latitude and longitude properties in the config.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE', + }, + { + label: 'relTypesAndDirections', + documentation: 'relTypesAndDirections :: STRING', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.algo.allSimplePaths': { label: 'apoc.algo.allSimplePaths', + documentation: + 'Runs a search algorithm to find all of the simple paths between the given `RELATIONSHIP` values, up to a max depth described by `maxNodes`.\nThe returned paths will not contain loops.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE', + }, + { + label: 'relTypesAndDirections', + documentation: 'relTypesAndDirections :: STRING', + }, + { + label: 'maxNodes', + documentation: 'maxNodes :: INTEGER', + }, + ], }, 'apoc.algo.cover': { label: 'apoc.algo.cover', + documentation: + 'Returns all `RELATIONSHIP` values connecting the given set of `NODE` values.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY', + }, + ], }, 'apoc.algo.dijkstra': { label: 'apoc.algo.dijkstra', - }, - 'apoc.algo.dijkstraWithDefaultWeight': { - label: 'apoc.algo.dijkstraWithDefaultWeight', - }, - 'apoc.algo.travellingSalesman': { - label: 'apoc.algo.travellingSalesman', + documentation: + "Runs Dijkstra's algorithm using the given `RELATIONSHIP` property as the cost function.", + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE', + }, + { + label: 'relTypesAndDirections', + documentation: 'relTypesAndDirections :: STRING', + }, + { + label: 'weightPropertyName', + documentation: 'weightPropertyName :: STRING', + }, + { + label: 'defaultWeight', + documentation: 'defaultWeight = NaN :: FLOAT', + }, + { + label: 'numberOfWantedPaths', + documentation: 'numberOfWantedPaths = 1 :: INTEGER', + }, + ], }, 'apoc.atomic.add': { label: 'apoc.atomic.add', + documentation: + 'Sets the given property to the sum of itself and the given `INTEGER` or `FLOAT` value.\nThe procedure then sets the property to the returned sum.', + parameters: [ + { + label: 'container', + documentation: 'container :: ANY', + }, + { + label: 'propertyName', + documentation: 'propertyName :: STRING', + }, + { + label: 'number', + documentation: 'number :: INTEGER | FLOAT', + }, + { + label: 'retryAttempts', + documentation: 'retryAttempts = 5 :: INTEGER', + }, + ], }, 'apoc.atomic.concat': { label: 'apoc.atomic.concat', + documentation: + 'Sets the given property to the concatenation of itself and the `STRING` value.\nThe procedure then sets the property to the returned `STRING`.', + parameters: [ + { + label: 'container', + documentation: 'container :: ANY', + }, + { + label: 'propertyName', + documentation: 'propertyName :: STRING', + }, + { + label: 'string', + documentation: 'string :: STRING', + }, + { + label: 'retryAttempts', + documentation: 'retryAttempts = 5 :: INTEGER', + }, + ], }, 'apoc.atomic.insert': { label: 'apoc.atomic.insert', + documentation: + 'Inserts a value at position into the `LIST` value of a property.\nThe procedure then sets the result back on the property.', + parameters: [ + { + label: 'container', + documentation: 'container :: ANY', + }, + { + label: 'propertyName', + documentation: 'propertyName :: STRING', + }, + { + label: 'position', + documentation: 'position :: INTEGER', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + { + label: 'retryAttempts', + documentation: 'retryAttempts = 5 :: INTEGER', + }, + ], }, 'apoc.atomic.remove': { label: 'apoc.atomic.remove', + documentation: + 'Removes the element at position from the `LIST` value of a property.\nThe procedure then sets the property to the resulting `LIST` value.', + parameters: [ + { + label: 'container', + documentation: 'container :: ANY', + }, + { + label: 'propertyName', + documentation: 'propertyName :: STRING', + }, + { + label: 'position', + documentation: 'position :: INTEGER', + }, + { + label: 'retryAttempts', + documentation: 'retryAttempts = 5 :: INTEGER', + }, + ], }, 'apoc.atomic.subtract': { label: 'apoc.atomic.subtract', + documentation: + 'Sets the property of a value to itself minus the given `INTEGER` or `FLOAT` value.\nThe procedure then sets the property to the returned sum.', + parameters: [ + { + label: 'container', + documentation: 'container :: ANY', + }, + { + label: 'propertyName', + documentation: 'propertyName :: STRING', + }, + { + label: 'number', + documentation: 'number :: INTEGER | FLOAT', + }, + { + label: 'retryAttempts', + documentation: 'retryAttempts = 5 :: INTEGER', + }, + ], }, 'apoc.atomic.update': { label: 'apoc.atomic.update', - }, - 'apoc.bolt.execute': { - label: 'apoc.bolt.execute', - }, - 'apoc.bolt.load': { - label: 'apoc.bolt.load', - }, - 'apoc.bolt.load.fromLocal': { - label: 'apoc.bolt.load.fromLocal', + documentation: 'Updates the value of a property with a Cypher operation.', + parameters: [ + { + label: 'container', + documentation: 'container :: ANY', + }, + { + label: 'propertyName', + documentation: 'propertyName :: STRING', + }, + { + label: 'operation', + documentation: 'operation :: STRING', + }, + { + label: 'retryAttempts', + documentation: 'retryAttempts = 5 :: INTEGER', + }, + ], }, 'apoc.case': { label: 'apoc.case', - }, - 'apoc.cluster.graph': { - label: 'apoc.cluster.graph', + documentation: + 'For each pair of conditional and read-only queries in the given `LIST`, this procedure will run the first query for which the conditional is evaluated to true. If none of the conditionals are true, the `ELSE` query will run instead.', + parameters: [ + { + label: 'conditionals', + documentation: 'conditionals :: LIST', + }, + { + label: 'elseQuery', + documentation: 'elseQuery = :: STRING', + }, + { + label: 'params', + documentation: 'params = {} :: MAP', + }, + ], }, 'apoc.coll.elements': { label: 'apoc.coll.elements', + documentation: + 'Deconstructs a `LIST` into identifiers indicating their specific type.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'limit', + documentation: 'limit = -1 :: INTEGER', + }, + { + label: 'offset', + documentation: 'offset = 0 :: INTEGER', + }, + ], }, 'apoc.coll.pairWithOffset': { label: 'apoc.coll.pairWithOffset', + documentation: 'Returns a `LIST` of pairs defined by the offset.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'offset', + documentation: 'offset :: INTEGER', + }, + ], }, 'apoc.coll.partition': { label: 'apoc.coll.partition', + documentation: + 'Partitions the original `LIST` into a new `LIST` of the given batch size.\nThe final `LIST` may be smaller than the given batch size.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'batchSize', + documentation: 'batchSize :: INTEGER', + }, + ], }, 'apoc.coll.split': { label: 'apoc.coll.split', + documentation: + 'Splits a collection by the given value.\nThe value itself will not be part of the resulting `LIST` values.', + parameters: [ + { + label: 'coll', + documentation: 'coll :: LIST', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.coll.zipToRows': { label: 'apoc.coll.zipToRows', - }, - 'apoc.config.list': { - label: 'apoc.config.list', - }, - 'apoc.config.map': { - label: 'apoc.config.map', + documentation: + 'Returns the two `LIST` values zipped together, with one row per zipped pair.', + parameters: [ + { + label: 'list1', + documentation: 'list1 :: LIST', + }, + { + label: 'list2', + documentation: 'list2 :: LIST', + }, + ], }, 'apoc.convert.setJsonProperty': { label: 'apoc.convert.setJsonProperty', + documentation: + 'Serializes the given JSON object and sets it as a property on the given `NODE`.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.convert.toTree': { label: 'apoc.convert.toTree', - }, - 'apoc.couchbase.append': { - label: 'apoc.couchbase.append', - }, - 'apoc.couchbase.exists': { - label: 'apoc.couchbase.exists', - }, - 'apoc.couchbase.get': { - label: 'apoc.couchbase.get', - }, - 'apoc.couchbase.insert': { - label: 'apoc.couchbase.insert', - }, - 'apoc.couchbase.namedParamsQuery': { - label: 'apoc.couchbase.namedParamsQuery', - }, - 'apoc.couchbase.posParamsQuery': { - label: 'apoc.couchbase.posParamsQuery', - }, - 'apoc.couchbase.prepend': { - label: 'apoc.couchbase.prepend', - }, - 'apoc.couchbase.query': { - label: 'apoc.couchbase.query', - }, - 'apoc.couchbase.remove': { - label: 'apoc.couchbase.remove', - }, - 'apoc.couchbase.replace': { - label: 'apoc.couchbase.replace', - }, - 'apoc.couchbase.upsert': { - label: 'apoc.couchbase.upsert', + documentation: + 'Returns a stream of `MAP` values, representing the given `PATH` values as a tree with at least one root.', + parameters: [ + { + label: 'paths', + documentation: 'paths :: LIST', + }, + { + label: 'lowerCaseRels', + documentation: 'lowerCaseRels = true :: BOOLEAN', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.create.addLabels': { label: 'apoc.create.addLabels', + documentation: 'Adds the given labels to the given `NODE` values.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY', + }, + { + label: 'labels', + documentation: 'labels :: LIST', + }, + ], }, 'apoc.create.clonePathToVirtual': { label: 'apoc.create.clonePathToVirtual', + documentation: + 'Takes the given `PATH` and returns a virtual representation of it.', + parameters: [ + { + label: 'path', + documentation: 'path :: PATH', + }, + ], }, 'apoc.create.clonePathsToVirtual': { label: 'apoc.create.clonePathsToVirtual', + documentation: + 'Takes the given `LIST` and returns a virtual representation of them.', + parameters: [ + { + label: 'paths', + documentation: 'paths :: LIST', + }, + ], }, 'apoc.create.node': { label: 'apoc.create.node', + documentation: 'Creates a `NODE` with the given dynamic labels.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST', + }, + { + label: 'props', + documentation: 'props :: MAP', + }, + ], }, 'apoc.create.nodes': { label: 'apoc.create.nodes', + documentation: 'Creates `NODE` values with the given dynamic labels.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST', + }, + { + label: 'props', + documentation: 'props :: LIST', + }, + ], }, 'apoc.create.relationship': { label: 'apoc.create.relationship', + documentation: + 'Creates a `RELATIONSHIP` with the given dynamic relationship type.', + parameters: [ + { + label: 'from', + documentation: 'from :: NODE', + }, + { + label: 'relType', + documentation: 'relType :: STRING', + }, + { + label: 'props', + documentation: 'props :: MAP', + }, + { + label: 'to', + documentation: 'to :: NODE', + }, + ], }, 'apoc.create.removeLabels': { label: 'apoc.create.removeLabels', + documentation: 'Removes the given labels from the given `NODE` values.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY', + }, + { + label: 'labels', + documentation: 'labels :: LIST', + }, + ], }, 'apoc.create.removeProperties': { label: 'apoc.create.removeProperties', + documentation: + 'Removes the given properties from the given `NODE` values.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY', + }, + { + label: 'keys', + documentation: 'keys :: LIST', + }, + ], }, 'apoc.create.removeRelProperties': { label: 'apoc.create.removeRelProperties', + documentation: + 'Removes the given properties from the given `RELATIONSHIP` values.', + parameters: [ + { + label: 'rels', + documentation: 'rels :: ANY', + }, + { + label: 'keys', + documentation: 'keys :: LIST', + }, + ], }, 'apoc.create.setLabels': { label: 'apoc.create.setLabels', + documentation: + 'Sets the given labels to the given `NODE` values. Non-matching labels are removed from the nodes.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY', + }, + { + label: 'labels', + documentation: 'labels :: LIST', + }, + ], }, 'apoc.create.setProperties': { label: 'apoc.create.setProperties', + documentation: 'Sets the given properties to the given `NODE` values.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY', + }, + { + label: 'keys', + documentation: 'keys :: LIST', + }, + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.create.setProperty': { label: 'apoc.create.setProperty', + documentation: 'Sets the given property to the given `NODE` values.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.create.setRelProperties': { label: 'apoc.create.setRelProperties', + documentation: 'Sets the given properties on the `RELATIONSHIP` values.', + parameters: [ + { + label: 'rels', + documentation: 'rels :: ANY', + }, + { + label: 'keys', + documentation: 'keys :: LIST', + }, + { + label: 'values', + documentation: 'values :: LIST', + }, + ], }, 'apoc.create.setRelProperty': { label: 'apoc.create.setRelProperty', + documentation: 'Sets the given property on the `RELATIONSHIP` values.', + parameters: [ + { + label: 'rels', + documentation: 'rels :: ANY', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.create.uuids': { label: 'apoc.create.uuids', + documentation: 'Returns a stream of UUIDs.', + parameters: [ + { + label: 'count', + documentation: 'count :: INTEGER', + }, + ], }, 'apoc.create.vNode': { label: 'apoc.create.vNode', + documentation: 'Returns a virtual `NODE`.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST', + }, + { + label: 'props', + documentation: 'props :: MAP', + }, + ], }, 'apoc.create.vNodes': { label: 'apoc.create.vNodes', - }, - 'apoc.create.vPattern': { - label: 'apoc.create.vPattern', - }, - 'apoc.create.vPatternFull': { - label: 'apoc.create.vPatternFull', + documentation: 'Returns virtual `NODE` values.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST', + }, + { + label: 'props', + documentation: 'props :: LIST', + }, + ], }, 'apoc.create.vRelationship': { label: 'apoc.create.vRelationship', + documentation: 'Returns a virtual `RELATIONSHIP`.', + parameters: [ + { + label: 'from', + documentation: 'from :: NODE', + }, + { + label: 'relType', + documentation: 'relType :: STRING', + }, + { + label: 'props', + documentation: 'props :: MAP', + }, + { + label: 'to', + documentation: 'to :: NODE', + }, + ], }, 'apoc.create.virtualPath': { label: 'apoc.create.virtualPath', - }, - 'apoc.custom.asFunction': { - label: 'apoc.custom.asFunction', - }, - 'apoc.custom.asProcedure': { - label: 'apoc.custom.asProcedure', - }, - 'apoc.custom.declareFunction': { - label: 'apoc.custom.declareFunction', - }, - 'apoc.custom.declareProcedure': { - label: 'apoc.custom.declareProcedure', - }, - 'apoc.custom.list': { - label: 'apoc.custom.list', - }, - 'apoc.custom.removeFunction': { - label: 'apoc.custom.removeFunction', - }, - 'apoc.custom.removeProcedure': { - label: 'apoc.custom.removeProcedure', + documentation: 'Returns a virtual `PATH`.', + parameters: [ + { + label: 'labelsN', + documentation: 'labelsN :: LIST', + }, + { + label: 'n', + documentation: 'n :: MAP', + }, + { + label: 'relType', + documentation: 'relType :: STRING', + }, + { + label: 'props', + documentation: 'props :: MAP', + }, + { + label: 'labelsM', + documentation: 'labelsM :: LIST', + }, + { + label: 'm', + documentation: 'm :: MAP', + }, + ], }, 'apoc.cypher.doIt': { label: 'apoc.cypher.doIt', - }, - 'apoc.cypher.mapParallel': { - label: 'apoc.cypher.mapParallel', - }, - 'apoc.cypher.mapParallel2': { - label: 'apoc.cypher.mapParallel2', - }, - 'apoc.cypher.parallel': { - label: 'apoc.cypher.parallel', - }, - 'apoc.cypher.parallel2': { - label: 'apoc.cypher.parallel2', + documentation: + 'Runs a dynamically constructed statement with the given parameters. This procedure allows for both read and write statements.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'params', + documentation: 'params :: MAP', + }, + ], }, 'apoc.cypher.run': { label: 'apoc.cypher.run', - }, - 'apoc.cypher.runFile': { - label: 'apoc.cypher.runFile', - }, - 'apoc.cypher.runFiles': { - label: 'apoc.cypher.runFiles', + documentation: + 'Runs a dynamically constructed read-only statement with the given parameters.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'params', + documentation: 'params :: MAP', + }, + ], }, 'apoc.cypher.runMany': { label: 'apoc.cypher.runMany', + documentation: + 'Runs each semicolon separated statement and returns a summary of the statement outcomes.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'params', + documentation: 'params :: MAP', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.cypher.runManyReadOnly': { label: 'apoc.cypher.runManyReadOnly', + documentation: + 'Runs each semicolon separated read-only statement and returns a summary of the statement outcomes.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'params', + documentation: 'params :: MAP', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.cypher.runSchema': { label: 'apoc.cypher.runSchema', - }, - 'apoc.cypher.runSchemaFile': { - label: 'apoc.cypher.runSchemaFile', - }, - 'apoc.cypher.runSchemaFiles': { - label: 'apoc.cypher.runSchemaFiles', + documentation: + 'Runs the given query schema statement with the given parameters.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'params', + documentation: 'params :: MAP', + }, + ], }, 'apoc.cypher.runTimeboxed': { label: 'apoc.cypher.runTimeboxed', + documentation: + 'Terminates a Cypher statement if it has not finished before the set timeout (ms).', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'params', + documentation: 'params :: MAP', + }, + { + label: 'timeout', + documentation: 'timeout :: INTEGER', + }, + ], }, 'apoc.cypher.runWrite': { label: 'apoc.cypher.runWrite', - }, - 'apoc.date.expire': { - label: 'apoc.date.expire', - }, - 'apoc.date.expireIn': { - label: 'apoc.date.expireIn', - }, - 'apoc.diff.graphs': { - label: 'apoc.diff.graphs', + documentation: 'Alias for `apoc.cypher.doIt`.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'params', + documentation: 'params :: MAP', + }, + ], }, 'apoc.do.case': { label: 'apoc.do.case', + documentation: + 'For each pair of conditional queries in the given `LIST`, this procedure will run the first query for which the conditional is evaluated to true.\nIf none of the conditionals are true, the `ELSE` query will run instead.', + parameters: [ + { + label: 'conditionals', + documentation: 'conditionals :: LIST', + }, + { + label: 'elseQuery', + documentation: 'elseQuery = :: STRING', + }, + { + label: 'params', + documentation: 'params = {} :: MAP', + }, + ], }, 'apoc.do.when': { label: 'apoc.do.when', - }, - 'apoc.dv.catalog.add': { - label: 'apoc.dv.catalog.add', - }, - 'apoc.dv.catalog.list': { - label: 'apoc.dv.catalog.list', - }, - 'apoc.dv.catalog.remove': { - label: 'apoc.dv.catalog.remove', - }, - 'apoc.dv.query': { - label: 'apoc.dv.query', - }, - 'apoc.dv.queryAndLink': { - label: 'apoc.dv.queryAndLink', - }, - 'apoc.es.get': { - label: 'apoc.es.get', - }, - 'apoc.es.getRaw': { - label: 'apoc.es.getRaw', - }, - 'apoc.es.post': { - label: 'apoc.es.post', - }, - 'apoc.es.postRaw': { - label: 'apoc.es.postRaw', - }, - 'apoc.es.put': { - label: 'apoc.es.put', - }, - 'apoc.es.query': { - label: 'apoc.es.query', - }, - 'apoc.es.stats': { - label: 'apoc.es.stats', + documentation: + 'Runs the given read/write `ifQuery` if the conditional has evaluated to true, otherwise the `elseQuery` will run.', + parameters: [ + { + label: 'condition', + documentation: 'condition :: BOOLEAN', + }, + { + label: 'ifQuery', + documentation: 'ifQuery :: STRING', + }, + { + label: 'elseQuery', + documentation: 'elseQuery = :: STRING', + }, + { + label: 'params', + documentation: 'params = {} :: MAP', + }, + ], }, 'apoc.example.movies': { label: 'apoc.example.movies', + documentation: 'Seeds the database with the Neo4j movie dataset.', + parameters: [], }, 'apoc.export.arrow.all': { label: 'apoc.export.arrow.all', + documentation: 'Exports the full database as an arrow file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.arrow.graph': { label: 'apoc.export.arrow.graph', + documentation: 'Exports the given graph as an arrow file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'graph', + documentation: 'graph :: ANY', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.arrow.query': { label: 'apoc.export.arrow.query', + documentation: + 'Exports the results from the given Cypher query as an arrow file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'query', + documentation: 'query :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.arrow.stream.all': { label: 'apoc.export.arrow.stream.all', + documentation: 'Exports the full database as an arrow byte array.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.arrow.stream.graph': { label: 'apoc.export.arrow.stream.graph', + documentation: 'Exports the given graph as an arrow byte array.', + parameters: [ + { + label: 'graph', + documentation: 'graph :: ANY', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.arrow.stream.query': { label: 'apoc.export.arrow.stream.query', + documentation: 'Exports the given Cypher query as an arrow byte array.', + parameters: [ + { + label: 'query', + documentation: 'query :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.csv.all': { label: 'apoc.export.csv.all', + documentation: 'Exports the full database to the provided CSV file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.export.csv.data': { label: 'apoc.export.csv.data', + documentation: + 'Exports the given `NODE` and `RELATIONSHIP` values to the provided CSV file.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'rels', + documentation: 'rels :: LIST', + }, + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.export.csv.graph': { label: 'apoc.export.csv.graph', + documentation: 'Exports the given graph to the provided CSV file.', + parameters: [ + { + label: 'graph', + documentation: 'graph :: MAP', + }, + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.export.csv.query': { label: 'apoc.export.csv.query', + documentation: + 'Exports the results from running the given Cypher query to the provided CSV file.', + parameters: [ + { + label: 'query', + documentation: 'query :: STRING', + }, + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.export.cypher.all': { label: 'apoc.export.cypher.all', + documentation: + 'Exports the full database (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', + parameters: [ + { + label: 'file', + documentation: 'file = :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.cypher.data': { label: 'apoc.export.cypher.data', + documentation: + 'Exports the given `NODE` and `RELATIONSHIP` values (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'rels', + documentation: 'rels :: LIST', + }, + { + label: 'file', + documentation: 'file = :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.cypher.graph': { label: 'apoc.export.cypher.graph', + documentation: + 'Exports the given graph (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', + parameters: [ + { + label: 'graph', + documentation: 'graph :: MAP', + }, + { + label: 'file', + documentation: 'file = :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.cypher.query': { label: 'apoc.export.cypher.query', + documentation: + 'Exports the `NODE` and `RELATIONSHIP` values from the given Cypher query (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'file', + documentation: 'file = :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.cypher.schema': { label: 'apoc.export.cypher.schema', - }, - 'apoc.export.cypherAll': { - label: 'apoc.export.cypherAll', - }, - 'apoc.export.cypherData': { - label: 'apoc.export.cypherData', - }, - 'apoc.export.cypherGraph': { - label: 'apoc.export.cypherGraph', - }, - 'apoc.export.cypherQuery': { - label: 'apoc.export.cypherQuery', + documentation: + 'Exports all schema indexes and constraints to Cypher statements.', + parameters: [ + { + label: 'file', + documentation: 'file = :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.graphml.all': { label: 'apoc.export.graphml.all', + documentation: 'Exports the full database to the provided GraphML file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.export.graphml.data': { label: 'apoc.export.graphml.data', + documentation: + 'Exports the given `NODE` and `RELATIONSHIP` values to the provided GraphML file.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'rels', + documentation: 'rels :: LIST', + }, + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.export.graphml.graph': { label: 'apoc.export.graphml.graph', + documentation: 'Exports the given graph to the provided GraphML file.', + parameters: [ + { + label: 'graph', + documentation: 'graph :: MAP', + }, + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.export.graphml.query': { label: 'apoc.export.graphml.query', + documentation: + 'Exports the given `NODE` and `RELATIONSHIP` values from the Cypher statement to the provided GraphML file.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.export.json.all': { label: 'apoc.export.json.all', + documentation: 'Exports the full database to the provided JSON file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.json.data': { label: 'apoc.export.json.data', + documentation: + 'Exports the given `NODE` and `RELATIONSHIP` values to the provided JSON file.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'rels', + documentation: 'rels :: LIST', + }, + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.json.graph': { label: 'apoc.export.json.graph', + documentation: 'Exports the given graph to the provided JSON file.', + parameters: [ + { + label: 'graph', + documentation: 'graph :: MAP', + }, + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.export.json.query': { label: 'apoc.export.json.query', - }, - 'apoc.generate.ba': { - label: 'apoc.generate.ba', - }, - 'apoc.generate.complete': { - label: 'apoc.generate.complete', - }, - 'apoc.generate.er': { - label: 'apoc.generate.er', - }, - 'apoc.generate.simple': { - label: 'apoc.generate.simple', - }, - 'apoc.generate.ws': { - label: 'apoc.generate.ws', - }, - 'apoc.gephi.add': { - label: 'apoc.gephi.add', - }, - 'apoc.get.nodes': { - label: 'apoc.get.nodes', - }, - 'apoc.get.rels': { - label: 'apoc.get.rels', + documentation: + 'Exports the results from the Cypher statement to the provided JSON file.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.graph.from': { label: 'apoc.graph.from', + documentation: + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the given data.', + parameters: [ + { + label: 'data', + documentation: 'data :: ANY', + }, + { + label: 'name', + documentation: 'name :: STRING', + }, + { + label: 'props', + documentation: 'props :: MAP', + }, + ], }, 'apoc.graph.fromCypher': { label: 'apoc.graph.fromCypher', + documentation: + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given Cypher statement.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'params', + documentation: 'params :: MAP', + }, + { + label: 'name', + documentation: 'name :: STRING', + }, + { + label: 'props', + documentation: 'props :: MAP', + }, + ], }, 'apoc.graph.fromDB': { label: 'apoc.graph.fromDB', + documentation: + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given database.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING', + }, + { + label: 'props', + documentation: 'props :: MAP', + }, + ], }, 'apoc.graph.fromData': { label: 'apoc.graph.fromData', + documentation: + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the given data.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'rels', + documentation: 'rels :: LIST', + }, + { + label: 'name', + documentation: 'name :: STRING', + }, + { + label: 'props', + documentation: 'props :: MAP', + }, + ], }, 'apoc.graph.fromDocument': { label: 'apoc.graph.fromDocument', + documentation: + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given JSON file.', + parameters: [ + { + label: 'json', + documentation: 'json :: ANY', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.graph.fromPath': { label: 'apoc.graph.fromPath', + documentation: + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given `PATH`.', + parameters: [ + { + label: 'path', + documentation: 'path :: PATH', + }, + { + label: 'name', + documentation: 'name :: STRING', + }, + { + label: 'props', + documentation: 'props :: MAP', + }, + ], }, 'apoc.graph.fromPaths': { label: 'apoc.graph.fromPaths', + documentation: + 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given `PATH` values.', + parameters: [ + { + label: 'paths', + documentation: 'paths :: LIST', + }, + { + label: 'name', + documentation: 'name :: STRING', + }, + { + label: 'props', + documentation: 'props :: MAP', + }, + ], }, 'apoc.graph.validateDocument': { label: 'apoc.graph.validateDocument', + documentation: + 'Validates the JSON file and returns the result of the validation.', + parameters: [ + { + label: 'json', + documentation: 'json :: ANY', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.help': { label: 'apoc.help', + documentation: + 'Returns descriptions of the available APOC procedures and functions. If a keyword is provided, it will return only those procedures and functions that have the keyword in their name.', + parameters: [ + { + label: 'proc', + documentation: 'proc :: STRING', + }, + ], }, 'apoc.import.csv': { label: 'apoc.import.csv', + documentation: + 'Imports `NODE` and `RELATIONSHIP` values with the given labels and types from the provided CSV file.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'rels', + documentation: 'rels :: LIST', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.import.graphml': { label: 'apoc.import.graphml', + documentation: 'Imports a graph from the provided GraphML file.', + parameters: [ + { + label: 'urlOrBinaryFile', + documentation: 'urlOrBinaryFile :: ANY', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.import.json': { label: 'apoc.import.json', + documentation: 'Imports a graph from the provided JSON file.', + parameters: [ + { + label: 'urlOrBinaryFile', + documentation: 'urlOrBinaryFile :: ANY', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.import.xml': { label: 'apoc.import.xml', - }, - 'apoc.json.validate': { - label: 'apoc.json.validate', + documentation: 'Imports a graph from the provided XML file.', + parameters: [ + { + label: 'urlOrBinary', + documentation: 'urlOrBinary :: ANY', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.load.arrow': { label: 'apoc.load.arrow', + documentation: + 'Imports `NODE` and `RELATIONSHIP` values from the provided arrow file.', + parameters: [ + { + label: 'file', + documentation: 'file :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.load.arrow.stream': { label: 'apoc.load.arrow.stream', - }, - 'apoc.load.csv': { - label: 'apoc.load.csv', - }, - 'apoc.load.csvParams': { - label: 'apoc.load.csvParams', - }, - 'apoc.load.directory': { - label: 'apoc.load.directory', - }, - 'apoc.load.directory.async.add': { - label: 'apoc.load.directory.async.add', - }, - 'apoc.load.directory.async.list': { - label: 'apoc.load.directory.async.list', - }, - 'apoc.load.directory.async.remove': { - label: 'apoc.load.directory.async.remove', - }, - 'apoc.load.directory.async.removeAll': { - label: 'apoc.load.directory.async.removeAll', - }, - 'apoc.load.driver': { - label: 'apoc.load.driver', - }, - 'apoc.load.html': { - label: 'apoc.load.html', - }, - 'apoc.load.htmlPlainText': { - label: 'apoc.load.htmlPlainText', - }, - 'apoc.load.jdbc': { - label: 'apoc.load.jdbc', - }, - 'apoc.load.jdbcParams': { - label: 'apoc.load.jdbcParams', - }, - 'apoc.load.jdbcUpdate': { - label: 'apoc.load.jdbcUpdate', + documentation: + 'Imports `NODE` and `RELATIONSHIP` values from the provided arrow byte array.', + parameters: [ + { + label: 'source', + documentation: 'source :: BYTEARRAY', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.load.json': { label: 'apoc.load.json', + documentation: + 'Imports JSON file as a stream of values if the given JSON file is a `LIST`.\nIf the given JSON file is a `MAP`, this procedure imports a single value instead.', + parameters: [ + { + label: 'urlOrKeyOrBinary', + documentation: 'urlOrKeyOrBinary :: ANY', + }, + { + label: 'path', + documentation: 'path = :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.load.jsonArray': { label: 'apoc.load.jsonArray', + documentation: + 'Loads array from a JSON URL (e.g. web-API) to then import the given JSON file as a stream of values.', + parameters: [ + { + label: 'url', + documentation: 'url :: STRING', + }, + { + label: 'path', + documentation: 'path = :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.load.jsonParams': { label: 'apoc.load.jsonParams', - }, - 'apoc.load.ldap': { - label: 'apoc.load.ldap', + documentation: + 'Loads parameters from a JSON URL (e.g. web-API) as a stream of values if the given JSON file is a `LIST`.\nIf the given JSON file is a `MAP`, this procedure imports a single value instead.', + parameters: [ + { + label: 'urlOrKeyOrBinary', + documentation: 'urlOrKeyOrBinary :: ANY', + }, + { + label: 'headers', + documentation: 'headers :: MAP', + }, + { + label: 'payload', + documentation: 'payload :: STRING', + }, + { + label: 'path', + documentation: 'path = :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.load.xml': { label: 'apoc.load.xml', + documentation: + 'Loads a single nested `MAP` from an XML URL (e.g. web-API).', + parameters: [ + { + label: 'urlOrBinary', + documentation: 'urlOrBinary :: ANY', + }, + { + label: 'path', + documentation: 'path = / :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + { + label: 'simple', + documentation: 'simple = false :: BOOLEAN', + }, + ], }, 'apoc.lock.all': { label: 'apoc.lock.all', + documentation: + 'Acquires a write lock on the given `NODE` and `RELATIONSHIP` values.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'rels', + documentation: 'rels :: LIST', + }, + ], }, 'apoc.lock.nodes': { label: 'apoc.lock.nodes', + documentation: 'Acquires a write lock on the given `NODE` values.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + ], }, 'apoc.lock.read.nodes': { label: 'apoc.lock.read.nodes', + documentation: 'Acquires a read lock on the given `NODE` values.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + ], }, 'apoc.lock.read.rels': { label: 'apoc.lock.read.rels', + documentation: 'Acquires a read lock on the given `RELATIONSHIP` values.', + parameters: [ + { + label: 'rels', + documentation: 'rels :: LIST', + }, + ], }, 'apoc.lock.rels': { label: 'apoc.lock.rels', - }, - 'apoc.log.debug': { - label: 'apoc.log.debug', - }, - 'apoc.log.error': { - label: 'apoc.log.error', - }, - 'apoc.log.info': { - label: 'apoc.log.info', + documentation: + 'Acquires a write lock on the given `RELATIONSHIP` values.', + parameters: [ + { + label: 'rels', + documentation: 'rels :: LIST', + }, + ], }, 'apoc.log.stream': { label: 'apoc.log.stream', - }, - 'apoc.log.warn': { - label: 'apoc.log.warn', + documentation: + 'Returns the file contents from the given log, optionally returning only the last n lines.\nThis procedure requires users to have an admin role.', + parameters: [ + { + label: 'path', + documentation: 'path :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.math.regr': { label: 'apoc.math.regr', + documentation: + 'Returns the coefficient of determination (R-squared) for the values of propertyY and propertyX in the given label.', + parameters: [ + { + label: 'label', + documentation: 'label :: STRING', + }, + { + label: 'propertyY', + documentation: 'propertyY :: STRING', + }, + { + label: 'propertyX', + documentation: 'propertyX :: STRING', + }, + ], }, 'apoc.merge.node': { label: 'apoc.merge.node', + documentation: + 'Merges the given `NODE` values with the given dynamic labels.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP', + }, + { + label: 'onCreateProps', + documentation: 'onCreateProps = {} :: MAP', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP', + }, + ], }, 'apoc.merge.node.eager': { label: 'apoc.merge.node.eager', + documentation: + 'Merges the given `NODE` values with the given dynamic labels eagerly.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP', + }, + { + label: 'onCreateProps', + documentation: 'onCreateProps = {} :: MAP', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP', + }, + ], }, 'apoc.merge.nodeWithStats': { label: 'apoc.merge.nodeWithStats', + documentation: + 'Merges the given `NODE` values with the given dynamic labels. Provides queryStatistics in the result.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP', + }, + { + label: 'onCreateProps', + documentation: 'onCreateProps = {} :: MAP', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP', + }, + ], }, 'apoc.merge.nodeWithStats.eager': { label: 'apoc.merge.nodeWithStats.eager', + documentation: + 'Merges the given `NODE` values with the given dynamic labels eagerly. Provides queryStatistics in the result.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP', + }, + { + label: 'onCreateProps', + documentation: 'onCreateProps = {} :: MAP', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP', + }, + ], }, 'apoc.merge.relationship': { label: 'apoc.merge.relationship', + documentation: + 'Merges the given `RELATIONSHIP` values with the given dynamic types/properties.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE', + }, + { + label: 'relType', + documentation: 'relType :: STRING', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP', + }, + { + label: 'onCreateProps', + documentation: 'onCreateProps :: MAP', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP', + }, + ], }, 'apoc.merge.relationship.eager': { label: 'apoc.merge.relationship.eager', + documentation: + 'Merges the given `RELATIONSHIP` values with the given dynamic types/properties eagerly.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE', + }, + { + label: 'relType', + documentation: 'relType :: STRING', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP', + }, + { + label: 'onCreateProps', + documentation: 'onCreateProps :: MAP', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP', + }, + ], }, 'apoc.merge.relationshipWithStats': { label: 'apoc.merge.relationshipWithStats', + documentation: + 'Merges the given `RELATIONSHIP` values with the given dynamic types/properties. Provides queryStatistics in the result.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE', + }, + { + label: 'relType', + documentation: 'relType :: STRING', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP', + }, + { + label: 'onCreateProps', + documentation: 'onCreateProps :: MAP', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP', + }, + ], }, 'apoc.merge.relationshipWithStats.eager': { label: 'apoc.merge.relationshipWithStats.eager', + documentation: + 'Merges the given `RELATIONSHIP` values with the given dynamic types/properties eagerly. Provides queryStatistics in the result.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: NODE', + }, + { + label: 'relType', + documentation: 'relType :: STRING', + }, + { + label: 'identProps', + documentation: 'identProps :: MAP', + }, + { + label: 'onCreateProps', + documentation: 'onCreateProps :: MAP', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE', + }, + { + label: 'onMatchProps', + documentation: 'onMatchProps = {} :: MAP', + }, + ], }, 'apoc.meta.data': { label: 'apoc.meta.data', + documentation: 'Examines the full graph and returns a table of metadata.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.meta.data.of': { label: 'apoc.meta.data.of', + documentation: + 'Examines the given sub-graph and returns a table of metadata.', + parameters: [ + { + label: 'graph', + documentation: 'graph :: ANY', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.meta.graph': { label: 'apoc.meta.graph', + documentation: 'Examines the full graph and returns a meta-graph.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.meta.graph.of': { label: 'apoc.meta.graph.of', + documentation: 'Examines the given sub-graph and returns a meta-graph.', + parameters: [ + { + label: 'graph', + documentation: 'graph = {} :: ANY', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.meta.graphSample': { label: 'apoc.meta.graphSample', + documentation: + 'Examines the full graph and returns a meta-graph.\nUnlike `apoc.meta.graph`, this procedure does not filter away non-existing paths.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.meta.nodeTypeProperties': { label: 'apoc.meta.nodeTypeProperties', + documentation: + 'Examines the full graph and returns a table of metadata with information about the `NODE` values therein.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.meta.relTypeProperties': { label: 'apoc.meta.relTypeProperties', + documentation: + 'Examines the full graph and returns a table of metadata with information about the `RELATIONSHIP` values therein.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.meta.schema': { label: 'apoc.meta.schema', + documentation: + 'Examines the given sub-graph and returns metadata as a `MAP`.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.meta.stats': { label: 'apoc.meta.stats', + documentation: + 'Returns the metadata stored in the transactional database statistics.', + parameters: [], }, 'apoc.meta.subGraph': { label: 'apoc.meta.subGraph', - }, - 'apoc.metrics.get': { - label: 'apoc.metrics.get', - }, - 'apoc.metrics.list': { - label: 'apoc.metrics.list', - }, - 'apoc.metrics.storage': { - label: 'apoc.metrics.storage', - }, - 'apoc.model.jdbc': { - label: 'apoc.model.jdbc', - }, - 'apoc.mongo.aggregate': { - label: 'apoc.mongo.aggregate', - }, - 'apoc.mongo.count': { - label: 'apoc.mongo.count', - }, - 'apoc.mongo.delete': { - label: 'apoc.mongo.delete', - }, - 'apoc.mongo.find': { - label: 'apoc.mongo.find', - }, - 'apoc.mongo.insert': { - label: 'apoc.mongo.insert', - }, - 'apoc.mongo.update': { - label: 'apoc.mongo.update', - }, - 'apoc.mongodb.count': { - label: 'apoc.mongodb.count', - }, - 'apoc.mongodb.delete': { - label: 'apoc.mongodb.delete', - }, - 'apoc.mongodb.find': { - label: 'apoc.mongodb.find', - }, - 'apoc.mongodb.first': { - label: 'apoc.mongodb.first', - }, - 'apoc.mongodb.get': { - label: 'apoc.mongodb.get', - }, - 'apoc.mongodb.get.byObjectId': { - label: 'apoc.mongodb.get.byObjectId', - }, - 'apoc.mongodb.insert': { - label: 'apoc.mongodb.insert', - }, - 'apoc.mongodb.update': { - label: 'apoc.mongodb.update', - }, - 'apoc.monitor.ids': { - label: 'apoc.monitor.ids', - }, - 'apoc.monitor.kernel': { - label: 'apoc.monitor.kernel', - }, - 'apoc.monitor.store': { - label: 'apoc.monitor.store', - }, - 'apoc.monitor.tx': { - label: 'apoc.monitor.tx', + documentation: 'Examines the given sub-graph and returns a meta-graph.', + parameters: [ + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.neighbors.athop': { label: 'apoc.neighbors.athop', + documentation: + 'Returns all `NODE` values connected by the given `RELATIONSHIP` types at the specified distance.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING', + }, + { + label: 'distance', + documentation: 'distance = 1 :: INTEGER', + }, + ], }, 'apoc.neighbors.athop.count': { label: 'apoc.neighbors.athop.count', + documentation: + 'Returns the count of all `NODE` values connected by the given `RELATIONSHIP` types at the specified distance.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING', + }, + { + label: 'distance', + documentation: 'distance = 1 :: INTEGER', + }, + ], }, 'apoc.neighbors.byhop': { label: 'apoc.neighbors.byhop', + documentation: + 'Returns all `NODE` values connected by the given `RELATIONSHIP` types within the specified distance. Returns `LIST` values, where each `PATH` of `NODE` values represents one row of the `LIST` values.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING', + }, + { + label: 'distance', + documentation: 'distance = 1 :: INTEGER', + }, + ], }, 'apoc.neighbors.byhop.count': { label: 'apoc.neighbors.byhop.count', + documentation: + 'Returns the count of all `NODE` values connected by the given `RELATIONSHIP` types within the specified distance.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING', + }, + { + label: 'distance', + documentation: 'distance = 1 :: INTEGER', + }, + ], }, 'apoc.neighbors.tohop': { label: 'apoc.neighbors.tohop', + documentation: + 'Returns all `NODE` values connected by the given `RELATIONSHIP` types within the specified distance.\n`NODE` values are returned individually for each row.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING', + }, + { + label: 'distance', + documentation: 'distance = 1 :: INTEGER', + }, + ], }, 'apoc.neighbors.tohop.count': { label: 'apoc.neighbors.tohop.count', - }, - 'apoc.nlp.azure.entities.graph': { - label: 'apoc.nlp.azure.entities.graph', - }, - 'apoc.nlp.azure.entities.stream': { - label: 'apoc.nlp.azure.entities.stream', - }, - 'apoc.nlp.azure.keyPhrases.graph': { - label: 'apoc.nlp.azure.keyPhrases.graph', - }, - 'apoc.nlp.azure.keyPhrases.stream': { - label: 'apoc.nlp.azure.keyPhrases.stream', - }, - 'apoc.nlp.azure.sentiment.graph': { - label: 'apoc.nlp.azure.sentiment.graph', - }, - 'apoc.nlp.azure.sentiment.stream': { - label: 'apoc.nlp.azure.sentiment.stream', + documentation: + 'Returns the count of all `NODE` values connected by the given `RELATIONSHIP` values in the pattern within the specified distance.', + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'relTypes', + documentation: 'relTypes = :: STRING', + }, + { + label: 'distance', + documentation: 'distance = 1 :: INTEGER', + }, + ], }, 'apoc.nodes.collapse': { label: 'apoc.nodes.collapse', + documentation: + 'Merges `NODE` values together in the given `LIST`.\nThe `NODE` values are then combined to become one `NODE`, with all labels of the previous `NODE` values attached to it, and all `RELATIONSHIP` values pointing to it.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.nodes.cycles': { label: 'apoc.nodes.cycles', + documentation: + 'Detects all `PATH` cycles in the given `LIST`.\nThis procedure can be limited on `RELATIONSHIP` values as well.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.nodes.delete': { label: 'apoc.nodes.delete', + documentation: 'Deletes all `NODE` values with the given ids.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY', + }, + { + label: 'batchSize', + documentation: 'batchSize :: INTEGER', + }, + ], }, 'apoc.nodes.get': { label: 'apoc.nodes.get', + documentation: 'Returns all `NODE` values with the given ids.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY', + }, + ], }, 'apoc.nodes.group': { label: 'apoc.nodes.group', + documentation: + 'Allows for the aggregation of `NODE` values based on the given properties.\nThis procedure returns virtual `NODE` values.', + parameters: [ + { + label: 'labels', + documentation: 'labels :: LIST', + }, + { + label: 'groupByProperties', + documentation: 'groupByProperties :: LIST', + }, + { + label: 'aggregations', + documentation: 'aggregations = [{*=count}, {*=count}] :: LIST', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.nodes.link': { label: 'apoc.nodes.link', + documentation: + 'Creates a linked list of the given `NODE` values connected by the given `RELATIONSHIP` type.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'type', + documentation: 'type :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.nodes.rels': { label: 'apoc.nodes.rels', + documentation: 'Returns all `RELATIONSHIP` values with the given ids.', + parameters: [ + { + label: 'rels', + documentation: 'rels :: ANY', + }, + ], }, 'apoc.path.expand': { label: 'apoc.path.expand', + documentation: + 'Returns `PATH` values expanded from the start `NODE` following the given `RELATIONSHIP` types from min-depth to max-depth.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: ANY', + }, + { + label: 'relFilter', + documentation: 'relFilter :: STRING', + }, + { + label: 'labelFilter', + documentation: 'labelFilter :: STRING', + }, + { + label: 'minDepth', + documentation: 'minDepth :: INTEGER', + }, + { + label: 'maxDepth', + documentation: 'maxDepth :: INTEGER', + }, + ], }, 'apoc.path.expandConfig': { label: 'apoc.path.expandConfig', + documentation: + 'Returns `PATH` values expanded from the start `NODE` with the given `RELATIONSHIP` types from min-depth to max-depth.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: ANY', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.path.spanningTree': { label: 'apoc.path.spanningTree', + documentation: + 'Returns spanning tree `PATH` values expanded from the start `NODE` following the given `RELATIONSHIP` types to max-depth.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: ANY', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.path.subgraphAll': { label: 'apoc.path.subgraphAll', + documentation: + 'Returns the sub-graph reachable from the start `NODE` following the given `RELATIONSHIP` types to max-depth.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: ANY', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.path.subgraphNodes': { label: 'apoc.path.subgraphNodes', + documentation: + 'Returns the `NODE` values in the sub-graph reachable from the start `NODE` following the given `RELATIONSHIP` types to max-depth.', + parameters: [ + { + label: 'startNode', + documentation: 'startNode :: ANY', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.periodic.cancel': { label: 'apoc.periodic.cancel', + documentation: 'Cancels the given background job.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING', + }, + ], }, 'apoc.periodic.commit': { label: 'apoc.periodic.commit', + documentation: + 'Runs the given statement in separate batched transactions.', + parameters: [ + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'params', + documentation: 'params = {} :: MAP', + }, + ], }, 'apoc.periodic.countdown': { label: 'apoc.periodic.countdown', + documentation: + 'Runs a repeatedly called background statement until it returns 0.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING', + }, + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'delay', + documentation: 'delay :: INTEGER', + }, + ], }, 'apoc.periodic.iterate': { label: 'apoc.periodic.iterate', + documentation: + 'Runs the second statement for each item returned by the first statement.\nThis procedure returns the number of batches and the total number of processed rows.', + parameters: [ + { + label: 'cypherIterate', + documentation: 'cypherIterate :: STRING', + }, + { + label: 'cypherAction', + documentation: 'cypherAction :: STRING', + }, + { + label: 'config', + documentation: 'config :: MAP', + }, + ], }, 'apoc.periodic.list': { label: 'apoc.periodic.list', + documentation: 'Returns a `LIST` of all background jobs.', + parameters: [], }, 'apoc.periodic.repeat': { label: 'apoc.periodic.repeat', - }, - 'apoc.periodic.rock_n_roll': { - label: 'apoc.periodic.rock_n_roll', - }, - 'apoc.periodic.rock_n_roll_while': { - label: 'apoc.periodic.rock_n_roll_while', + documentation: + 'Runs a repeatedly called background job.\nTo stop this procedure, use `apoc.periodic.cancel`.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING', + }, + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'rate', + documentation: 'rate :: INTEGER', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.periodic.submit': { label: 'apoc.periodic.submit', + documentation: + 'Creates a background job which runs the given Cypher statement once.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING', + }, + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'params', + documentation: 'params = {} :: MAP', + }, + ], }, 'apoc.periodic.truncate': { label: 'apoc.periodic.truncate', - }, - 'apoc.redis.append': { - label: 'apoc.redis.append', - }, - 'apoc.redis.configGet': { - label: 'apoc.redis.configGet', - }, - 'apoc.redis.configSet': { - label: 'apoc.redis.configSet', - }, - 'apoc.redis.copy': { - label: 'apoc.redis.copy', - }, - 'apoc.redis.eval': { - label: 'apoc.redis.eval', - }, - 'apoc.redis.exists': { - label: 'apoc.redis.exists', - }, - 'apoc.redis.get': { - label: 'apoc.redis.get', - }, - 'apoc.redis.getSet': { - label: 'apoc.redis.getSet', - }, - 'apoc.redis.hdel': { - label: 'apoc.redis.hdel', - }, - 'apoc.redis.hexists': { - label: 'apoc.redis.hexists', - }, - 'apoc.redis.hget': { - label: 'apoc.redis.hget', - }, - 'apoc.redis.hgetall': { - label: 'apoc.redis.hgetall', - }, - 'apoc.redis.hincrby': { - label: 'apoc.redis.hincrby', - }, - 'apoc.redis.hset': { - label: 'apoc.redis.hset', - }, - 'apoc.redis.incrby': { - label: 'apoc.redis.incrby', - }, - 'apoc.redis.info': { - label: 'apoc.redis.info', - }, - 'apoc.redis.lrange': { - label: 'apoc.redis.lrange', - }, - 'apoc.redis.persist': { - label: 'apoc.redis.persist', - }, - 'apoc.redis.pexpire': { - label: 'apoc.redis.pexpire', - }, - 'apoc.redis.pop': { - label: 'apoc.redis.pop', - }, - 'apoc.redis.pttl': { - label: 'apoc.redis.pttl', - }, - 'apoc.redis.push': { - label: 'apoc.redis.push', - }, - 'apoc.redis.sadd': { - label: 'apoc.redis.sadd', - }, - 'apoc.redis.scard': { - label: 'apoc.redis.scard', - }, - 'apoc.redis.smembers': { - label: 'apoc.redis.smembers', - }, - 'apoc.redis.spop': { - label: 'apoc.redis.spop', - }, - 'apoc.redis.sunion': { - label: 'apoc.redis.sunion', - }, - 'apoc.redis.zadd': { - label: 'apoc.redis.zadd', - }, - 'apoc.redis.zcard': { - label: 'apoc.redis.zcard', - }, - 'apoc.redis.zrangebyscore': { - label: 'apoc.redis.zrangebyscore', - }, - 'apoc.redis.zrem': { - label: 'apoc.redis.zrem', + documentation: + 'Removes all entities (and optionally indexes and constraints) from the database using the `apoc.periodic.iterate` procedure.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.refactor.categorize': { label: 'apoc.refactor.categorize', + documentation: + 'Creates new category `NODE` values from `NODE` values in the graph with the specified `sourceKey` as one of its property keys.\nThe new category `NODE` values are then connected to the original `NODE` values with a `RELATIONSHIP` of the given type.', + parameters: [ + { + label: 'sourceKey', + documentation: 'sourceKey :: STRING', + }, + { + label: 'type', + documentation: 'type :: STRING', + }, + { + label: 'outgoing', + documentation: 'outgoing :: BOOLEAN', + }, + { + label: 'label', + documentation: 'label :: STRING', + }, + { + label: 'targetKey', + documentation: 'targetKey :: STRING', + }, + { + label: 'copiedKeys', + documentation: 'copiedKeys :: LIST', + }, + { + label: 'batchSize', + documentation: 'batchSize :: INTEGER', + }, + ], }, 'apoc.refactor.cloneNodes': { label: 'apoc.refactor.cloneNodes', - }, - 'apoc.refactor.cloneNodesWithRelationships': { - label: 'apoc.refactor.cloneNodesWithRelationships', + documentation: + 'Clones the given `NODE` values with their labels and properties.\nIt is possible to skip any `NODE` properties using skipProperties (note: this only skips properties on `NODE` values and not their `RELATIONSHIP` values).', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'withRelationships', + documentation: 'withRelationships = false :: BOOLEAN', + }, + { + label: 'skipProperties', + documentation: 'skipProperties = [] :: LIST', + }, + ], }, 'apoc.refactor.cloneSubgraph': { label: 'apoc.refactor.cloneSubgraph', + documentation: + 'Clones the given `NODE` values with their labels and properties (optionally skipping any properties in the `skipProperties` `LIST` via the config `MAP`), and clones the given `RELATIONSHIP` values.\nIf no `RELATIONSHIP` values are provided, all existing `RELATIONSHIP` values between the given `NODE` values will be cloned.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'rels', + documentation: 'rels = [] :: LIST', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.refactor.cloneSubgraphFromPaths': { label: 'apoc.refactor.cloneSubgraphFromPaths', + documentation: + 'Clones a sub-graph defined by the given `LIST` values.\nIt is possible to skip any `NODE` properties using the `skipProperties` `LIST` via the config `MAP`.', + parameters: [ + { + label: 'paths', + documentation: 'paths :: LIST', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.refactor.collapseNode': { label: 'apoc.refactor.collapseNode', + documentation: + 'Collapses the given `NODE` and replaces it with a `RELATIONSHIP` of the given type.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: ANY', + }, + { + label: 'relType', + documentation: 'relType :: STRING', + }, + ], }, 'apoc.refactor.deleteAndReconnect': { label: 'apoc.refactor.deleteAndReconnect', + documentation: + 'Removes the given `NODE` values from the `PATH` and reconnects the remaining `NODE` values.', + parameters: [ + { + label: 'path', + documentation: 'path :: PATH', + }, + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.refactor.extractNode': { label: 'apoc.refactor.extractNode', + documentation: + 'Expands the given `RELATIONSHIP` VALUES into intermediate `NODE` VALUES.\nThe intermediate `NODE` values are connected by the given `outType` and `inType`.', + parameters: [ + { + label: 'rels', + documentation: 'rels :: ANY', + }, + { + label: 'labels', + documentation: 'labels :: LIST', + }, + { + label: 'outType', + documentation: 'outType :: STRING', + }, + { + label: 'inType', + documentation: 'inType :: STRING', + }, + ], }, 'apoc.refactor.from': { label: 'apoc.refactor.from', + documentation: + 'Redirects the given `RELATIONSHIP` to the given start `NODE`.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP', + }, + { + label: 'newNode', + documentation: 'newNode :: NODE', + }, + ], }, 'apoc.refactor.invert': { label: 'apoc.refactor.invert', + documentation: 'Inverts the direction of the given `RELATIONSHIP`.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP', + }, + ], }, 'apoc.refactor.mergeNodes': { label: 'apoc.refactor.mergeNodes', + documentation: + 'Merges the given `LIST` onto the first `NODE` in the `LIST`.\nAll `RELATIONSHIP` values are merged onto that `NODE` as well.', + parameters: [ + { + label: 'nodes', + documentation: 'nodes :: LIST', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.refactor.mergeRelationships': { label: 'apoc.refactor.mergeRelationships', + documentation: + 'Merges the given `LIST` onto the first `RELATIONSHIP` in the `LIST`.', + parameters: [ + { + label: 'rels', + documentation: 'rels :: LIST', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.refactor.normalizeAsBoolean': { label: 'apoc.refactor.normalizeAsBoolean', + documentation: 'Refactors the given property to a `BOOLEAN`.', + parameters: [ + { + label: 'entity', + documentation: 'entity :: ANY', + }, + { + label: 'propertyKey', + documentation: 'propertyKey :: STRING', + }, + { + label: 'trueValues', + documentation: 'trueValues :: LIST', + }, + { + label: 'falseValues', + documentation: 'falseValues :: LIST', + }, + ], }, 'apoc.refactor.rename.label': { label: 'apoc.refactor.rename.label', + documentation: + 'Renames the given label from `oldLabel` to `newLabel` for all `NODE` values.\nIf a `LIST` is provided, the renaming is applied to the `NODE` values within this `LIST` only.', + parameters: [ + { + label: 'oldLabel', + documentation: 'oldLabel :: STRING', + }, + { + label: 'newLabel', + documentation: 'newLabel :: STRING', + }, + { + label: 'nodes', + documentation: 'nodes = [] :: LIST', + }, + ], }, 'apoc.refactor.rename.nodeProperty': { label: 'apoc.refactor.rename.nodeProperty', + documentation: + 'Renames the given property from `oldName` to `newName` for all `NODE` values.\nIf a `LIST` is provided, the renaming is applied to the `NODE` values within this `LIST` only.', + parameters: [ + { + label: 'oldName', + documentation: 'oldName :: STRING', + }, + { + label: 'newName', + documentation: 'newName :: STRING', + }, + { + label: 'nodes', + documentation: 'nodes = [] :: LIST', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.refactor.rename.type': { label: 'apoc.refactor.rename.type', + documentation: + 'Renames all `RELATIONSHIP` values with type `oldType` to `newType`.\nIf a `LIST` is provided, the renaming is applied to the `RELATIONSHIP` values within this `LIST` only.', + parameters: [ + { + label: 'oldType', + documentation: 'oldType :: STRING', + }, + { + label: 'newType', + documentation: 'newType :: STRING', + }, + { + label: 'rels', + documentation: 'rels = [] :: LIST', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.refactor.rename.typeProperty': { label: 'apoc.refactor.rename.typeProperty', + documentation: + 'Renames the given property from `oldName` to `newName` for all `RELATIONSHIP` values.\nIf a `LIST` is provided, the renaming is applied to the `RELATIONSHIP` values within this `LIST` only.', + parameters: [ + { + label: 'oldName', + documentation: 'oldName :: STRING', + }, + { + label: 'newName', + documentation: 'newName :: STRING', + }, + { + label: 'rels', + documentation: 'rels = [] :: LIST', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.refactor.setType': { label: 'apoc.refactor.setType', + documentation: 'Changes the type of the given `RELATIONSHIP`.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP', + }, + { + label: 'newType', + documentation: 'newType :: STRING', + }, + ], }, 'apoc.refactor.to': { label: 'apoc.refactor.to', + documentation: + 'Redirects the given `RELATIONSHIP` to the given end `NODE`.', + parameters: [ + { + label: 'rel', + documentation: 'rel :: RELATIONSHIP', + }, + { + label: 'endNode', + documentation: 'endNode :: NODE', + }, + ], }, 'apoc.schema.assert': { label: 'apoc.schema.assert', + documentation: + 'Drops all other existing indexes and constraints when `dropExisting` is `true` (default is `true`).\nAsserts at the end of the operation that the given indexes and unique constraints are there.', + parameters: [ + { + label: 'indexes', + documentation: 'indexes :: MAP', + }, + { + label: 'constraints', + documentation: 'constraints :: MAP', + }, + { + label: 'dropExisting', + documentation: 'dropExisting = true :: BOOLEAN', + }, + ], }, 'apoc.schema.nodes': { label: 'apoc.schema.nodes', + documentation: + 'Returns all indexes and constraints information for all `NODE` labels in the database.\nIt is possible to define a set of labels to include or exclude in the config parameters.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.schema.properties.distinct': { label: 'apoc.schema.properties.distinct', + documentation: + 'Returns all distinct `NODE` property values for the given key.', + parameters: [ + { + label: 'label', + documentation: 'label :: STRING', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + ], }, 'apoc.schema.properties.distinctCount': { label: 'apoc.schema.properties.distinctCount', + documentation: + 'Returns all distinct property values and counts for the given key.', + parameters: [ + { + label: 'label', + documentation: 'label = :: STRING', + }, + { + label: 'key', + documentation: 'key = :: STRING', + }, + ], }, 'apoc.schema.relationships': { label: 'apoc.schema.relationships', + documentation: + 'Returns the indexes and constraints information for all the relationship types in the database.\nIt is possible to define a set of relationship types to include or exclude in the config parameters.', + parameters: [ + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.search.multiSearchReduced': { label: 'apoc.search.multiSearchReduced', + documentation: + 'Returns a reduced representation of the `NODE` values found after a parallel search over multiple indexes.\nThe reduced `NODE` values representation includes: node id, node labels, and the searched properties.', + parameters: [ + { + label: 'labelPropertyMap', + documentation: 'labelPropertyMap :: ANY', + }, + { + label: 'operator', + documentation: 'operator :: STRING', + }, + { + label: 'value', + documentation: 'value :: STRING', + }, + ], }, 'apoc.search.node': { label: 'apoc.search.node', + documentation: + 'Returns all the distinct `NODE` values found after a parallel search over multiple indexes.', + parameters: [ + { + label: 'labelPropertyMap', + documentation: 'labelPropertyMap :: ANY', + }, + { + label: 'operator', + documentation: 'operator :: STRING', + }, + { + label: 'value', + documentation: 'value :: STRING', + }, + ], }, 'apoc.search.nodeAll': { label: 'apoc.search.nodeAll', + documentation: + 'Returns all the `NODE` values found after a parallel search over multiple indexes.', + parameters: [ + { + label: 'labelPropertyMap', + documentation: 'labelPropertyMap :: ANY', + }, + { + label: 'operator', + documentation: 'operator :: STRING', + }, + { + label: 'value', + documentation: 'value :: STRING', + }, + ], }, 'apoc.search.nodeAllReduced': { label: 'apoc.search.nodeAllReduced', + documentation: + 'Returns a reduced representation of the `NODE` values found after a parallel search over multiple indexes.\nThe reduced `NODE` values representation includes: node id, node labels, and the searched properties.', + parameters: [ + { + label: 'labelPropertyMap', + documentation: 'labelPropertyMap :: ANY', + }, + { + label: 'operator', + documentation: 'operator :: STRING', + }, + { + label: 'value', + documentation: 'value :: ANY', + }, + ], }, 'apoc.search.nodeReduced': { label: 'apoc.search.nodeReduced', + documentation: + 'Returns a reduced representation of the distinct `NODE` values found after a parallel search over multiple indexes.\nThe reduced `NODE` values representation includes: node id, node labels, and the searched properties.', + parameters: [ + { + label: 'labelPropertyMap', + documentation: 'labelPropertyMap :: ANY', + }, + { + label: 'operator', + documentation: 'operator :: STRING', + }, + { + label: 'value', + documentation: 'value :: STRING', + }, + ], }, 'apoc.spatial.geocode': { label: 'apoc.spatial.geocode', + documentation: + 'Returns the geographic location (latitude, longitude, and description) of the given address using a geocoding service (default: OpenStreetMap).', + parameters: [ + { + label: 'location', + documentation: 'location :: STRING', + }, + { + label: 'maxResults', + documentation: 'maxResults = 100 :: INTEGER', + }, + { + label: 'quotaException', + documentation: 'quotaException = false :: BOOLEAN', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.spatial.geocodeOnce': { label: 'apoc.spatial.geocodeOnce', + documentation: + 'Returns the geographic location (latitude, longitude, and description) of the given address using a geocoding service (default: OpenStreetMap).\nThis procedure returns at most one result.', + parameters: [ + { + label: 'location', + documentation: 'location :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.spatial.reverseGeocode': { label: 'apoc.spatial.reverseGeocode', + documentation: + 'Returns a textual address from the given geographic location (latitude, longitude) using a geocoding service (default: OpenStreetMap).\nThis procedure returns at most one result.', + parameters: [ + { + label: 'latitude', + documentation: 'latitude :: FLOAT', + }, + { + label: 'longitude', + documentation: 'longitude :: FLOAT', + }, + { + label: 'quotaException', + documentation: 'quotaException = false :: BOOLEAN', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.spatial.sortByDistance': { label: 'apoc.spatial.sortByDistance', - }, - 'apoc.static.get': { - label: 'apoc.static.get', - }, - 'apoc.static.list': { - label: 'apoc.static.list', - }, - 'apoc.static.set': { - label: 'apoc.static.set', + documentation: + 'Sorts the given collection of `PATH` values by the sum of their distance based on the latitude/longitude values in the `NODE` values.', + parameters: [ + { + label: 'paths', + documentation: 'paths :: LIST', + }, + ], }, 'apoc.stats.degrees': { label: 'apoc.stats.degrees', - }, - 'apoc.systemdb.execute': { - label: 'apoc.systemdb.execute', - }, - 'apoc.systemdb.export.metadata': { - label: 'apoc.systemdb.export.metadata', - }, - 'apoc.systemdb.graph': { - label: 'apoc.systemdb.graph', - }, - 'apoc.text.doubleMetaphone': { - label: 'apoc.text.doubleMetaphone', - }, - 'apoc.text.phonetic': { - label: 'apoc.text.phonetic', + documentation: + 'Returns the percentile groupings of the degrees on the `NODE` values connected by the given `RELATIONSHIP` types.', + parameters: [ + { + label: 'relTypes', + documentation: 'relTypes = :: STRING', + }, + ], }, 'apoc.text.phoneticDelta': { label: 'apoc.text.phoneticDelta', + documentation: + 'Returns the US_ENGLISH soundex character difference between the two given `STRING` values.', + parameters: [ + { + label: 'text1', + documentation: 'text1 :: STRING', + }, + { + label: 'text2', + documentation: 'text2 :: STRING', + }, + ], }, 'apoc.trigger.add': { label: 'apoc.trigger.add', + documentation: + "Adds a trigger to the given Cypher statement.\nThe selector for this procedure is {phase:'before/after/rollback/afterAsync'}.", + parameters: [ + { + label: 'name', + documentation: 'name :: STRING', + }, + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'selector', + documentation: 'selector :: MAP', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.trigger.drop': { label: 'apoc.trigger.drop', + documentation: 'Eventually removes the given trigger.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING', + }, + { + label: 'name', + documentation: 'name :: STRING', + }, + ], }, 'apoc.trigger.dropAll': { label: 'apoc.trigger.dropAll', + documentation: 'Eventually removes all triggers from the given database.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING', + }, + ], }, 'apoc.trigger.install': { label: 'apoc.trigger.install', + documentation: + 'Eventually adds a trigger for a given database which is invoked when a successful transaction occurs.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING', + }, + { + label: 'name', + documentation: 'name :: STRING', + }, + { + label: 'statement', + documentation: 'statement :: STRING', + }, + { + label: 'selector', + documentation: 'selector :: MAP', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'apoc.trigger.list': { label: 'apoc.trigger.list', + documentation: + 'Lists all currently installed triggers for the session database.', + parameters: [], }, 'apoc.trigger.pause': { label: 'apoc.trigger.pause', + documentation: 'Pauses the given trigger.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING', + }, + ], }, 'apoc.trigger.remove': { label: 'apoc.trigger.remove', + documentation: 'Removes the given trigger.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING', + }, + ], }, 'apoc.trigger.removeAll': { label: 'apoc.trigger.removeAll', + documentation: 'Removes all previously added triggers.', + parameters: [], }, 'apoc.trigger.resume': { label: 'apoc.trigger.resume', + documentation: 'Resumes the given paused trigger.', + parameters: [ + { + label: 'name', + documentation: 'name :: STRING', + }, + ], }, 'apoc.trigger.show': { label: 'apoc.trigger.show', + documentation: 'Lists all eventually installed triggers for a database.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING', + }, + ], }, 'apoc.trigger.start': { label: 'apoc.trigger.start', + documentation: 'Eventually restarts the given paused trigger.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING', + }, + { + label: 'name', + documentation: 'name :: STRING', + }, + ], }, 'apoc.trigger.stop': { label: 'apoc.trigger.stop', - }, - 'apoc.ttl.expire': { - label: 'apoc.ttl.expire', - }, - 'apoc.ttl.expireIn': { - label: 'apoc.ttl.expireIn', + documentation: 'Eventually stops the given trigger.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING', + }, + { + label: 'name', + documentation: 'name :: STRING', + }, + ], }, 'apoc.util.sleep': { label: 'apoc.util.sleep', + documentation: + 'Causes the currently running Cypher to sleep for the given duration of milliseconds (the transaction termination is honored).', + parameters: [ + { + label: 'duration', + documentation: 'duration :: INTEGER', + }, + ], }, 'apoc.util.validate': { label: 'apoc.util.validate', - }, - 'apoc.uuid.drop': { - label: 'apoc.uuid.drop', - }, - 'apoc.uuid.dropAll': { - label: 'apoc.uuid.dropAll', - }, - 'apoc.uuid.install': { - label: 'apoc.uuid.install', - }, - 'apoc.uuid.list': { - label: 'apoc.uuid.list', - }, - 'apoc.uuid.remove': { - label: 'apoc.uuid.remove', - }, - 'apoc.uuid.removeAll': { - label: 'apoc.uuid.removeAll', - }, - 'apoc.uuid.setup': { - label: 'apoc.uuid.setup', - }, - 'apoc.uuid.show': { - label: 'apoc.uuid.show', + documentation: 'If the given predicate is true an exception is thrown.', + parameters: [ + { + label: 'predicate', + documentation: 'predicate :: BOOLEAN', + }, + { + label: 'message', + documentation: 'message :: STRING', + }, + { + label: 'params', + documentation: 'params :: LIST', + }, + ], }, 'apoc.warmup.run': { label: 'apoc.warmup.run', + documentation: + 'Loads all `NODE` and `RELATIONSHIP` values in the database into memory.', + parameters: [ + { + label: 'loadProperties', + documentation: 'loadProperties = false :: BOOLEAN', + }, + { + label: 'loadDynamicProperties', + documentation: 'loadDynamicProperties = false :: BOOLEAN', + }, + { + label: 'loadIndexes', + documentation: 'loadIndexes = false :: BOOLEAN', + }, + ], }, 'apoc.when': { label: 'apoc.when', - }, - 'apoc.xml.import': { - label: 'apoc.xml.import', + documentation: + 'This procedure will run the read-only `ifQuery` if the conditional has evaluated to true, otherwise the `elseQuery` will run.', + parameters: [ + { + label: 'condition', + documentation: 'condition :: BOOLEAN', + }, + { + label: 'ifQuery', + documentation: 'ifQuery :: STRING', + }, + { + label: 'elseQuery', + documentation: 'elseQuery = :: STRING', + }, + { + label: 'params', + documentation: 'params = {} :: MAP', + }, + ], + }, + 'cdc.current': { + label: 'cdc.current', + documentation: + 'Returns the current change identifier that can be used to stream changes from.', + parameters: [], + }, + 'cdc.earliest': { + label: 'cdc.earliest', + documentation: + 'Returns the earliest change identifier that can be used to stream changes from.', + parameters: [], + }, + 'cdc.query': { + label: 'cdc.query', + documentation: + 'Query changes happened from the provided change identifier.', + parameters: [ + { + label: 'from', + documentation: 'from = :: STRING', + }, + { + label: 'selectors', + documentation: 'selectors = [] :: LIST', + }, + ], }, 'db.awaitIndex': { label: 'db.awaitIndex', + documentation: + 'Wait for an index to come online (for example: CALL db.awaitIndex("MyIndex", 300)).', + parameters: [ + { + label: 'indexName', + documentation: 'indexName :: STRING', + }, + { + label: 'timeOutSeconds', + documentation: 'timeOutSeconds = 300 :: INTEGER', + }, + ], }, 'db.awaitIndexes': { label: 'db.awaitIndexes', + documentation: + 'Wait for all indexes to come online (for example: CALL db.awaitIndexes(300)).', + parameters: [ + { + label: 'timeOutSeconds', + documentation: 'timeOutSeconds = 300 :: INTEGER', + }, + ], }, 'db.checkpoint': { label: 'db.checkpoint', + documentation: + 'Initiate and wait for a new check point, or wait any already on-going check point to complete. Note that this temporarily disables the `db.checkpoint.iops.limit` setting in order to make the check point complete faster. This might cause transaction throughput to degrade slightly, due to increased IO load.', + parameters: [], }, 'db.clearQueryCaches': { label: 'db.clearQueryCaches', - }, - 'db.constraints': { - label: 'db.constraints', - }, - 'db.createIndex': { - label: 'db.createIndex', + documentation: 'Clears all query caches.', + parameters: [], + }, + 'db.create.setNodeVectorProperty': { + label: 'db.create.setNodeVectorProperty', + documentation: + "Set a vector property on a given node in a more space efficient representation than Cypher's SET.", + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + { + label: 'vector', + documentation: 'vector :: LIST', + }, + ], + }, + 'db.create.setVectorProperty': { + label: 'db.create.setVectorProperty', + documentation: + "Set a vector property on a given node in a more space efficient representation than Cypher's SET.", + parameters: [ + { + label: 'node', + documentation: 'node :: NODE', + }, + { + label: 'key', + documentation: 'key :: STRING', + }, + { + label: 'vector', + documentation: 'vector :: LIST', + }, + ], }, 'db.createLabel': { label: 'db.createLabel', - }, - 'db.createNodeKey': { - label: 'db.createNodeKey', + documentation: 'Create a label', + parameters: [ + { + label: 'newLabel', + documentation: 'newLabel :: STRING', + }, + ], }, 'db.createProperty': { label: 'db.createProperty', + documentation: 'Create a Property', + parameters: [ + { + label: 'newProperty', + documentation: 'newProperty :: STRING', + }, + ], }, 'db.createRelationshipType': { label: 'db.createRelationshipType', - }, - 'db.createUniquePropertyConstraint': { - label: 'db.createUniquePropertyConstraint', + documentation: 'Create a RelationshipType', + parameters: [ + { + label: 'newRelationshipType', + documentation: 'newRelationshipType :: STRING', + }, + ], }, 'db.index.fulltext.awaitEventuallyConsistentIndexRefresh': { label: 'db.index.fulltext.awaitEventuallyConsistentIndexRefresh', - }, - 'db.index.fulltext.createNodeIndex': { - label: 'db.index.fulltext.createNodeIndex', - }, - 'db.index.fulltext.createRelationshipIndex': { - label: 'db.index.fulltext.createRelationshipIndex', - }, - 'db.index.fulltext.drop': { - label: 'db.index.fulltext.drop', + documentation: + 'Wait for the updates from recently committed transactions to be applied to any eventually-consistent full-text indexes.', + parameters: [], }, 'db.index.fulltext.listAvailableAnalyzers': { label: 'db.index.fulltext.listAvailableAnalyzers', + documentation: + 'List the available analyzers that the full-text indexes can be configured with.', + parameters: [], }, 'db.index.fulltext.queryNodes': { label: 'db.index.fulltext.queryNodes', + documentation: + "Query the given full-text index. Returns the matching nodes, and their Lucene query score, ordered by score. Valid keys for the options map are: 'skip' to skip the top N results; 'limit' to limit the number of results returned; 'analyzer' to use the specified analyzer as a search analyzer for this query.", + parameters: [ + { + label: 'indexName', + documentation: 'indexName :: STRING', + }, + { + label: 'queryString', + documentation: 'queryString :: STRING', + }, + { + label: 'options', + documentation: 'options = {} :: MAP', + }, + ], }, 'db.index.fulltext.queryRelationships': { label: 'db.index.fulltext.queryRelationships', - }, - 'db.indexDetails': { - label: 'db.indexDetails', - }, - 'db.indexes': { - label: 'db.indexes', + documentation: + "Query the given full-text index. Returns the matching relationships, and their Lucene query score, ordered by score. Valid keys for the options map are: 'skip' to skip the top N results; 'limit' to limit the number of results returned; 'analyzer' to use the specified analyzer as search analyzer for this query.", + parameters: [ + { + label: 'indexName', + documentation: 'indexName :: STRING', + }, + { + label: 'queryString', + documentation: 'queryString :: STRING', + }, + { + label: 'options', + documentation: 'options = {} :: MAP', + }, + ], + }, + 'db.index.vector.createNodeIndex': { + label: 'db.index.vector.createNodeIndex', + documentation: + "Create a named node vector index for the given label and property for a specified vector dimensionality.\nValid similarity functions are 'EUCLIDEAN' and 'COSINE', and are case-insensitive.\nUse the `db.index.vector.queryNodes` procedure to query the named index.\n", + parameters: [ + { + label: 'indexName', + documentation: 'indexName :: STRING', + }, + { + label: 'label', + documentation: 'label :: STRING', + }, + { + label: 'propertyKey', + documentation: 'propertyKey :: STRING', + }, + { + label: 'vectorDimension', + documentation: 'vectorDimension :: INTEGER', + }, + { + label: 'vectorSimilarityFunction', + documentation: 'vectorSimilarityFunction :: STRING', + }, + ], + }, + 'db.index.vector.queryNodes': { + label: 'db.index.vector.queryNodes', + documentation: + 'Query the given vector index.\nReturns requested number of nearest neighbors to the provided query vector,\nand their similarity score to that query vector, based on the configured similarity function for the index.\nThe similarity score is a value between [0, 1]; where 0 indicates least similar, 1 most similar.\n', + parameters: [ + { + label: 'indexName', + documentation: 'indexName :: STRING', + }, + { + label: 'numberOfNearestNeighbours', + documentation: 'numberOfNearestNeighbours :: INTEGER', + }, + { + label: 'query', + documentation: 'query :: LIST', + }, + ], }, 'db.info': { label: 'db.info', + documentation: 'Provides information regarding the database.', + parameters: [], }, 'db.labels': { label: 'db.labels', + documentation: + "List all labels attached to nodes within a database according to the user's access rights. The procedure returns empty results if the user is not authorized to view those labels.", + parameters: [], }, 'db.listLocks': { label: 'db.listLocks', + documentation: 'List all locks at this database.', + parameters: [], }, 'db.ping': { label: 'db.ping', + documentation: + 'This procedure can be used by client side tooling to test whether they are correctly connected to a database. The procedure is available in all databases and always returns true. A faulty connection can be detected by not being able to call this procedure.', + parameters: [], }, 'db.prepareForReplanning': { label: 'db.prepareForReplanning', + documentation: + 'Triggers an index resample and waits for it to complete, and after that clears query caches. After this procedure has finished queries will be planned using the latest database statistics.', + parameters: [ + { + label: 'timeOutSeconds', + documentation: 'timeOutSeconds = 300 :: INTEGER', + }, + ], }, 'db.propertyKeys': { label: 'db.propertyKeys', + documentation: 'List all property keys in the database.', + parameters: [], }, 'db.relationshipTypes': { label: 'db.relationshipTypes', + documentation: + "List all types attached to relationships within a database according to the user's access rights. The procedure returns empty results if the user is not authorized to view those relationship types.", + parameters: [], }, 'db.resampleIndex': { label: 'db.resampleIndex', + documentation: + 'Schedule resampling of an index (for example: CALL db.resampleIndex("MyIndex")).', + parameters: [ + { + label: 'indexName', + documentation: 'indexName :: STRING', + }, + ], }, 'db.resampleOutdatedIndexes': { label: 'db.resampleOutdatedIndexes', + documentation: 'Schedule resampling of all outdated indexes.', + parameters: [], }, 'db.schema.nodeTypeProperties': { label: 'db.schema.nodeTypeProperties', + documentation: + 'Show the derived property schema of the nodes in tabular form.', + parameters: [], }, 'db.schema.relTypeProperties': { label: 'db.schema.relTypeProperties', + documentation: + 'Show the derived property schema of the relationships in tabular form.', + parameters: [], }, 'db.schema.visualization': { label: 'db.schema.visualization', - }, - 'db.schemaStatements': { - label: 'db.schemaStatements', + documentation: + 'Visualizes the schema of the data based on available statistics. A new node is returned for each label. The properties represented on the node include: `name` (label name), `indexes` (list of indexes), and `constraints` (list of constraints). A relationship of a given type is returned for all possible combinations of start and end nodes. The properties represented on the relationship include: `name` (type name). Note that this may include additional relationships that do not exist in the data due to the information available in the count store. ', + parameters: [], }, 'db.stats.clear': { label: 'db.stats.clear', + documentation: + "Clear collected data of a given data section. Valid sections are 'QUERIES'", + parameters: [ + { + label: 'section', + documentation: 'section :: STRING', + }, + ], }, 'db.stats.collect': { label: 'db.stats.collect', + documentation: + "Start data collection of a given data section. Valid sections are 'QUERIES'", + parameters: [ + { + label: 'section', + documentation: 'section :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'db.stats.retrieve': { label: 'db.stats.retrieve', + documentation: + "Retrieve statistical data about the current database. Valid sections are 'GRAPH COUNTS', 'TOKENS', 'QUERIES', 'META'", + parameters: [ + { + label: 'section', + documentation: 'section :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'db.stats.retrieveAllAnonymized': { label: 'db.stats.retrieveAllAnonymized', + documentation: + 'Retrieve all available statistical data about the current database, in an anonymized form.', + parameters: [ + { + label: 'graphToken', + documentation: 'graphToken :: STRING', + }, + { + label: 'config', + documentation: 'config = {} :: MAP', + }, + ], }, 'db.stats.status': { label: 'db.stats.status', + documentation: + 'Retrieve the status of all available collector daemons, for this database.', + parameters: [], }, 'db.stats.stop': { label: 'db.stats.stop', - }, - 'dbms.cluster.overview': { - label: 'dbms.cluster.overview', + documentation: + "Stop data collection of a given data section. Valid sections are 'QUERIES'", + parameters: [ + { + label: 'section', + documentation: 'section :: STRING', + }, + ], + }, + 'dbms.checkConfigValue': { + label: 'dbms.checkConfigValue', + documentation: 'Check if a potential config setting value is valid.', + parameters: [ + { + label: 'setting', + documentation: 'setting :: STRING', + }, + { + label: 'value', + documentation: 'value :: STRING', + }, + ], + }, + 'dbms.cluster.checkConnectivity': { + label: 'dbms.cluster.checkConnectivity', + documentation: + "Check the connectivity of this instance to other cluster members. Not all ports are relevant to all members. Valid values for 'port-name' are: [CLUSTER, RAFT]", + parameters: [ + { + label: 'port-name', + documentation: 'port-name = null :: STRING', + }, + { + label: 'server', + documentation: 'server = null :: STRING', + }, + ], + }, + 'dbms.cluster.cordonServer': { + label: 'dbms.cluster.cordonServer', + documentation: + 'Mark a server in the topology as not suitable for new allocations. It will not force current allocations off the server. This is useful when deallocating databases when you have multiple unavailable servers.', + parameters: [ + { + label: 'server', + documentation: 'server :: STRING', + }, + ], }, 'dbms.cluster.protocols': { label: 'dbms.cluster.protocols', - }, - 'dbms.cluster.role': { - label: 'dbms.cluster.role', + documentation: 'Overview of installed protocols', + parameters: [], + }, + 'dbms.cluster.readReplicaToggle': { + label: 'dbms.cluster.readReplicaToggle', + documentation: + 'The toggle can pause or resume read replica (deprecated in favor of dbms.cluster.secondaryReplicationDisable)', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING', + }, + { + label: 'pause', + documentation: 'pause :: BOOLEAN', + }, + ], }, 'dbms.cluster.routing.getRoutingTable': { label: 'dbms.cluster.routing.getRoutingTable', + documentation: + "Returns the advertised bolt capable endpoints for a given database, divided by each endpoint's capabilities. For example, an endpoint may serve read queries, write queries, and/or future `getRoutingTable` requests.", + parameters: [ + { + label: 'context', + documentation: 'context :: MAP', + }, + { + label: 'database', + documentation: 'database = null :: STRING', + }, + ], + }, + 'dbms.cluster.secondaryReplicationDisable': { + label: 'dbms.cluster.secondaryReplicationDisable', + documentation: + 'The toggle can pause or resume the secondary replication process.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING', + }, + { + label: 'pause', + documentation: 'pause :: BOOLEAN', + }, + ], + }, + 'dbms.cluster.setAutomaticallyEnableFreeServers': { + label: 'dbms.cluster.setAutomaticallyEnableFreeServers', + documentation: + 'With this method you can set whether free servers are automatically enabled.', + parameters: [ + { + label: 'autoEnable', + documentation: 'autoEnable :: BOOLEAN', + }, + ], + }, + 'dbms.cluster.uncordonServer': { + label: 'dbms.cluster.uncordonServer', + documentation: + "Remove the cordon on a server, returning it to 'enabled'.", + parameters: [ + { + label: 'server', + documentation: 'server :: STRING', + }, + ], }, 'dbms.components': { label: 'dbms.components', - }, - 'dbms.database.state': { - label: 'dbms.database.state', - }, - 'dbms.functions': { - label: 'dbms.functions', + documentation: 'List DBMS components and their versions.', + parameters: [], }, 'dbms.info': { label: 'dbms.info', + documentation: 'Provides information regarding the DBMS.', + parameters: [], }, 'dbms.killConnection': { label: 'dbms.killConnection', + documentation: 'Kill network connection with the given connection id.', + parameters: [ + { + label: 'id', + documentation: 'id :: STRING', + }, + ], }, 'dbms.killConnections': { label: 'dbms.killConnections', - }, - 'dbms.killQueries': { - label: 'dbms.killQueries', - }, - 'dbms.killQuery': { - label: 'dbms.killQuery', - }, - 'dbms.killTransaction': { - label: 'dbms.killTransaction', - }, - 'dbms.killTransactions': { - label: 'dbms.killTransactions', + documentation: + 'Kill all network connections with the given connection ids.', + parameters: [ + { + label: 'ids', + documentation: 'ids :: LIST', + }, + ], }, 'dbms.listActiveLocks': { label: 'dbms.listActiveLocks', + documentation: + 'List the active lock requests granted for the transaction executing the query with the given query id.', + parameters: [ + { + label: 'queryId', + documentation: 'queryId :: STRING', + }, + ], }, 'dbms.listCapabilities': { label: 'dbms.listCapabilities', + documentation: 'List capabilities.', + parameters: [], }, 'dbms.listConfig': { label: 'dbms.listConfig', + documentation: + 'List the currently active configuration settings of Neo4j.', + parameters: [ + { + label: 'searchString', + documentation: 'searchString = :: STRING', + }, + ], }, 'dbms.listConnections': { label: 'dbms.listConnections', + documentation: + 'List all accepted network connections at this instance that are visible to the user.', + parameters: [], }, 'dbms.listPools': { label: 'dbms.listPools', - }, - 'dbms.listQueries': { - label: 'dbms.listQueries', - }, - 'dbms.listTransactions': { - label: 'dbms.listTransactions', - }, - 'dbms.procedures': { - label: 'dbms.procedures', + documentation: + 'List all memory pools, including sub pools, currently registered at this instance that are visible to the user.', + parameters: [], }, 'dbms.quarantineDatabase': { label: 'dbms.quarantineDatabase', + documentation: 'Place a database into quarantine or remove it from it.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING', + }, + { + label: 'setStatus', + documentation: 'setStatus :: BOOLEAN', + }, + { + label: 'reason', + documentation: 'reason = No reason given :: STRING', + }, + ], }, 'dbms.queryJmx': { label: 'dbms.queryJmx', + documentation: + 'Query JMX management data by domain and name. For instance, use `*:*` to find all JMX beans.', + parameters: [ + { + label: 'query', + documentation: 'query :: STRING', + }, + ], }, 'dbms.routing.getRoutingTable': { label: 'dbms.routing.getRoutingTable', + documentation: + "Returns the advertised bolt capable endpoints for a given database, divided by each endpoint's capabilities. For example, an endpoint may serve read queries, write queries, and/or future `getRoutingTable` requests.", + parameters: [ + { + label: 'context', + documentation: 'context :: MAP', + }, + { + label: 'database', + documentation: 'database = null :: STRING', + }, + ], }, 'dbms.scheduler.failedJobs': { label: 'dbms.scheduler.failedJobs', + documentation: + 'List failed job runs. There is a limit for amount of historical data.', + parameters: [], }, 'dbms.scheduler.groups': { label: 'dbms.scheduler.groups', + documentation: + 'List the job groups that are active in the database internal job scheduler.', + parameters: [], }, 'dbms.scheduler.jobs': { label: 'dbms.scheduler.jobs', - }, - 'dbms.scheduler.profile': { - label: 'dbms.scheduler.profile', - }, - 'dbms.security.activateUser': { - label: 'dbms.security.activateUser', - }, - 'dbms.security.addRoleToUser': { - label: 'dbms.security.addRoleToUser', - }, - 'dbms.security.changePassword': { - label: 'dbms.security.changePassword', - }, - 'dbms.security.changeUserPassword': { - label: 'dbms.security.changeUserPassword', + documentation: + 'List all jobs that are active in the database internal job scheduler.', + parameters: [], }, 'dbms.security.clearAuthCache': { label: 'dbms.security.clearAuthCache', - }, - 'dbms.security.createRole': { - label: 'dbms.security.createRole', - }, - 'dbms.security.createUser': { - label: 'dbms.security.createUser', - }, - 'dbms.security.deleteRole': { - label: 'dbms.security.deleteRole', - }, - 'dbms.security.deleteUser': { - label: 'dbms.security.deleteUser', - }, - 'dbms.security.listRoles': { - label: 'dbms.security.listRoles', - }, - 'dbms.security.listRolesForUser': { - label: 'dbms.security.listRolesForUser', - }, - 'dbms.security.listUsers': { - label: 'dbms.security.listUsers', - }, - 'dbms.security.listUsersForRole': { - label: 'dbms.security.listUsersForRole', - }, - 'dbms.security.removeRoleFromUser': { - label: 'dbms.security.removeRoleFromUser', - }, - 'dbms.security.suspendUser': { - label: 'dbms.security.suspendUser', + documentation: 'Clears authentication and authorization cache.', + parameters: [], }, 'dbms.setConfigValue': { label: 'dbms.setConfigValue', + documentation: + 'Update a given setting value. Passing an empty value results in removing the configured value and falling back to the default value. Changes do not persist and are lost if the server is restarted. In a clustered environment, `dbms.setConfigValue` affects only the cluster member it is run against.', + parameters: [ + { + label: 'setting', + documentation: 'setting :: STRING', + }, + { + label: 'value', + documentation: 'value :: STRING', + }, + ], + }, + 'dbms.setDatabaseAllocator': { + label: 'dbms.setDatabaseAllocator', + documentation: + 'With this method you can set the allocator that is responsible for selecting servers for hosting databases.', + parameters: [ + { + label: 'allocator', + documentation: 'allocator :: STRING', + }, + ], + }, + 'dbms.setDefaultAllocationNumbers': { + label: 'dbms.setDefaultAllocationNumbers', + documentation: + 'With this method you can set the default number of primaries and secondaries.', + parameters: [ + { + label: 'primaries', + documentation: 'primaries :: INTEGER', + }, + { + label: 'secondaries', + documentation: 'secondaries :: INTEGER', + }, + ], + }, + 'dbms.setDefaultDatabase': { + label: 'dbms.setDefaultDatabase', + documentation: + 'Change the default database to the provided value. The database must exist and the old default database must be stopped.', + parameters: [ + { + label: 'databaseName', + documentation: 'databaseName :: STRING', + }, + ], }, 'dbms.showCurrentUser': { label: 'dbms.showCurrentUser', + documentation: 'Show the current user.', + parameters: [], + }, + 'dbms.showTopologyGraphConfig': { + label: 'dbms.showTopologyGraphConfig', + documentation: + 'With this method the configuration of the Topology Graph can be displayed.', + parameters: [], }, 'dbms.upgrade': { label: 'dbms.upgrade', + documentation: + 'Upgrade the system database schema if it is not the current schema.', + parameters: [], }, 'dbms.upgradeStatus': { label: 'dbms.upgradeStatus', - }, - 'gds.allShortestPaths.delta.mutate': { - label: 'gds.allShortestPaths.delta.mutate', - }, - 'gds.allShortestPaths.delta.mutate.estimate': { - label: 'gds.allShortestPaths.delta.mutate.estimate', - }, - 'gds.allShortestPaths.delta.stats': { - label: 'gds.allShortestPaths.delta.stats', - }, - 'gds.allShortestPaths.delta.stats.estimate': { - label: 'gds.allShortestPaths.delta.stats.estimate', - }, - 'gds.allShortestPaths.delta.stream': { - label: 'gds.allShortestPaths.delta.stream', - }, - 'gds.allShortestPaths.delta.stream.estimate': { - label: 'gds.allShortestPaths.delta.stream.estimate', - }, - 'gds.allShortestPaths.delta.write': { - label: 'gds.allShortestPaths.delta.write', - }, - 'gds.allShortestPaths.delta.write.estimate': { - label: 'gds.allShortestPaths.delta.write.estimate', - }, - 'gds.allShortestPaths.dijkstra.mutate': { - label: 'gds.allShortestPaths.dijkstra.mutate', - }, - 'gds.allShortestPaths.dijkstra.mutate.estimate': { - label: 'gds.allShortestPaths.dijkstra.mutate.estimate', - }, - 'gds.allShortestPaths.dijkstra.stream': { - label: 'gds.allShortestPaths.dijkstra.stream', - }, - 'gds.allShortestPaths.dijkstra.stream.estimate': { - label: 'gds.allShortestPaths.dijkstra.stream.estimate', - }, - 'gds.allShortestPaths.dijkstra.write': { - label: 'gds.allShortestPaths.dijkstra.write', - }, - 'gds.allShortestPaths.dijkstra.write.estimate': { - label: 'gds.allShortestPaths.dijkstra.write.estimate', - }, - 'gds.alpha.allShortestPaths.stream': { - label: 'gds.alpha.allShortestPaths.stream', - }, - 'gds.alpha.backup': { - label: 'gds.alpha.backup', - }, - 'gds.alpha.closeness.harmonic.stream': { - label: 'gds.alpha.closeness.harmonic.stream', - }, - 'gds.alpha.closeness.harmonic.write': { - label: 'gds.alpha.closeness.harmonic.write', - }, - 'gds.alpha.conductance.stream': { - label: 'gds.alpha.conductance.stream', - }, - 'gds.alpha.config.defaults.list': { - label: 'gds.alpha.config.defaults.list', - }, - 'gds.alpha.config.defaults.set': { - label: 'gds.alpha.config.defaults.set', - }, - 'gds.alpha.config.limits.list': { - label: 'gds.alpha.config.limits.list', - }, - 'gds.alpha.config.limits.set': { - label: 'gds.alpha.config.limits.set', - }, - 'gds.alpha.create.cypherdb': { - label: 'gds.alpha.create.cypherdb', - }, - 'gds.alpha.drop.cypherdb': { - label: 'gds.alpha.drop.cypherdb', - }, - 'gds.alpha.graph.graphProperty.drop': { - label: 'gds.alpha.graph.graphProperty.drop', - }, - 'gds.alpha.graph.graphProperty.stream': { - label: 'gds.alpha.graph.graphProperty.stream', - }, - 'gds.alpha.graph.nodeLabel.mutate': { - label: 'gds.alpha.graph.nodeLabel.mutate', - }, - 'gds.alpha.graph.nodeLabel.write': { - label: 'gds.alpha.graph.nodeLabel.write', - }, - 'gds.alpha.hits.mutate': { - label: 'gds.alpha.hits.mutate', - }, - 'gds.alpha.hits.mutate.estimate': { - label: 'gds.alpha.hits.mutate.estimate', - }, - 'gds.alpha.hits.stats': { - label: 'gds.alpha.hits.stats', - }, - 'gds.alpha.hits.stats.estimate': { - label: 'gds.alpha.hits.stats.estimate', - }, - 'gds.alpha.hits.stream': { - label: 'gds.alpha.hits.stream', - }, - 'gds.alpha.hits.stream.estimate': { - label: 'gds.alpha.hits.stream.estimate', - }, - 'gds.alpha.hits.write': { - label: 'gds.alpha.hits.write', - }, - 'gds.alpha.hits.write.estimate': { - label: 'gds.alpha.hits.write.estimate', - }, - 'gds.alpha.kSpanningTree.write': { - label: 'gds.alpha.kSpanningTree.write', - }, - 'gds.alpha.knn.filtered.mutate': { - label: 'gds.alpha.knn.filtered.mutate', - }, - 'gds.alpha.knn.filtered.stats': { - label: 'gds.alpha.knn.filtered.stats', - }, - 'gds.alpha.knn.filtered.stream': { - label: 'gds.alpha.knn.filtered.stream', - }, - 'gds.alpha.knn.filtered.write': { - label: 'gds.alpha.knn.filtered.write', - }, - 'gds.alpha.maxkcut.mutate': { - label: 'gds.alpha.maxkcut.mutate', - }, - 'gds.alpha.maxkcut.mutate.estimate': { - label: 'gds.alpha.maxkcut.mutate.estimate', - }, - 'gds.alpha.maxkcut.stream': { - label: 'gds.alpha.maxkcut.stream', - }, - 'gds.alpha.maxkcut.stream.estimate': { - label: 'gds.alpha.maxkcut.stream.estimate', - }, - 'gds.alpha.ml.splitRelationships.mutate': { - label: 'gds.alpha.ml.splitRelationships.mutate', - }, - 'gds.alpha.model.delete': { - label: 'gds.alpha.model.delete', - }, - 'gds.alpha.model.load': { - label: 'gds.alpha.model.load', - }, - 'gds.alpha.model.publish': { - label: 'gds.alpha.model.publish', - }, - 'gds.alpha.model.store': { - label: 'gds.alpha.model.store', - }, - 'gds.alpha.modularity.stats': { - label: 'gds.alpha.modularity.stats', - }, - 'gds.alpha.modularity.stream': { - label: 'gds.alpha.modularity.stream', - }, - 'gds.alpha.nodeSimilarity.filtered.mutate': { - label: 'gds.alpha.nodeSimilarity.filtered.mutate', - }, - 'gds.alpha.nodeSimilarity.filtered.mutate.estimate': { - label: 'gds.alpha.nodeSimilarity.filtered.mutate.estimate', - }, - 'gds.alpha.nodeSimilarity.filtered.stats': { - label: 'gds.alpha.nodeSimilarity.filtered.stats', - }, - 'gds.alpha.nodeSimilarity.filtered.stats.estimate': { - label: 'gds.alpha.nodeSimilarity.filtered.stats.estimate', - }, - 'gds.alpha.nodeSimilarity.filtered.stream': { - label: 'gds.alpha.nodeSimilarity.filtered.stream', - }, - 'gds.alpha.nodeSimilarity.filtered.stream.estimate': { - label: 'gds.alpha.nodeSimilarity.filtered.stream.estimate', - }, - 'gds.alpha.nodeSimilarity.filtered.write': { - label: 'gds.alpha.nodeSimilarity.filtered.write', - }, - 'gds.alpha.nodeSimilarity.filtered.write.estimate': { - label: 'gds.alpha.nodeSimilarity.filtered.write.estimate', - }, - 'gds.alpha.pipeline.linkPrediction.addMLP': { - label: 'gds.alpha.pipeline.linkPrediction.addMLP', - }, - 'gds.alpha.pipeline.linkPrediction.addRandomForest': { - label: 'gds.alpha.pipeline.linkPrediction.addRandomForest', - }, - 'gds.alpha.pipeline.linkPrediction.configureAutoTuning': { - label: 'gds.alpha.pipeline.linkPrediction.configureAutoTuning', - }, - 'gds.alpha.pipeline.nodeClassification.addMLP': { - label: 'gds.alpha.pipeline.nodeClassification.addMLP', - }, - 'gds.alpha.pipeline.nodeClassification.addRandomForest': { - label: 'gds.alpha.pipeline.nodeClassification.addRandomForest', - }, - 'gds.alpha.pipeline.nodeClassification.configureAutoTuning': { - label: 'gds.alpha.pipeline.nodeClassification.configureAutoTuning', - }, - 'gds.alpha.pipeline.nodeRegression.addLinearRegression': { - label: 'gds.alpha.pipeline.nodeRegression.addLinearRegression', - }, - 'gds.alpha.pipeline.nodeRegression.addNodeProperty': { - label: 'gds.alpha.pipeline.nodeRegression.addNodeProperty', - }, - 'gds.alpha.pipeline.nodeRegression.addRandomForest': { - label: 'gds.alpha.pipeline.nodeRegression.addRandomForest', - }, - 'gds.alpha.pipeline.nodeRegression.configureAutoTuning': { - label: 'gds.alpha.pipeline.nodeRegression.configureAutoTuning', - }, - 'gds.alpha.pipeline.nodeRegression.configureSplit': { - label: 'gds.alpha.pipeline.nodeRegression.configureSplit', - }, - 'gds.alpha.pipeline.nodeRegression.create': { - label: 'gds.alpha.pipeline.nodeRegression.create', - }, - 'gds.alpha.pipeline.nodeRegression.predict.mutate': { - label: 'gds.alpha.pipeline.nodeRegression.predict.mutate', - }, - 'gds.alpha.pipeline.nodeRegression.predict.stream': { - label: 'gds.alpha.pipeline.nodeRegression.predict.stream', - }, - 'gds.alpha.pipeline.nodeRegression.selectFeatures': { - label: 'gds.alpha.pipeline.nodeRegression.selectFeatures', - }, - 'gds.alpha.pipeline.nodeRegression.train': { - label: 'gds.alpha.pipeline.nodeRegression.train', - }, - 'gds.alpha.restore': { - label: 'gds.alpha.restore', - }, - 'gds.alpha.scaleProperties.mutate': { - label: 'gds.alpha.scaleProperties.mutate', - }, - 'gds.alpha.scaleProperties.stream': { - label: 'gds.alpha.scaleProperties.stream', - }, - 'gds.alpha.scc.stream': { - label: 'gds.alpha.scc.stream', - }, - 'gds.alpha.scc.write': { - label: 'gds.alpha.scc.write', - }, - 'gds.alpha.sllpa.mutate': { - label: 'gds.alpha.sllpa.mutate', - }, - 'gds.alpha.sllpa.mutate.estimate': { - label: 'gds.alpha.sllpa.mutate.estimate', - }, - 'gds.alpha.sllpa.stats': { - label: 'gds.alpha.sllpa.stats', - }, - 'gds.alpha.sllpa.stats.estimate': { - label: 'gds.alpha.sllpa.stats.estimate', - }, - 'gds.alpha.sllpa.stream': { - label: 'gds.alpha.sllpa.stream', - }, - 'gds.alpha.sllpa.stream.estimate': { - label: 'gds.alpha.sllpa.stream.estimate', - }, - 'gds.alpha.sllpa.write': { - label: 'gds.alpha.sllpa.write', - }, - 'gds.alpha.sllpa.write.estimate': { - label: 'gds.alpha.sllpa.write.estimate', - }, - 'gds.alpha.systemMonitor': { - label: 'gds.alpha.systemMonitor', - }, - 'gds.alpha.triangles': { - label: 'gds.alpha.triangles', - }, - 'gds.alpha.userLog': { - label: 'gds.alpha.userLog', - }, - 'gds.articleRank.mutate': { - label: 'gds.articleRank.mutate', - }, - 'gds.articleRank.mutate.estimate': { - label: 'gds.articleRank.mutate.estimate', - }, - 'gds.articleRank.stats': { - label: 'gds.articleRank.stats', - }, - 'gds.articleRank.stats.estimate': { - label: 'gds.articleRank.stats.estimate', - }, - 'gds.articleRank.stream': { - label: 'gds.articleRank.stream', - }, - 'gds.articleRank.stream.estimate': { - label: 'gds.articleRank.stream.estimate', - }, - 'gds.articleRank.write': { - label: 'gds.articleRank.write', - }, - 'gds.articleRank.write.estimate': { - label: 'gds.articleRank.write.estimate', - }, - 'gds.bellmanFord.mutate': { - label: 'gds.bellmanFord.mutate', - }, - 'gds.bellmanFord.mutate.estimate': { - label: 'gds.bellmanFord.mutate.estimate', - }, - 'gds.bellmanFord.stats': { - label: 'gds.bellmanFord.stats', - }, - 'gds.bellmanFord.stats.estimate': { - label: 'gds.bellmanFord.stats.estimate', - }, - 'gds.bellmanFord.stream': { - label: 'gds.bellmanFord.stream', - }, - 'gds.bellmanFord.stream.estimate': { - label: 'gds.bellmanFord.stream.estimate', - }, - 'gds.bellmanFord.write': { - label: 'gds.bellmanFord.write', - }, - 'gds.bellmanFord.write.estimate': { - label: 'gds.bellmanFord.write.estimate', - }, - 'gds.beta.closeness.mutate': { - label: 'gds.beta.closeness.mutate', - }, - 'gds.beta.closeness.stats': { - label: 'gds.beta.closeness.stats', - }, - 'gds.beta.closeness.stream': { - label: 'gds.beta.closeness.stream', - }, - 'gds.beta.closeness.write': { - label: 'gds.beta.closeness.write', - }, - 'gds.beta.collapsePath.mutate': { - label: 'gds.beta.collapsePath.mutate', - }, - 'gds.beta.graph.export.csv': { - label: 'gds.beta.graph.export.csv', - }, - 'gds.beta.graph.export.csv.estimate': { - label: 'gds.beta.graph.export.csv.estimate', - }, - 'gds.beta.graph.generate': { - label: 'gds.beta.graph.generate', - }, - 'gds.beta.graph.project.subgraph': { - label: 'gds.beta.graph.project.subgraph', - }, - 'gds.beta.graph.relationships.stream': { - label: 'gds.beta.graph.relationships.stream', - }, - 'gds.beta.graph.relationships.toUndirected': { - label: 'gds.beta.graph.relationships.toUndirected', - }, - 'gds.beta.graph.relationships.toUndirected.estimate': { - label: 'gds.beta.graph.relationships.toUndirected.estimate', - }, - 'gds.beta.graphSage.mutate': { - label: 'gds.beta.graphSage.mutate', - }, - 'gds.beta.graphSage.mutate.estimate': { - label: 'gds.beta.graphSage.mutate.estimate', - }, - 'gds.beta.graphSage.stream': { - label: 'gds.beta.graphSage.stream', - }, - 'gds.beta.graphSage.stream.estimate': { - label: 'gds.beta.graphSage.stream.estimate', - }, - 'gds.beta.graphSage.train': { - label: 'gds.beta.graphSage.train', - }, - 'gds.beta.graphSage.train.estimate': { - label: 'gds.beta.graphSage.train.estimate', - }, - 'gds.beta.graphSage.write': { - label: 'gds.beta.graphSage.write', - }, - 'gds.beta.graphSage.write.estimate': { - label: 'gds.beta.graphSage.write.estimate', - }, - 'gds.beta.hashgnn.mutate': { - label: 'gds.beta.hashgnn.mutate', - }, - 'gds.beta.hashgnn.mutate.estimate': { - label: 'gds.beta.hashgnn.mutate.estimate', - }, - 'gds.beta.hashgnn.stream': { - label: 'gds.beta.hashgnn.stream', - }, - 'gds.beta.hashgnn.stream.estimate': { - label: 'gds.beta.hashgnn.stream.estimate', - }, - 'gds.beta.influenceMaximization.celf.mutate': { - label: 'gds.beta.influenceMaximization.celf.mutate', - }, - 'gds.beta.influenceMaximization.celf.mutate.estimate': { - label: 'gds.beta.influenceMaximization.celf.mutate.estimate', - }, - 'gds.beta.influenceMaximization.celf.stats': { - label: 'gds.beta.influenceMaximization.celf.stats', - }, - 'gds.beta.influenceMaximization.celf.stats.estimate': { - label: 'gds.beta.influenceMaximization.celf.stats.estimate', - }, - 'gds.beta.influenceMaximization.celf.stream': { - label: 'gds.beta.influenceMaximization.celf.stream', - }, - 'gds.beta.influenceMaximization.celf.stream.estimate': { - label: 'gds.beta.influenceMaximization.celf.stream.estimate', - }, - 'gds.beta.influenceMaximization.celf.write': { - label: 'gds.beta.influenceMaximization.celf.write', - }, - 'gds.beta.influenceMaximization.celf.write.estimate': { - label: 'gds.beta.influenceMaximization.celf.write.estimate', - }, - 'gds.beta.k1coloring.mutate': { - label: 'gds.beta.k1coloring.mutate', - }, - 'gds.beta.k1coloring.mutate.estimate': { - label: 'gds.beta.k1coloring.mutate.estimate', - }, - 'gds.beta.k1coloring.stats': { - label: 'gds.beta.k1coloring.stats', - }, - 'gds.beta.k1coloring.stats.estimate': { - label: 'gds.beta.k1coloring.stats.estimate', - }, - 'gds.beta.k1coloring.stream': { - label: 'gds.beta.k1coloring.stream', - }, - 'gds.beta.k1coloring.stream.estimate': { - label: 'gds.beta.k1coloring.stream.estimate', - }, - 'gds.beta.k1coloring.write': { - label: 'gds.beta.k1coloring.write', - }, - 'gds.beta.k1coloring.write.estimate': { - label: 'gds.beta.k1coloring.write.estimate', - }, - 'gds.beta.kmeans.mutate': { - label: 'gds.beta.kmeans.mutate', - }, - 'gds.beta.kmeans.mutate.estimate': { - label: 'gds.beta.kmeans.mutate.estimate', - }, - 'gds.beta.kmeans.stats': { - label: 'gds.beta.kmeans.stats', - }, - 'gds.beta.kmeans.stats.estimate': { - label: 'gds.beta.kmeans.stats.estimate', - }, - 'gds.beta.kmeans.stream': { - label: 'gds.beta.kmeans.stream', - }, - 'gds.beta.kmeans.stream.estimate': { - label: 'gds.beta.kmeans.stream.estimate', - }, - 'gds.beta.kmeans.write': { - label: 'gds.beta.kmeans.write', - }, - 'gds.beta.kmeans.write.estimate': { - label: 'gds.beta.kmeans.write.estimate', - }, - 'gds.beta.leiden.mutate': { - label: 'gds.beta.leiden.mutate', - }, - 'gds.beta.leiden.mutate.estimate': { - label: 'gds.beta.leiden.mutate.estimate', - }, - 'gds.beta.leiden.stats': { - label: 'gds.beta.leiden.stats', - }, - 'gds.beta.leiden.stats.estimate': { - label: 'gds.beta.leiden.stats.estimate', - }, - 'gds.beta.leiden.stream': { - label: 'gds.beta.leiden.stream', - }, - 'gds.beta.leiden.stream.estimate': { - label: 'gds.beta.leiden.stream.estimate', - }, - 'gds.beta.leiden.write': { - label: 'gds.beta.leiden.write', - }, - 'gds.beta.leiden.write.estimate': { - label: 'gds.beta.leiden.write.estimate', - }, - 'gds.beta.listProgress': { - label: 'gds.beta.listProgress', - }, - 'gds.beta.model.drop': { - label: 'gds.beta.model.drop', - }, - 'gds.beta.model.exists': { - label: 'gds.beta.model.exists', - }, - 'gds.beta.model.list': { - label: 'gds.beta.model.list', - }, - 'gds.beta.modularityOptimization.mutate': { - label: 'gds.beta.modularityOptimization.mutate', - }, - 'gds.beta.modularityOptimization.mutate.estimate': { - label: 'gds.beta.modularityOptimization.mutate.estimate', - }, - 'gds.beta.modularityOptimization.stream': { - label: 'gds.beta.modularityOptimization.stream', - }, - 'gds.beta.modularityOptimization.stream.estimate': { - label: 'gds.beta.modularityOptimization.stream.estimate', - }, - 'gds.beta.modularityOptimization.write': { - label: 'gds.beta.modularityOptimization.write', - }, - 'gds.beta.modularityOptimization.write.estimate': { - label: 'gds.beta.modularityOptimization.write.estimate', - }, - 'gds.beta.node2vec.mutate': { - label: 'gds.beta.node2vec.mutate', - }, - 'gds.beta.node2vec.mutate.estimate': { - label: 'gds.beta.node2vec.mutate.estimate', - }, - 'gds.beta.node2vec.stream': { - label: 'gds.beta.node2vec.stream', - }, - 'gds.beta.node2vec.stream.estimate': { - label: 'gds.beta.node2vec.stream.estimate', - }, - 'gds.beta.node2vec.write': { - label: 'gds.beta.node2vec.write', - }, - 'gds.beta.node2vec.write.estimate': { - label: 'gds.beta.node2vec.write.estimate', - }, - 'gds.beta.pipeline.drop': { - label: 'gds.beta.pipeline.drop', - }, - 'gds.beta.pipeline.exists': { - label: 'gds.beta.pipeline.exists', - }, - 'gds.beta.pipeline.linkPrediction.addFeature': { - label: 'gds.beta.pipeline.linkPrediction.addFeature', - }, - 'gds.beta.pipeline.linkPrediction.addLogisticRegression': { - label: 'gds.beta.pipeline.linkPrediction.addLogisticRegression', - }, - 'gds.beta.pipeline.linkPrediction.addNodeProperty': { - label: 'gds.beta.pipeline.linkPrediction.addNodeProperty', - }, - 'gds.beta.pipeline.linkPrediction.addRandomForest': { - label: 'gds.beta.pipeline.linkPrediction.addRandomForest', - }, - 'gds.beta.pipeline.linkPrediction.configureSplit': { - label: 'gds.beta.pipeline.linkPrediction.configureSplit', - }, - 'gds.beta.pipeline.linkPrediction.create': { - label: 'gds.beta.pipeline.linkPrediction.create', - }, - 'gds.beta.pipeline.linkPrediction.predict.mutate': { - label: 'gds.beta.pipeline.linkPrediction.predict.mutate', - }, - 'gds.beta.pipeline.linkPrediction.predict.mutate.estimate': { - label: 'gds.beta.pipeline.linkPrediction.predict.mutate.estimate', - }, - 'gds.beta.pipeline.linkPrediction.predict.stream': { - label: 'gds.beta.pipeline.linkPrediction.predict.stream', - }, - 'gds.beta.pipeline.linkPrediction.predict.stream.estimate': { - label: 'gds.beta.pipeline.linkPrediction.predict.stream.estimate', - }, - 'gds.beta.pipeline.linkPrediction.train': { - label: 'gds.beta.pipeline.linkPrediction.train', - }, - 'gds.beta.pipeline.linkPrediction.train.estimate': { - label: 'gds.beta.pipeline.linkPrediction.train.estimate', - }, - 'gds.beta.pipeline.list': { - label: 'gds.beta.pipeline.list', - }, - 'gds.beta.pipeline.nodeClassification.addLogisticRegression': { - label: 'gds.beta.pipeline.nodeClassification.addLogisticRegression', - }, - 'gds.beta.pipeline.nodeClassification.addNodeProperty': { - label: 'gds.beta.pipeline.nodeClassification.addNodeProperty', - }, - 'gds.beta.pipeline.nodeClassification.addRandomForest': { - label: 'gds.beta.pipeline.nodeClassification.addRandomForest', - }, - 'gds.beta.pipeline.nodeClassification.configureSplit': { - label: 'gds.beta.pipeline.nodeClassification.configureSplit', - }, - 'gds.beta.pipeline.nodeClassification.create': { - label: 'gds.beta.pipeline.nodeClassification.create', - }, - 'gds.beta.pipeline.nodeClassification.predict.mutate': { - label: 'gds.beta.pipeline.nodeClassification.predict.mutate', - }, - 'gds.beta.pipeline.nodeClassification.predict.mutate.estimate': { - label: 'gds.beta.pipeline.nodeClassification.predict.mutate.estimate', - }, - 'gds.beta.pipeline.nodeClassification.predict.stream': { - label: 'gds.beta.pipeline.nodeClassification.predict.stream', - }, - 'gds.beta.pipeline.nodeClassification.predict.stream.estimate': { - label: 'gds.beta.pipeline.nodeClassification.predict.stream.estimate', - }, - 'gds.beta.pipeline.nodeClassification.predict.write': { - label: 'gds.beta.pipeline.nodeClassification.predict.write', - }, - 'gds.beta.pipeline.nodeClassification.predict.write.estimate': { - label: 'gds.beta.pipeline.nodeClassification.predict.write.estimate', - }, - 'gds.beta.pipeline.nodeClassification.selectFeatures': { - label: 'gds.beta.pipeline.nodeClassification.selectFeatures', - }, - 'gds.beta.pipeline.nodeClassification.train': { - label: 'gds.beta.pipeline.nodeClassification.train', - }, - 'gds.beta.pipeline.nodeClassification.train.estimate': { - label: 'gds.beta.pipeline.nodeClassification.train.estimate', - }, - 'gds.beta.spanningTree.mutate': { - label: 'gds.beta.spanningTree.mutate', - }, - 'gds.beta.spanningTree.mutate.estimate': { - label: 'gds.beta.spanningTree.mutate.estimate', - }, - 'gds.beta.spanningTree.stats': { - label: 'gds.beta.spanningTree.stats', - }, - 'gds.beta.spanningTree.stats.estimate': { - label: 'gds.beta.spanningTree.stats.estimate', - }, - 'gds.beta.spanningTree.stream': { - label: 'gds.beta.spanningTree.stream', - }, - 'gds.beta.spanningTree.stream.estimate': { - label: 'gds.beta.spanningTree.stream.estimate', - }, - 'gds.beta.spanningTree.write': { - label: 'gds.beta.spanningTree.write', - }, - 'gds.beta.spanningTree.write.estimate': { - label: 'gds.beta.spanningTree.write.estimate', - }, - 'gds.beta.steinerTree.mutate': { - label: 'gds.beta.steinerTree.mutate', - }, - 'gds.beta.steinerTree.stats': { - label: 'gds.beta.steinerTree.stats', - }, - 'gds.beta.steinerTree.stream': { - label: 'gds.beta.steinerTree.stream', - }, - 'gds.beta.steinerTree.write': { - label: 'gds.beta.steinerTree.write', - }, - 'gds.betweenness.mutate': { - label: 'gds.betweenness.mutate', - }, - 'gds.betweenness.mutate.estimate': { - label: 'gds.betweenness.mutate.estimate', - }, - 'gds.betweenness.stats': { - label: 'gds.betweenness.stats', - }, - 'gds.betweenness.stats.estimate': { - label: 'gds.betweenness.stats.estimate', - }, - 'gds.betweenness.stream': { - label: 'gds.betweenness.stream', - }, - 'gds.betweenness.stream.estimate': { - label: 'gds.betweenness.stream.estimate', - }, - 'gds.betweenness.write': { - label: 'gds.betweenness.write', - }, - 'gds.betweenness.write.estimate': { - label: 'gds.betweenness.write.estimate', - }, - 'gds.bfs.mutate': { - label: 'gds.bfs.mutate', - }, - 'gds.bfs.mutate.estimate': { - label: 'gds.bfs.mutate.estimate', - }, - 'gds.bfs.stats': { - label: 'gds.bfs.stats', - }, - 'gds.bfs.stats.estimate': { - label: 'gds.bfs.stats.estimate', - }, - 'gds.bfs.stream': { - label: 'gds.bfs.stream', - }, - 'gds.bfs.stream.estimate': { - label: 'gds.bfs.stream.estimate', - }, - 'gds.debug.arrow': { - label: 'gds.debug.arrow', - }, - 'gds.debug.sysInfo': { - label: 'gds.debug.sysInfo', - }, - 'gds.degree.mutate': { - label: 'gds.degree.mutate', - }, - 'gds.degree.mutate.estimate': { - label: 'gds.degree.mutate.estimate', - }, - 'gds.degree.stats': { - label: 'gds.degree.stats', - }, - 'gds.degree.stats.estimate': { - label: 'gds.degree.stats.estimate', - }, - 'gds.degree.stream': { - label: 'gds.degree.stream', - }, - 'gds.degree.stream.estimate': { - label: 'gds.degree.stream.estimate', - }, - 'gds.degree.write': { - label: 'gds.degree.write', - }, - 'gds.degree.write.estimate': { - label: 'gds.degree.write.estimate', - }, - 'gds.dfs.mutate': { - label: 'gds.dfs.mutate', - }, - 'gds.dfs.mutate.estimate': { - label: 'gds.dfs.mutate.estimate', - }, - 'gds.dfs.stream': { - label: 'gds.dfs.stream', - }, - 'gds.dfs.stream.estimate': { - label: 'gds.dfs.stream.estimate', - }, - 'gds.eigenvector.mutate': { - label: 'gds.eigenvector.mutate', - }, - 'gds.eigenvector.mutate.estimate': { - label: 'gds.eigenvector.mutate.estimate', - }, - 'gds.eigenvector.stats': { - label: 'gds.eigenvector.stats', - }, - 'gds.eigenvector.stats.estimate': { - label: 'gds.eigenvector.stats.estimate', - }, - 'gds.eigenvector.stream': { - label: 'gds.eigenvector.stream', - }, - 'gds.eigenvector.stream.estimate': { - label: 'gds.eigenvector.stream.estimate', - }, - 'gds.eigenvector.write': { - label: 'gds.eigenvector.write', - }, - 'gds.eigenvector.write.estimate': { - label: 'gds.eigenvector.write.estimate', - }, - 'gds.fastRP.mutate': { - label: 'gds.fastRP.mutate', - }, - 'gds.fastRP.mutate.estimate': { - label: 'gds.fastRP.mutate.estimate', - }, - 'gds.fastRP.stats': { - label: 'gds.fastRP.stats', - }, - 'gds.fastRP.stats.estimate': { - label: 'gds.fastRP.stats.estimate', - }, - 'gds.fastRP.stream': { - label: 'gds.fastRP.stream', - }, - 'gds.fastRP.stream.estimate': { - label: 'gds.fastRP.stream.estimate', - }, - 'gds.fastRP.write': { - label: 'gds.fastRP.write', - }, - 'gds.fastRP.write.estimate': { - label: 'gds.fastRP.write.estimate', - }, - 'gds.graph.deleteRelationships': { - label: 'gds.graph.deleteRelationships', - }, - 'gds.graph.drop': { - label: 'gds.graph.drop', - }, - 'gds.graph.exists': { - label: 'gds.graph.exists', - }, - 'gds.graph.export': { - label: 'gds.graph.export', - }, - 'gds.graph.list': { - label: 'gds.graph.list', - }, - 'gds.graph.nodeProperties.drop': { - label: 'gds.graph.nodeProperties.drop', - }, - 'gds.graph.nodeProperties.stream': { - label: 'gds.graph.nodeProperties.stream', - }, - 'gds.graph.nodeProperties.write': { - label: 'gds.graph.nodeProperties.write', - }, - 'gds.graph.nodeProperty.stream': { - label: 'gds.graph.nodeProperty.stream', - }, - 'gds.graph.project': { - label: 'gds.graph.project', - }, - 'gds.graph.project.cypher': { - label: 'gds.graph.project.cypher', - }, - 'gds.graph.project.cypher.estimate': { - label: 'gds.graph.project.cypher.estimate', - }, - 'gds.graph.project.estimate': { - label: 'gds.graph.project.estimate', - }, - 'gds.graph.relationship.write': { - label: 'gds.graph.relationship.write', - }, - 'gds.graph.relationshipProperties.stream': { - label: 'gds.graph.relationshipProperties.stream', - }, - 'gds.graph.relationshipProperties.write': { - label: 'gds.graph.relationshipProperties.write', - }, - 'gds.graph.relationshipProperty.stream': { - label: 'gds.graph.relationshipProperty.stream', - }, - 'gds.graph.relationships.drop': { - label: 'gds.graph.relationships.drop', - }, - 'gds.graph.removeNodeProperties': { - label: 'gds.graph.removeNodeProperties', - }, - 'gds.graph.sample.cnarw': { - label: 'gds.graph.sample.cnarw', - }, - 'gds.graph.sample.cnarw.estimate': { - label: 'gds.graph.sample.cnarw.estimate', - }, - 'gds.graph.sample.rwr': { - label: 'gds.graph.sample.rwr', - }, - 'gds.graph.streamNodeProperties': { - label: 'gds.graph.streamNodeProperties', - }, - 'gds.graph.streamNodeProperty': { - label: 'gds.graph.streamNodeProperty', - }, - 'gds.graph.streamRelationshipProperties': { - label: 'gds.graph.streamRelationshipProperties', - }, - 'gds.graph.streamRelationshipProperty': { - label: 'gds.graph.streamRelationshipProperty', - }, - 'gds.graph.writeNodeProperties': { - label: 'gds.graph.writeNodeProperties', - }, - 'gds.graph.writeRelationship': { - label: 'gds.graph.writeRelationship', - }, - 'gds.kcore.mutate': { - label: 'gds.kcore.mutate', - }, - 'gds.kcore.mutate.estimate': { - label: 'gds.kcore.mutate.estimate', - }, - 'gds.kcore.stats': { - label: 'gds.kcore.stats', - }, - 'gds.kcore.stats.estimate': { - label: 'gds.kcore.stats.estimate', - }, - 'gds.kcore.stream': { - label: 'gds.kcore.stream', - }, - 'gds.kcore.stream.estimate': { - label: 'gds.kcore.stream.estimate', - }, - 'gds.kcore.write': { - label: 'gds.kcore.write', - }, - 'gds.kcore.write.estimate': { - label: 'gds.kcore.write.estimate', - }, - 'gds.knn.mutate': { - label: 'gds.knn.mutate', - }, - 'gds.knn.mutate.estimate': { - label: 'gds.knn.mutate.estimate', - }, - 'gds.knn.stats': { - label: 'gds.knn.stats', - }, - 'gds.knn.stats.estimate': { - label: 'gds.knn.stats.estimate', - }, - 'gds.knn.stream': { - label: 'gds.knn.stream', - }, - 'gds.knn.stream.estimate': { - label: 'gds.knn.stream.estimate', - }, - 'gds.knn.write': { - label: 'gds.knn.write', - }, - 'gds.knn.write.estimate': { - label: 'gds.knn.write.estimate', - }, - 'gds.labelPropagation.mutate': { - label: 'gds.labelPropagation.mutate', - }, - 'gds.labelPropagation.mutate.estimate': { - label: 'gds.labelPropagation.mutate.estimate', - }, - 'gds.labelPropagation.stats': { - label: 'gds.labelPropagation.stats', - }, - 'gds.labelPropagation.stats.estimate': { - label: 'gds.labelPropagation.stats.estimate', - }, - 'gds.labelPropagation.stream': { - label: 'gds.labelPropagation.stream', - }, - 'gds.labelPropagation.stream.estimate': { - label: 'gds.labelPropagation.stream.estimate', - }, - 'gds.labelPropagation.write': { - label: 'gds.labelPropagation.write', - }, - 'gds.labelPropagation.write.estimate': { - label: 'gds.labelPropagation.write.estimate', - }, - 'gds.list': { - label: 'gds.list', - }, - 'gds.localClusteringCoefficient.mutate': { - label: 'gds.localClusteringCoefficient.mutate', - }, - 'gds.localClusteringCoefficient.mutate.estimate': { - label: 'gds.localClusteringCoefficient.mutate.estimate', - }, - 'gds.localClusteringCoefficient.stats': { - label: 'gds.localClusteringCoefficient.stats', - }, - 'gds.localClusteringCoefficient.stats.estimate': { - label: 'gds.localClusteringCoefficient.stats.estimate', - }, - 'gds.localClusteringCoefficient.stream': { - label: 'gds.localClusteringCoefficient.stream', - }, - 'gds.localClusteringCoefficient.stream.estimate': { - label: 'gds.localClusteringCoefficient.stream.estimate', - }, - 'gds.localClusteringCoefficient.write': { - label: 'gds.localClusteringCoefficient.write', - }, - 'gds.localClusteringCoefficient.write.estimate': { - label: 'gds.localClusteringCoefficient.write.estimate', - }, - 'gds.louvain.mutate': { - label: 'gds.louvain.mutate', - }, - 'gds.louvain.mutate.estimate': { - label: 'gds.louvain.mutate.estimate', - }, - 'gds.louvain.stats': { - label: 'gds.louvain.stats', - }, - 'gds.louvain.stats.estimate': { - label: 'gds.louvain.stats.estimate', - }, - 'gds.louvain.stream': { - label: 'gds.louvain.stream', - }, - 'gds.louvain.stream.estimate': { - label: 'gds.louvain.stream.estimate', - }, - 'gds.louvain.write': { - label: 'gds.louvain.write', - }, - 'gds.louvain.write.estimate': { - label: 'gds.louvain.write.estimate', - }, - 'gds.nodeSimilarity.mutate': { - label: 'gds.nodeSimilarity.mutate', - }, - 'gds.nodeSimilarity.mutate.estimate': { - label: 'gds.nodeSimilarity.mutate.estimate', - }, - 'gds.nodeSimilarity.stats': { - label: 'gds.nodeSimilarity.stats', - }, - 'gds.nodeSimilarity.stats.estimate': { - label: 'gds.nodeSimilarity.stats.estimate', - }, - 'gds.nodeSimilarity.stream': { - label: 'gds.nodeSimilarity.stream', - }, - 'gds.nodeSimilarity.stream.estimate': { - label: 'gds.nodeSimilarity.stream.estimate', - }, - 'gds.nodeSimilarity.write': { - label: 'gds.nodeSimilarity.write', - }, - 'gds.nodeSimilarity.write.estimate': { - label: 'gds.nodeSimilarity.write.estimate', - }, - 'gds.pageRank.mutate': { - label: 'gds.pageRank.mutate', - }, - 'gds.pageRank.mutate.estimate': { - label: 'gds.pageRank.mutate.estimate', - }, - 'gds.pageRank.stats': { - label: 'gds.pageRank.stats', - }, - 'gds.pageRank.stats.estimate': { - label: 'gds.pageRank.stats.estimate', - }, - 'gds.pageRank.stream': { - label: 'gds.pageRank.stream', - }, - 'gds.pageRank.stream.estimate': { - label: 'gds.pageRank.stream.estimate', - }, - 'gds.pageRank.write': { - label: 'gds.pageRank.write', - }, - 'gds.pageRank.write.estimate': { - label: 'gds.pageRank.write.estimate', - }, - 'gds.randomWalk.stats': { - label: 'gds.randomWalk.stats', - }, - 'gds.randomWalk.stats.estimate': { - label: 'gds.randomWalk.stats.estimate', - }, - 'gds.randomWalk.stream': { - label: 'gds.randomWalk.stream', - }, - 'gds.randomWalk.stream.estimate': { - label: 'gds.randomWalk.stream.estimate', - }, - 'gds.scaleProperties.mutate': { - label: 'gds.scaleProperties.mutate', - }, - 'gds.scaleProperties.mutate.estimate': { - label: 'gds.scaleProperties.mutate.estimate', - }, - 'gds.scaleProperties.stats': { - label: 'gds.scaleProperties.stats', - }, - 'gds.scaleProperties.stats.estimate': { - label: 'gds.scaleProperties.stats.estimate', - }, - 'gds.scaleProperties.stream': { - label: 'gds.scaleProperties.stream', - }, - 'gds.scaleProperties.stream.estimate': { - label: 'gds.scaleProperties.stream.estimate', - }, - 'gds.scaleProperties.write': { - label: 'gds.scaleProperties.write', - }, - 'gds.scaleProperties.write.estimate': { - label: 'gds.scaleProperties.write.estimate', - }, - 'gds.shortestPath.astar.mutate': { - label: 'gds.shortestPath.astar.mutate', - }, - 'gds.shortestPath.astar.mutate.estimate': { - label: 'gds.shortestPath.astar.mutate.estimate', - }, - 'gds.shortestPath.astar.stream': { - label: 'gds.shortestPath.astar.stream', - }, - 'gds.shortestPath.astar.stream.estimate': { - label: 'gds.shortestPath.astar.stream.estimate', - }, - 'gds.shortestPath.astar.write': { - label: 'gds.shortestPath.astar.write', - }, - 'gds.shortestPath.astar.write.estimate': { - label: 'gds.shortestPath.astar.write.estimate', - }, - 'gds.shortestPath.dijkstra.mutate': { - label: 'gds.shortestPath.dijkstra.mutate', - }, - 'gds.shortestPath.dijkstra.mutate.estimate': { - label: 'gds.shortestPath.dijkstra.mutate.estimate', - }, - 'gds.shortestPath.dijkstra.stream': { - label: 'gds.shortestPath.dijkstra.stream', - }, - 'gds.shortestPath.dijkstra.stream.estimate': { - label: 'gds.shortestPath.dijkstra.stream.estimate', - }, - 'gds.shortestPath.dijkstra.write': { - label: 'gds.shortestPath.dijkstra.write', - }, - 'gds.shortestPath.dijkstra.write.estimate': { - label: 'gds.shortestPath.dijkstra.write.estimate', - }, - 'gds.shortestPath.yens.mutate': { - label: 'gds.shortestPath.yens.mutate', - }, - 'gds.shortestPath.yens.mutate.estimate': { - label: 'gds.shortestPath.yens.mutate.estimate', - }, - 'gds.shortestPath.yens.stream': { - label: 'gds.shortestPath.yens.stream', - }, - 'gds.shortestPath.yens.stream.estimate': { - label: 'gds.shortestPath.yens.stream.estimate', - }, - 'gds.shortestPath.yens.write': { - label: 'gds.shortestPath.yens.write', - }, - 'gds.shortestPath.yens.write.estimate': { - label: 'gds.shortestPath.yens.write.estimate', - }, - 'gds.triangleCount.mutate': { - label: 'gds.triangleCount.mutate', - }, - 'gds.triangleCount.mutate.estimate': { - label: 'gds.triangleCount.mutate.estimate', - }, - 'gds.triangleCount.stats': { - label: 'gds.triangleCount.stats', - }, - 'gds.triangleCount.stats.estimate': { - label: 'gds.triangleCount.stats.estimate', - }, - 'gds.triangleCount.stream': { - label: 'gds.triangleCount.stream', - }, - 'gds.triangleCount.stream.estimate': { - label: 'gds.triangleCount.stream.estimate', - }, - 'gds.triangleCount.write': { - label: 'gds.triangleCount.write', - }, - 'gds.triangleCount.write.estimate': { - label: 'gds.triangleCount.write.estimate', - }, - 'gds.wcc.mutate': { - label: 'gds.wcc.mutate', - }, - 'gds.wcc.mutate.estimate': { - label: 'gds.wcc.mutate.estimate', - }, - 'gds.wcc.stats': { - label: 'gds.wcc.stats', - }, - 'gds.wcc.stats.estimate': { - label: 'gds.wcc.stats.estimate', - }, - 'gds.wcc.stream': { - label: 'gds.wcc.stream', - }, - 'gds.wcc.stream.estimate': { - label: 'gds.wcc.stream.estimate', - }, - 'gds.wcc.write': { - label: 'gds.wcc.write', - }, - 'gds.wcc.write.estimate': { - label: 'gds.wcc.write.estimate', - }, - 'jwt.security.requestAccess': { - label: 'jwt.security.requestAccess', + documentation: + 'Report the current status of the system database sub-graph schema.', + parameters: [], }, 'tx.getMetaData': { label: 'tx.getMetaData', + documentation: 'Provides attached transaction metadata.', + parameters: [], }, 'tx.setMetaData': { label: 'tx.setMetaData', + documentation: + 'Attaches a map of data to the transaction. The data will be printed when listing queries, and inserted into the query log.', + parameters: [ + { + label: 'data', + documentation: 'data :: MAP', + }, + ], }, }, labels: ['Movie', 'Person'], diff --git a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx index 70b06aa30..35a635b78 100644 --- a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx +++ b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx @@ -1,6 +1,7 @@ import { expect, test } from '@playwright/experimental-ct-react'; import { Locator } from 'playwright/test'; import { CypherEditor } from '../CypherEditor'; +import { mockSchema } from './mock-data'; test.use({ viewport: { width: 1000, height: 500 } }); @@ -32,42 +33,6 @@ function testTooltip(tooltip: Locator, expectations: TooltipExpectations) { return Promise.all([included, excluded]); } -const mockSchema = { - functionSignatures: { - abs: { - label: 'abs', - documentation: 'Returns the absolute value of a floating point number.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT?', - }, - ], - }, - }, - procedureSignatures: { - 'apoc.import.csv': { - label: 'apoc.import.csv', - documentation: - 'Imports nodes and relationships with the given labels and types from the provided CSV file.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST? OF MAP?', - }, - { - label: 'rels', - documentation: 'rels :: LIST? OF MAP?', - }, - { - label: 'config', - documentation: 'config :: MAP?', - }, - ], - }, - }, -}; - test('Prop signatureHelp set to false disables signature help for functions', async ({ page, mount, @@ -166,8 +131,8 @@ test('Signature help set shows the description for the first argument', async ({ await testTooltip(tooltip, { includes: [ - 'nodes :: LIST? OF MAP?', - 'Imports nodes and relationships with the given labels and types from the provided CSV file.', + 'nodes :: LIST', + 'Imports `NODE` and `RELATIONSHIP` values with the given labels and types from the provided CSV file', ], }); }); @@ -191,8 +156,8 @@ test('Signature help set shows the description for the second argument', async ( await testTooltip(tooltip, { includes: [ - 'rels :: LIST? OF MAP?', - 'Imports nodes and relationships with the given labels and types from the provided CSV file.', + 'rels :: LIST', + 'Imports `NODE` and `RELATIONSHIP` values with the given labels and types from the provided CSV file', ], }); }); @@ -216,8 +181,8 @@ test('Signature help set shows description for arguments with a space following await testTooltip(tooltip, { includes: [ - 'rels :: LIST? OF MAP?', - 'Imports nodes and relationships with the given labels and types from the provided CSV file.', + 'rels :: LIST', + 'Imports `NODE` and `RELATIONSHIP` values with the given labels and types from the provided CSV file', ], }); }); @@ -241,8 +206,8 @@ test('Signature help set shows the description for the third argument', async ({ await testTooltip(tooltip, { includes: [ - 'config :: MAP?', - 'Imports nodes and relationships with the given labels and types from the provided CSV file.', + 'config :: MAP', + 'Imports `NODE` and `RELATIONSHIP` values with the given labels and types from the provided CSV file', ], }); }); @@ -266,9 +231,9 @@ test('Signature help only shows the description pass the last argument', async ( await testTooltip(tooltip, { includes: [ - 'Imports nodes and relationships with the given labels and types from the provided CSV file.', + 'Imports `NODE` and `RELATIONSHIP` values with the given labels and types from the provided CSV file', ], - excludes: ['config :: MAP?'], + excludes: ['config :: MAP'], }); }); From 6e220d29131264116b6ec3518a76fd17a96ccd8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Wed, 3 Jan 2024 17:22:32 +0100 Subject: [PATCH 09/19] Adds integration tests for signature help and VSCode --- package-lock.json | 691 +++++++++++++++++- packages/vscode-extension/.gitignore | 1 + .../fixtures/.vscode/settings-template.json | 7 + .../fixtures/signature-help-function.cypher | 3 +- packages/vscode-extension/e2e_tests/main.ts | 37 +- .../vscode-extension/e2e_tests/testRunner.ts | 2 +- .../e2e_tests/tests/signature-help.spec.ts | 33 +- packages/vscode-extension/package.json | 4 +- 8 files changed, 753 insertions(+), 25 deletions(-) create mode 100644 packages/vscode-extension/.gitignore create mode 100644 packages/vscode-extension/e2e_tests/fixtures/.vscode/settings-template.json diff --git a/package-lock.json b/package-lock.json index bd3eaf751..2f5897a6b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1890,6 +1890,12 @@ "node": ">=6.9.0" } }, + "node_modules/@balena/dockerignore": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz", + "integrity": "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==", + "dev": true + }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -4677,6 +4683,15 @@ "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@testcontainers/neo4j": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@testcontainers/neo4j/-/neo4j-10.4.0.tgz", + "integrity": "sha512-/9AmFdXP+ZcS2XRv4/Y9USVaMOYORVa1pqnnJMh2ict5dtcXs2AJUp1PhoU1hVOP7kTSFUp0k9rTn7q9w3k7eA==", + "dev": true, + "dependencies": { + "testcontainers": "^10.4.0" + } + }, "node_modules/@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", @@ -4767,6 +4782,26 @@ "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-1.1.10.tgz", "integrity": "sha512-fx/z6fn+xRhyBfD5AIRj4Xj0rdZc/v+89w1rRacQdPh6wNd7XijqC2zalbLjeODxkDMB+Pls07xpcKwWq9nMQw==" }, + "node_modules/@types/docker-modem": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/docker-modem/-/docker-modem-3.0.6.tgz", + "integrity": "sha512-yKpAGEuKRSS8wwx0joknWxsmLha78wNMe9R2S3UNsVOkZded8UqOrV8KoeDXoXsjndxwyF3eIhyClGbO1SEhEg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/ssh2": "*" + } + }, + "node_modules/@types/dockerode": { + "version": "3.3.23", + "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.23.tgz", + "integrity": "sha512-Lz5J+NFgZS4cEVhquwjIGH4oQwlVn2h7LXD3boitujBnzOE5o7s9H8hchEjoDK2SlRsJTogdKnQeiJgPPKLIEw==", + "dev": true, + "dependencies": { + "@types/docker-modem": "*", + "@types/node": "*" + } + }, "node_modules/@types/eslint": { "version": "8.44.6", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", @@ -4919,6 +4954,39 @@ "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", "dev": true }, + "node_modules/@types/ssh2": { + "version": "1.11.18", + "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-1.11.18.tgz", + "integrity": "sha512-7eH4ppQMFlzvn//zhwD54MWaITR1aSc1oFBye9vb76GZ2Y9PSFYdwVIwOlxRXWs5+1hifntXyt+8a6SUbOD7Hg==", + "dev": true, + "dependencies": { + "@types/node": "^18.11.18" + } + }, + "node_modules/@types/ssh2-streams": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@types/ssh2-streams/-/ssh2-streams-0.1.12.tgz", + "integrity": "sha512-Sy8tpEmCce4Tq0oSOYdfqaBpA3hDM8SoxoFh5vzFsu2oL+znzGz8oVWW7xb4K920yYMUY+PIG31qZnFMfPWNCg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ssh2/node_modules/@types/node": { + "version": "18.19.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.4.tgz", + "integrity": "sha512-xNzlUhzoHotIsnFoXmJB+yWmBvFZgKCI9TtPIEdYIMM1KWfwuY8zh7wvc1u1OAXlC7dlf6mZVx/s+Y5KfFz19A==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/ssh2/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, "node_modules/@types/stack-utils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.2.tgz", @@ -5681,6 +5749,59 @@ "node": ">= 8" } }, + "node_modules/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "dev": true, + "dependencies": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "dev": true, + "dependencies": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/archiver/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", @@ -5803,6 +5924,15 @@ "node": ">=0.10.0" } }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, "node_modules/asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", @@ -5843,6 +5973,18 @@ "node": ">=8" } }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, + "node_modules/async-lock": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.4.1.tgz", + "integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==", + "dev": true + }, "node_modules/autoprefixer": { "version": "10.4.16", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", @@ -5911,6 +6053,12 @@ "typed-rest-client": "^1.8.4" } }, + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "dev": true + }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -6201,6 +6349,15 @@ } ] }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, "node_modules/benchmark": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", @@ -6246,7 +6403,6 @@ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, - "optional": true, "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -6272,7 +6428,6 @@ "url": "https://feross.org/support" } ], - "optional": true, "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -6283,7 +6438,6 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "optional": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -6545,12 +6699,31 @@ "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", "peer": true }, + "node_modules/buildcheck": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", + "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", "peer": true }, + "node_modules/byline": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", + "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/c8": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/c8/-/c8-7.14.0.tgz", @@ -6916,8 +7089,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true, - "optional": true + "dev": true }, "node_modules/chroma-js": { "version": "2.4.2", @@ -7157,6 +7329,35 @@ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, + "node_modules/compress-commons": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", + "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", + "dev": true, + "dependencies": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/compress-commons/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/compression-webpack-plugin": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-10.0.0.tgz", @@ -7385,6 +7586,60 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, + "node_modules/cpu-features": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.9.tgz", + "integrity": "sha512-AKjgn2rP2yJyfbepsmLfiYcmtNn/2eUvocUyM/09yB0YDiz39HteK/5/T4Onf0pmdYDMgkBoGvRLvEguzyL7wQ==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "buildcheck": "~0.0.6", + "nan": "^2.17.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", + "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", + "dev": true, + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/crc32-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/create-ecdh": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", @@ -8070,6 +8325,73 @@ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", "dev": true }, + "node_modules/docker-compose": { + "version": "0.24.3", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.24.3.tgz", + "integrity": "sha512-x3/QN3AIOMe7j2c8f/jcycizMft7dl8MluoB9OGPAYCyKHHiPUFqI9GjCcsU0kYy24vYKMCcfR6+5ZaEyQlrxg==", + "dev": true, + "dependencies": { + "yaml": "^2.2.2" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/docker-modem": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.8.tgz", + "integrity": "sha512-f0ReSURdM3pcKPNS30mxOHSbaFLcknGmQjwSfmbcdOw1XWKXVhukM3NJHhr7NpY9BIyyWQb0EBo3KQvvuU5egQ==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "readable-stream": "^3.5.0", + "split-ca": "^1.0.1", + "ssh2": "^1.11.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/docker-modem/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/dockerode": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.5.tgz", + "integrity": "sha512-/0YNa3ZDNeLr/tSckmD69+Gq+qVNhvKfAHNeZJBnp7EOP6RGKV8ORrJHkUn20So5wU+xxT7+1n5u8PjHbfjbSA==", + "dev": true, + "dependencies": { + "@balena/dockerignore": "^1.0.2", + "docker-modem": "^3.0.0", + "tar-fs": "~2.0.1" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/dockerode/node_modules/tar-fs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", + "integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + } + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -8223,7 +8545,6 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, - "optional": true, "dependencies": { "once": "^1.4.0" } @@ -9266,6 +9587,12 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true + }, "node_modules/fast-glob": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", @@ -9511,8 +9838,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true, - "optional": true + "dev": true }, "node_modules/fs-extra": { "version": "7.0.1", @@ -9624,6 +9950,18 @@ "node": ">=8.0.0" } }, + "node_modules/get-port": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -12824,6 +13162,18 @@ "node": ">=6" } }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -13114,6 +13464,30 @@ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", + "dev": true + }, + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==", + "dev": true + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -13132,6 +13506,12 @@ "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", "dev": true }, + "node_modules/lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==", + "dev": true + }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -13624,12 +14004,23 @@ "node": ">= 8.0.0" } }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true, - "optional": true + "dev": true }, "node_modules/mocha": { "version": "10.2.0", @@ -13983,6 +14374,13 @@ "thenify-all": "^1.0.0" } }, + "node_modules/nan": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", + "dev": true, + "optional": true + }, "node_modules/nanoid": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", @@ -14069,6 +14467,26 @@ "dev": true, "optional": true }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -15159,6 +15577,33 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/properties-reader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/properties-reader/-/properties-reader-2.3.0.tgz", + "integrity": "sha512-z597WicA7nDZxK12kZqHr2TcvwNU1GCfA5UwfDY/HDp3hXPoPlb5rlEx9bwGTiJnc0OqbBTkU975jDToth8Gxw==", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/steveukx/properties?sponsor=1" + } + }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -15190,7 +15635,6 @@ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, - "optional": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -15265,6 +15709,12 @@ } ] }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true + }, "node_modules/quick-lru": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", @@ -15506,6 +15956,36 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dev": true, + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -15738,6 +16218,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -16289,12 +16778,56 @@ "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", "dev": true }, + "node_modules/split-ca": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", + "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==", + "dev": true + }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, + "node_modules/ssh-remote-port-forward": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ssh-remote-port-forward/-/ssh-remote-port-forward-1.0.4.tgz", + "integrity": "sha512-x0LV1eVDwjf1gmG7TTnfqIzf+3VPRz7vrNIjX6oYLbeCrf/PeVY6hkT68Mg+q02qXxQhrLjB0jfgvhevoCRmLQ==", + "dev": true, + "dependencies": { + "@types/ssh2": "^0.5.48", + "ssh2": "^1.4.0" + } + }, + "node_modules/ssh-remote-port-forward/node_modules/@types/ssh2": { + "version": "0.5.52", + "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-0.5.52.tgz", + "integrity": "sha512-lbLLlXxdCZOSJMCInKH2+9V/77ET2J6NPQHpFI0kda61Dd1KglJs+fPQBchizmzYSOJBgdTajhPqBO1xxLywvg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/ssh2-streams": "*" + } + }, + "node_modules/ssh2": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.15.0.tgz", + "integrity": "sha512-C0PHgX4h6lBxYx7hcXwu3QWdh4tg6tZZsTfXcdvc5caW/EMxaB4H9dWsl7qk+F7LAW762hp8VbXOX7x4xUYvEw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "asn1": "^0.2.6", + "bcrypt-pbkdf": "^1.0.2" + }, + "engines": { + "node": ">=10.16.0" + }, + "optionalDependencies": { + "cpu-features": "~0.0.9", + "nan": "^2.18.0" + } + }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -16375,6 +16908,16 @@ "mixme": "^0.5.1" } }, + "node_modules/streamx": { + "version": "2.15.6", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz", + "integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==", + "dev": true, + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -16677,7 +17220,6 @@ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, - "optional": true, "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -16694,7 +17236,6 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "optional": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -16844,6 +17385,51 @@ "node": ">=8" } }, + "node_modules/testcontainers": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-10.4.0.tgz", + "integrity": "sha512-kMmJXOAuJeQTRbGSrIEBaAzTzGzmY4+DU5xW5CxgzxgywCoy53ubeiTh3eZ1rzT54YR3zf0nijlb/l7OT4E+/g==", + "dev": true, + "dependencies": { + "@balena/dockerignore": "^1.0.2", + "@types/dockerode": "^3.3.21", + "archiver": "^5.3.2", + "async-lock": "^1.4.0", + "byline": "^5.0.0", + "debug": "^4.3.4", + "docker-compose": "^0.24.2", + "dockerode": "^3.3.5", + "get-port": "^5.1.1", + "node-fetch": "^2.7.0", + "proper-lockfile": "^4.1.2", + "properties-reader": "^2.3.0", + "ssh-remote-port-forward": "^1.0.4", + "tar-fs": "^3.0.4", + "tmp": "^0.2.1" + } + }, + "node_modules/testcontainers/node_modules/tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "dev": true, + "dependencies": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "node_modules/testcontainers/node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dev": true, + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -16929,6 +17515,12 @@ "node": ">=8.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -17331,6 +17923,12 @@ "win32" ] }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -17780,6 +18378,12 @@ "defaults": "^1.0.3" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, "node_modules/webpack": { "version": "5.89.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", @@ -17974,6 +18578,16 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -18357,6 +18971,55 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/zip-stream": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", + "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", + "dev": true, + "dependencies": { + "archiver-utils": "^3.0.4", + "compress-commons": "^4.1.2", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/zip-stream/node_modules/archiver-utils": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", + "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", + "dev": true, + "dependencies": { + "glob": "^7.2.3", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/zip-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "packages/language-server": { "name": "@neo4j-cypher/language-server", "version": "2.0.0-next.3", @@ -19499,12 +20162,14 @@ "vscode-languageclient": "^8.1.0" }, "devDependencies": { + "@testcontainers/neo4j": "^10.4.0", "@types/mocha": "^10.0.1", "@types/node": "^16.11.7", "@types/vscode": "^1.75.0", "@vscode/test-electron": "^2.3.8", "@vscode/vsce": "^2.21.1", "mocha": "^10.2.0", + "testcontainers": "^10.4.0", "typescript": "^4.9.5" }, "engines": { diff --git a/packages/vscode-extension/.gitignore b/packages/vscode-extension/.gitignore new file mode 100644 index 000000000..e57758540 --- /dev/null +++ b/packages/vscode-extension/.gitignore @@ -0,0 +1 @@ +e2e_tests/fixtures/.vscode/settings.json \ No newline at end of file diff --git a/packages/vscode-extension/e2e_tests/fixtures/.vscode/settings-template.json b/packages/vscode-extension/e2e_tests/fixtures/.vscode/settings-template.json new file mode 100644 index 000000000..72d44bc69 --- /dev/null +++ b/packages/vscode-extension/e2e_tests/fixtures/.vscode/settings-template.json @@ -0,0 +1,7 @@ +{ + "neo4j.connect": true, + "neo4j.password": "{PASSWORD}", + "neo4j.URL": "neo4j://localhost:{PORT}", + "neo4j.user": "neo4j", + "neo4j.trace.server": "off" +} diff --git a/packages/vscode-extension/e2e_tests/fixtures/signature-help-function.cypher b/packages/vscode-extension/e2e_tests/fixtures/signature-help-function.cypher index 8d32b34ce..22a2b4325 100644 --- a/packages/vscode-extension/e2e_tests/fixtures/signature-help-function.cypher +++ b/packages/vscode-extension/e2e_tests/fixtures/signature-help-function.cypher @@ -1 +1,2 @@ -RETURN abs( \ No newline at end of file +RETURN abs() +CALL apoc.import.csv(nodes, rels, config) \ No newline at end of file diff --git a/packages/vscode-extension/e2e_tests/main.ts b/packages/vscode-extension/e2e_tests/main.ts index 44a146c5d..6b94d3ba7 100644 --- a/packages/vscode-extension/e2e_tests/main.ts +++ b/packages/vscode-extension/e2e_tests/main.ts @@ -1,7 +1,36 @@ +import { Neo4jContainer } from '@testcontainers/neo4j'; import { runTests } from '@vscode/test-electron'; +import * as fs from 'fs'; import * as path from 'path'; +function setSetting(file: string, variable: RegExp, value: string) { + const data = fs.readFileSync(file).toString(); + const result = data.replace(variable, value); + fs.writeFileSync(file, result); +} + +function updateSettingsFile(port: number, password: string) { + const settingsPath = path.join( + __dirname, + '../../e2e_tests/fixtures/.vscode/', + ); + const settingsTemplate = path.join(settingsPath, 'settings-template.json'); + const settingsFile = path.join(settingsPath, 'settings.json'); + fs.copyFileSync(settingsTemplate, settingsFile); + setSetting(settingsFile, /\{PORT\}/g, port.toString()); + setSetting(settingsFile, /\{PASSWORD\}/g, password); +} + async function main() { + const password = 'password'; + const container = await new Neo4jContainer('neo4j:5') + .withExposedPorts(7474, 7687) + .withPassword(password) + .start(); + + const port = container.getMappedPort(7687); + updateSettingsFile(port, password); + try { /* This is equivalent to running from a command line: @@ -19,11 +48,17 @@ async function main() { const extensionTestsPath = path.resolve(__dirname, './testRunner'); // Bootstraps VS Code and executes the integration tests - await runTests({ extensionDevelopmentPath, extensionTestsPath }); + await runTests({ + launchArgs: [path.join(__dirname, '../../e2e_tests/fixtures/')], + extensionDevelopmentPath, + extensionTestsPath, + }); } catch (err) { console.error('Failed to run integration tests'); process.exit(1); } + + await container.stop(); } void main(); diff --git a/packages/vscode-extension/e2e_tests/testRunner.ts b/packages/vscode-extension/e2e_tests/testRunner.ts index a05f8ce2e..fe7091e30 100644 --- a/packages/vscode-extension/e2e_tests/testRunner.ts +++ b/packages/vscode-extension/e2e_tests/testRunner.ts @@ -9,7 +9,7 @@ export function run(): Promise { ui: 'tdd', color: true, }); - mocha.timeout(100000); + mocha.timeout(10000000); const testsRoot = __dirname; diff --git a/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts b/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts index c7c300a3c..21e80610f 100644 --- a/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts +++ b/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts @@ -20,18 +20,17 @@ export async function testSignatureHelp({ await eventually(async () => { const signatureHelp: vscode.SignatureHelp = await vscode.commands.executeCommand( - 'vscode.provideSignatureHelp', + 'vscode.executeSignatureHelpProvider', docUri, position, ); - assert.equal(signatureHelp.activeParameter, expected.activeParameter); - assert.equal(signatureHelp.activeSignature, expected.activeSignature); + assert.equal(signatureHelp.activeParameter, 0); expected.signatures.forEach((expectedSignature) => { - const foundSignature = signatureHelp.signatures.find( - (signature) => signature.label === expectedSignature.label, - ); + const foundSignature = signatureHelp.signatures.find((signature) => { + return signature.label === expectedSignature.label; + }); assert.equal( foundSignature.documentation, @@ -54,9 +53,27 @@ export async function testSignatureHelp({ suite('Signature help spec', () => { test('Triggers signature help for first argument of functions', async () => { - const position = new vscode.Position(2, 28); + const position = new vscode.Position(0, 12); - const expected: vscode.SignatureHelp = undefined; + const expected: vscode.SignatureHelp = { + activeParameter: 0, + // We don't test the active signature, otherwise we would have to modify + // these tests every time a new function is added to the database + activeSignature: undefined, + signatures: [ + { + label: 'abs', + documentation: + 'Returns the absolute value of an `INTEGER` or `FLOAT`.', + parameters: [ + { + label: 'input', + documentation: 'input :: INTEGER | FLOAT', + }, + ], + }, + ], + }; await testSignatureHelp({ textFile: 'signature-help-function.cypher', diff --git a/packages/vscode-extension/package.json b/packages/vscode-extension/package.json index 1051ab123..d90f4a861 100644 --- a/packages/vscode-extension/package.json +++ b/packages/vscode-extension/package.json @@ -86,7 +86,7 @@ "bundle-language-server": "cd ../language-server && npm run bundle && cp dist/cypher-language-server.js ../vscode-extension/dist/", "bundle-extension": "esbuild ./src/extension.ts --bundle --external:vscode --format=cjs --platform=node --minify --outfile=dist/extension.js", "build": "tsc -b && npm run bundle-extension && npm run bundle-language-server", - "clean": "rm -rf {dist,.vscode-test}", + "clean": "rm -rf dist", "test:e2e": "npm run build && rm -rf .vscode-test/user-data && node ./dist/e2e_tests/main.js" }, "dependencies": { @@ -94,12 +94,14 @@ "vscode-languageclient": "^8.1.0" }, "devDependencies": { + "@testcontainers/neo4j": "^10.4.0", "@types/mocha": "^10.0.1", "@types/node": "^16.11.7", "@types/vscode": "^1.75.0", "@vscode/test-electron": "^2.3.8", "@vscode/vsce": "^2.21.1", "mocha": "^10.2.0", + "testcontainers": "^10.4.0", "typescript": "^4.9.5" } } From a1e5c6d9078a2b1da46b2815cbbc383be8da8799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Wed, 3 Jan 2024 17:25:05 +0100 Subject: [PATCH 10/19] Cleans up --- packages/vscode-extension/e2e_tests/main.ts | 3 +++ packages/vscode-extension/package.json | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/vscode-extension/e2e_tests/main.ts b/packages/vscode-extension/e2e_tests/main.ts index 6b94d3ba7..257e30f5d 100644 --- a/packages/vscode-extension/e2e_tests/main.ts +++ b/packages/vscode-extension/e2e_tests/main.ts @@ -23,6 +23,9 @@ function updateSettingsFile(port: number, password: string) { async function main() { const password = 'password'; + + // TODO Nacho Give this container a name and see whether we can clean it up + // just in case we leave it open const container = await new Neo4jContainer('neo4j:5') .withExposedPorts(7474, 7687) .withPassword(password) diff --git a/packages/vscode-extension/package.json b/packages/vscode-extension/package.json index d90f4a861..aac50ead3 100644 --- a/packages/vscode-extension/package.json +++ b/packages/vscode-extension/package.json @@ -101,7 +101,6 @@ "@vscode/test-electron": "^2.3.8", "@vscode/vsce": "^2.21.1", "mocha": "^10.2.0", - "testcontainers": "^10.4.0", "typescript": "^4.9.5" } } From a3439672dd02a07577b1ab90f216876e1f4a789d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Thu, 4 Jan 2024 10:28:21 +0100 Subject: [PATCH 11/19] Fixes tests --- package-lock.json | 1 - .../src/e2e_tests/signature-help.spec.tsx | 22 +++++++++++++++++++ .../src/lang-cypher/signature-help.ts | 6 ++--- packages/vscode-extension/e2e_tests/main.ts | 2 ++ 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2f5897a6b..75c84fd50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20169,7 +20169,6 @@ "@vscode/test-electron": "^2.3.8", "@vscode/vsce": "^2.21.1", "mocha": "^10.2.0", - "testcontainers": "^10.4.0", "typescript": "^4.9.5" }, "engines": { diff --git a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx index 35a635b78..69260905d 100644 --- a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx +++ b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx @@ -258,3 +258,25 @@ test('Signature help does not show any help when method finished', async ({ timeout: 2000, }); }); + +test('Signature help does not blow up on empty query', async ({ + page, + mount, +}) => { + const query = ''; + + await mount( + , + ); + + await expect( + page.locator('.cm-tooltip-signature-help').last(), + ).not.toBeVisible({ + timeout: 2000, + }); +}); diff --git a/packages/react-codemirror/src/lang-cypher/signature-help.ts b/packages/react-codemirror/src/lang-cypher/signature-help.ts index 3e665f7a7..597196eb9 100644 --- a/packages/react-codemirror/src/lang-cypher/signature-help.ts +++ b/packages/react-codemirror/src/lang-cypher/signature-help.ts @@ -32,11 +32,11 @@ function getSignatureHelpTooltip( ): Tooltip[] { let result: Tooltip[] = []; const schema = config.schema; + const tokens = parserWrapper.parsingResult.tokens; + const lastToken = tokens.filter((token) => token.channel == 0).at(-2); - if (schema && config.signatureHelp) { + if (schema && config.signatureHelp && lastToken) { const pos = state.selection.main.head; - const tokens = parserWrapper.parsingResult.tokens; - const lastToken = tokens.filter((token) => token.channel == 0).at(-2); const tree = parserWrapper.parsingResult; const isOpenBracket = lastToken.text === '('; const isSeparator = lastToken.text === ','; diff --git a/packages/vscode-extension/e2e_tests/main.ts b/packages/vscode-extension/e2e_tests/main.ts index 257e30f5d..de843c29c 100644 --- a/packages/vscode-extension/e2e_tests/main.ts +++ b/packages/vscode-extension/e2e_tests/main.ts @@ -32,6 +32,8 @@ async function main() { .start(); const port = container.getMappedPort(7687); + // This sets up a settings.json file based on the settings-template.json + // replacing the random port and password we have given the container updateSettingsFile(port, password); try { From f47df26e741c606ba6ee3a1e8d5a2a0102391cf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Thu, 4 Jan 2024 16:02:11 +0100 Subject: [PATCH 12/19] Tries to avoid duplication of some test data --- packages/language-support/src/index.ts | 1 + .../src/tests/testData.ts} | 9 +- .../react-codemirror-playground/src/App.tsx | 7 +- .../src/mock-schema.ts | 8921 ----------------- .../src/e2e_tests/performance-test.spec.tsx | 31 +- .../src/e2e_tests/signature-help.spec.tsx | 28 +- .../e2e_tests/tests/signature-help.spec.ts | 15 +- 7 files changed, 50 insertions(+), 8962 deletions(-) rename packages/{react-codemirror/src/e2e_tests/mock-data.ts => language-support/src/tests/testData.ts} (99%) delete mode 100644 packages/react-codemirror-playground/src/mock-schema.ts diff --git a/packages/language-support/src/index.ts b/packages/language-support/src/index.ts index f88e9a05e..cbeeef46c 100644 --- a/packages/language-support/src/index.ts +++ b/packages/language-support/src/index.ts @@ -17,6 +17,7 @@ export { validateSyntax } from './highlighting/syntaxValidation/syntaxValidation export { CypherTokenType, lexerSymbols } from './lexerSymbols'; export { parse, parserWrapper } from './parserWrapper'; export { signatureHelp } from './signatureHelp'; +export { testData } from './tests/testData'; export { CypherLexer }; export { CypherParser }; diff --git a/packages/react-codemirror/src/e2e_tests/mock-data.ts b/packages/language-support/src/tests/testData.ts similarity index 99% rename from packages/react-codemirror/src/e2e_tests/mock-data.ts rename to packages/language-support/src/tests/testData.ts index ba42f3df3..2ebf6fc69 100644 --- a/packages/react-codemirror/src/e2e_tests/mock-data.ts +++ b/packages/language-support/src/tests/testData.ts @@ -1,4 +1,4 @@ -export const mockSchema = { +const mockSchema = { functionSignatures: { abs: { label: 'abs', @@ -8920,7 +8920,7 @@ export const mockSchema = { aliasNames: ['alias2', 'testalias'], }; -export const largeQuery = ` +const largeQuery = ` CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'}) CREATE (Keanu:Person {name:'Keanu Reeves', born:1964}) CREATE (Carrie:Person {name:'Carrie-Anne Moss', born:1967}) @@ -9429,3 +9429,8 @@ CREATE WITH TomH as a MATCH (a)-[:ACTED_IN]->(m)<-[:DIRECTED]-(d) RETURN a,m,d LIMIT 10;`; + +export const testData = { + mockSchema, + largeQuery, +}; diff --git a/packages/react-codemirror-playground/src/App.tsx b/packages/react-codemirror-playground/src/App.tsx index 26694e9a4..7b28e304d 100644 --- a/packages/react-codemirror-playground/src/App.tsx +++ b/packages/react-codemirror-playground/src/App.tsx @@ -1,8 +1,7 @@ -import { DbSchema } from '@neo4j-cypher/language-support'; +import { DbSchema, testData } from '@neo4j-cypher/language-support'; import { CypherEditor } from '@neo4j-cypher/react-codemirror'; import { useMemo, useState } from 'react'; import { Tree } from 'react-d3-tree'; -import { dummyDbSchema } from './mock-schema.js'; import { TokenTable } from './TokenTable'; import { getDebugTree } from './tree-util'; @@ -41,9 +40,9 @@ export function App() { const [commandRanCount, setCommandRanCount] = useState(0); const [darkMode, setDarkMode] = useState(false); - const [schema, setSchema] = useState(dummyDbSchema); + const [schema, setSchema] = useState(testData.mockSchema); const [schemaText, setSchemaText] = useState( - JSON.stringify(dummyDbSchema, undefined, 2), + JSON.stringify(testData.mockSchema, undefined, 2), ); const [schemaError, setSchemaError] = useState(null); diff --git a/packages/react-codemirror-playground/src/mock-schema.ts b/packages/react-codemirror-playground/src/mock-schema.ts deleted file mode 100644 index 5f7a2e200..000000000 --- a/packages/react-codemirror-playground/src/mock-schema.ts +++ /dev/null @@ -1,8921 +0,0 @@ -export const dummyDbSchema = { - functionSignatures: { - abs: { - label: 'abs', - documentation: 'Returns the absolute value of an `INTEGER` or `FLOAT`.', - parameters: [ - { - label: 'input', - documentation: 'input :: INTEGER | FLOAT', - }, - ], - }, - acos: { - label: 'acos', - documentation: 'Returns the arccosine of a `FLOAT` in radians.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - all: { - label: 'all', - documentation: - 'Returns true if the predicate holds for all elements in the given `LIST`.', - parameters: [ - { - label: 'variable', - documentation: 'variable :: ANY', - }, - { - label: 'list', - documentation: 'list :: LIST', - }, - ], - }, - any: { - label: 'any', - documentation: - 'Returns true if the predicate holds for at least one element in the given `LIST`.', - parameters: [ - { - label: 'variable', - documentation: 'variable :: ANY', - }, - { - label: 'list', - documentation: 'list :: LIST', - }, - ], - }, - 'apoc.agg.first': { - label: 'apoc.agg.first', - documentation: 'Returns the first value from the given collection.', - parameters: [ - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.agg.graph': { - label: 'apoc.agg.graph', - documentation: - 'Returns all distinct `NODE` and `RELATIONSHIP` values collected into a `MAP` with the keys `nodes` and `relationships`.', - parameters: [ - { - label: 'path', - documentation: 'path :: ANY', - }, - ], - }, - 'apoc.agg.last': { - label: 'apoc.agg.last', - documentation: 'Returns the last value from the given collection.', - parameters: [ - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.agg.maxItems': { - label: 'apoc.agg.maxItems', - documentation: - 'Returns a `MAP` `{items: LIST, value: ANY}` where the `value` key is the maximum value present, and `items` represent all items with the same value. The size of the list of items can be limited to a given max size.', - parameters: [ - { - label: 'items', - documentation: 'items :: ANY', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - { - label: 'groupLimit', - documentation: 'groupLimit = -1 :: INTEGER', - }, - ], - }, - 'apoc.agg.median': { - label: 'apoc.agg.median', - documentation: - 'Returns the mathematical median for all non-null `INTEGER` and `FLOAT` values.', - parameters: [ - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.agg.minItems': { - label: 'apoc.agg.minItems', - documentation: - 'Returns a `MAP` `{items: LIST, value: ANY}` where the `value` key is the minimum value present, and `items` represent all items with the same value. The size of the list of items can be limited to a given max size.', - parameters: [ - { - label: 'items', - documentation: 'items :: ANY', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - { - label: 'groupLimit', - documentation: 'groupLimit = -1 :: INTEGER', - }, - ], - }, - 'apoc.agg.nth': { - label: 'apoc.agg.nth', - documentation: - 'Returns the nth value in the given collection (to fetch the last item of an unknown length collection, -1 can be used).', - parameters: [ - { - label: 'value', - documentation: 'value :: ANY', - }, - { - label: 'offset', - documentation: 'offset :: INTEGER', - }, - ], - }, - 'apoc.agg.percentiles': { - label: 'apoc.agg.percentiles', - documentation: - 'Returns the given percentiles over the range of numerical values in the given collection.', - parameters: [ - { - label: 'value', - documentation: 'value :: INTEGER | FLOAT', - }, - { - label: 'percentiles', - documentation: - 'percentiles = [0.5, 0.75, 0.9, 0.95, 0.99] :: LIST', - }, - ], - }, - 'apoc.agg.product': { - label: 'apoc.agg.product', - documentation: - 'Returns the product of all non-null `INTEGER` and `FLOAT` values in the collection.', - parameters: [ - { - label: 'value', - documentation: 'value :: INTEGER | FLOAT', - }, - ], - }, - 'apoc.agg.slice': { - label: 'apoc.agg.slice', - documentation: - 'Returns a subset of non-null values from the given collection (the collection is considered to be zero-indexed).\nTo specify the range from start until the end of the collection, the length should be set to -1.', - parameters: [ - { - label: 'value', - documentation: 'value :: ANY', - }, - { - label: 'from', - documentation: 'from = 0 :: INTEGER', - }, - { - label: 'to', - documentation: 'to = -1 :: INTEGER', - }, - ], - }, - 'apoc.agg.statistics': { - label: 'apoc.agg.statistics', - documentation: - 'Returns the following statistics on the `INTEGER` and `FLOAT` values in the given collection: percentiles, min, minNonZero, max, total, mean, stdev.', - parameters: [ - { - label: 'value', - documentation: 'value :: INTEGER | FLOAT', - }, - { - label: 'percentiles', - documentation: - 'percentiles = [0.5, 0.75, 0.9, 0.95, 0.99] :: LIST', - }, - ], - }, - 'apoc.any.isDeleted': { - label: 'apoc.any.isDeleted', - documentation: - 'Returns true if the given `NODE` or `RELATIONSHIP` no longer exists.', - parameters: [ - { - label: 'object', - documentation: 'object :: ANY', - }, - ], - }, - 'apoc.any.properties': { - label: 'apoc.any.properties', - documentation: - 'Returns all properties of the given object.\nThe object can be a virtual `NODE`, a real `NODE`, a virtual `RELATIONSHIP`, a real `RELATIONSHIP`, or a `MAP`.', - parameters: [ - { - label: 'object', - documentation: 'object :: ANY', - }, - { - label: 'keys', - documentation: 'keys = null :: LIST', - }, - ], - }, - 'apoc.any.property': { - label: 'apoc.any.property', - documentation: - 'Returns the property for the given key from an object.\nThe object can be a virtual `NODE`, a real `NODE`, a virtual `RELATIONSHIP`, a real `RELATIONSHIP`, or a `MAP`.', - parameters: [ - { - label: 'object', - documentation: 'object :: ANY', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - ], - }, - 'apoc.bitwise.op': { - label: 'apoc.bitwise.op', - documentation: 'Returns the result of the bitwise operation', - parameters: [ - { - label: 'a', - documentation: 'a :: INTEGER', - }, - { - label: 'operator', - documentation: 'operator :: STRING', - }, - { - label: 'b', - documentation: 'b :: INTEGER', - }, - ], - }, - 'apoc.coll.avg': { - label: 'apoc.coll.avg', - documentation: - 'Returns the average of the numbers in the `LIST`.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - ], - }, - 'apoc.coll.combinations': { - label: 'apoc.coll.combinations', - documentation: - 'Returns a collection of all combinations of `LIST` elements between the selection size `minSelect` and `maxSelect` (default: `minSelect`).', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'minSelect', - documentation: 'minSelect :: INTEGER', - }, - { - label: 'maxSelect', - documentation: 'maxSelect = -1 :: INTEGER', - }, - ], - }, - 'apoc.coll.contains': { - label: 'apoc.coll.contains', - documentation: - 'Returns whether or not the given value exists in the given collection (using a HashSet).', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.coll.containsAll': { - label: 'apoc.coll.containsAll', - documentation: - 'Returns whether or not all of the given values exist in the given collection (using a HashSet).', - parameters: [ - { - label: 'coll1', - documentation: 'coll1 :: LIST', - }, - { - label: 'coll2', - documentation: 'coll2 :: LIST', - }, - ], - }, - 'apoc.coll.containsAllSorted': { - label: 'apoc.coll.containsAllSorted', - documentation: - 'Returns whether or not all of the given values in the second `LIST` exist in an already sorted collection (using a binary search).', - parameters: [ - { - label: 'coll1', - documentation: 'coll1 :: LIST', - }, - { - label: 'coll2', - documentation: 'coll2 :: LIST', - }, - ], - }, - 'apoc.coll.containsDuplicates': { - label: 'apoc.coll.containsDuplicates', - documentation: - 'Returns true if a collection contains duplicate elements.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - ], - }, - 'apoc.coll.containsSorted': { - label: 'apoc.coll.containsSorted', - documentation: - 'Returns whether or not the given value exists in an already sorted collection (using a binary search).', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.coll.different': { - label: 'apoc.coll.different', - documentation: - 'Returns true if all the values in the given `LIST` are unique.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - ], - }, - 'apoc.coll.disjunction': { - label: 'apoc.coll.disjunction', - documentation: 'Returns the disjunct set from two `LIST` values.', - parameters: [ - { - label: 'list1', - documentation: 'list1 :: LIST', - }, - { - label: 'list2', - documentation: 'list2 :: LIST', - }, - ], - }, - 'apoc.coll.dropDuplicateNeighbors': { - label: 'apoc.coll.dropDuplicateNeighbors', - documentation: - 'Removes duplicate consecutive objects in the `LIST`.', - parameters: [ - { - label: 'list', - documentation: 'list :: LIST', - }, - ], - }, - 'apoc.coll.duplicates': { - label: 'apoc.coll.duplicates', - documentation: - 'Returns a `LIST` of duplicate items in the collection.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - ], - }, - 'apoc.coll.duplicatesWithCount': { - label: 'apoc.coll.duplicatesWithCount', - documentation: - 'Returns a `LIST` of duplicate items in the collection and their count, keyed by `item` and `count`.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - ], - }, - 'apoc.coll.fill': { - label: 'apoc.coll.fill', - documentation: 'Returns a `LIST` with the given count of items.', - parameters: [ - { - label: 'items', - documentation: 'items :: STRING', - }, - { - label: 'count', - documentation: 'count :: INTEGER', - }, - ], - }, - 'apoc.coll.flatten': { - label: 'apoc.coll.flatten', - documentation: - 'Flattens the given `LIST` (to flatten nested `LIST` values, set recursive to true).', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'recursive', - documentation: 'recursive = false :: BOOLEAN', - }, - ], - }, - 'apoc.coll.frequencies': { - label: 'apoc.coll.frequencies', - documentation: - 'Returns a `LIST` of frequencies of the items in the collection, keyed by `item` and `count`.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - ], - }, - 'apoc.coll.frequenciesAsMap': { - label: 'apoc.coll.frequenciesAsMap', - documentation: - 'Returns a `MAP` of frequencies of the items in the collection, keyed by `item` and `count`.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - ], - }, - 'apoc.coll.indexOf': { - label: 'apoc.coll.indexOf', - documentation: - 'Returns the index for the first occurrence of the specified value in the `LIST`.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.coll.insert': { - label: 'apoc.coll.insert', - documentation: - 'Inserts a value into the specified index in the `LIST`.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'index', - documentation: 'index :: INTEGER', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.coll.insertAll': { - label: 'apoc.coll.insertAll', - documentation: - 'Inserts all of the values into the `LIST`, starting at the specified index.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'index', - documentation: 'index :: INTEGER', - }, - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.coll.intersection': { - label: 'apoc.coll.intersection', - documentation: - 'Returns the distinct intersection of two `LIST` values.', - parameters: [ - { - label: 'list1', - documentation: 'list1 :: LIST', - }, - { - label: 'list2', - documentation: 'list2 :: LIST', - }, - ], - }, - 'apoc.coll.isEqualCollection': { - label: 'apoc.coll.isEqualCollection', - documentation: - 'Returns true if the two collections contain the same elements with the same cardinality in any order (using a HashMap).', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.coll.max': { - label: 'apoc.coll.max', - documentation: - 'Returns the maximum of all values in the given `LIST`.', - parameters: [ - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.coll.min': { - label: 'apoc.coll.min', - documentation: - 'Returns the minimum of all values in the given `LIST`.', - parameters: [ - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.coll.occurrences': { - label: 'apoc.coll.occurrences', - documentation: 'Returns the count of the given item in the collection.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'item', - documentation: 'item :: ANY', - }, - ], - }, - 'apoc.coll.pairWithOffset': { - label: 'apoc.coll.pairWithOffset', - documentation: 'Returns a `LIST` of pairs defined by the offset.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'offset', - documentation: 'offset :: INTEGER', - }, - ], - }, - 'apoc.coll.pairs': { - label: 'apoc.coll.pairs', - documentation: - 'Returns a `LIST` of adjacent elements in the `LIST` ([1,2],[2,3],[3,null]).', - parameters: [ - { - label: 'list', - documentation: 'list :: LIST', - }, - ], - }, - 'apoc.coll.pairsMin': { - label: 'apoc.coll.pairsMin', - documentation: - 'Returns `LIST` values of adjacent elements in the `LIST` ([1,2],[2,3]), skipping the final element.', - parameters: [ - { - label: 'list', - documentation: 'list :: LIST', - }, - ], - }, - 'apoc.coll.partition': { - label: 'apoc.coll.partition', - documentation: - 'Partitions the original `LIST` into a new `LIST` of the given batch size.\nThe final `LIST` may be smaller than the given batch size.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'batchSize', - documentation: 'batchSize :: INTEGER', - }, - ], - }, - 'apoc.coll.randomItem': { - label: 'apoc.coll.randomItem', - documentation: - 'Returns a random item from the `LIST`, or null on `LIST` or `LIST`.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - ], - }, - 'apoc.coll.randomItems': { - label: 'apoc.coll.randomItems', - documentation: - 'Returns a `LIST` of `itemCount` random items from the original `LIST` (optionally allowing elements in the original `LIST` to be selected more than once).', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'itemCount', - documentation: 'itemCount :: INTEGER', - }, - { - label: 'allowRepick', - documentation: 'allowRepick = false :: BOOLEAN', - }, - ], - }, - 'apoc.coll.remove': { - label: 'apoc.coll.remove', - documentation: - 'Removes a range of values from the `LIST`, beginning at position index for the given length of values.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'index', - documentation: 'index :: INTEGER', - }, - { - label: 'length', - documentation: 'length = 1 :: INTEGER', - }, - ], - }, - 'apoc.coll.removeAll': { - label: 'apoc.coll.removeAll', - documentation: - 'Returns the first `LIST` with all elements also present in the second `LIST` removed.', - parameters: [ - { - label: 'list1', - documentation: 'list1 :: LIST', - }, - { - label: 'list2', - documentation: 'list2 :: LIST', - }, - ], - }, - 'apoc.coll.runningTotal': { - label: 'apoc.coll.runningTotal', - documentation: 'Returns an accumulative `LIST`.', - parameters: [ - { - label: 'list', - documentation: 'list :: LIST', - }, - ], - }, - 'apoc.coll.set': { - label: 'apoc.coll.set', - documentation: 'Sets the element at the given index to the new value.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'index', - documentation: 'index :: INTEGER', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.coll.shuffle': { - label: 'apoc.coll.shuffle', - documentation: 'Returns the `LIST` shuffled.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - ], - }, - 'apoc.coll.sort': { - label: 'apoc.coll.sort', - documentation: 'Sorts the given `LIST` into ascending order.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - ], - }, - 'apoc.coll.sortMaps': { - label: 'apoc.coll.sortMaps', - documentation: - 'Sorts the given `LIST>` into descending order, based on the `MAP` property indicated by `prop`.', - parameters: [ - { - label: 'list', - documentation: 'list :: LIST', - }, - { - label: 'prop', - documentation: 'prop :: STRING', - }, - ], - }, - 'apoc.coll.sortMulti': { - label: 'apoc.coll.sortMulti', - documentation: - 'Sorts the given `LIST>` by the given fields.\nTo indicate that a field should be sorted according to ascending values, prefix it with a caret (^).\nIt is also possible to add limits to the `LIST>` and to skip values.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'orderFields', - documentation: 'orderFields = [] :: LIST', - }, - { - label: 'limit', - documentation: 'limit = -1 :: INTEGER', - }, - { - label: 'skip', - documentation: 'skip = 0 :: INTEGER', - }, - ], - }, - 'apoc.coll.sortNodes': { - label: 'apoc.coll.sortNodes', - documentation: - 'Sorts the given `LIST` by the property of the nodes into descending order.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'prop', - documentation: 'prop :: STRING', - }, - ], - }, - 'apoc.coll.sortText': { - label: 'apoc.coll.sortText', - documentation: 'Sorts the given `LIST` into ascending order.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'conf', - documentation: 'conf = {} :: MAP', - }, - ], - }, - 'apoc.coll.stdev': { - label: 'apoc.coll.stdev', - documentation: - 'Returns sample or population standard deviation with `isBiasCorrected` true or false respectively.', - parameters: [ - { - label: 'list', - documentation: 'list :: LIST', - }, - { - label: 'isBiasCorrected', - documentation: 'isBiasCorrected = true :: BOOLEAN', - }, - ], - }, - 'apoc.coll.subtract': { - label: 'apoc.coll.subtract', - documentation: - 'Returns the first `LIST` as a set with all the elements of the second `LIST` removed.', - parameters: [ - { - label: 'list1', - documentation: 'list1 :: LIST', - }, - { - label: 'list2', - documentation: 'list2 :: LIST', - }, - ], - }, - 'apoc.coll.sum': { - label: 'apoc.coll.sum', - documentation: - 'Returns the sum of all the `INTEGER | FLOAT` in the `LIST`.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - ], - }, - 'apoc.coll.sumLongs': { - label: 'apoc.coll.sumLongs', - documentation: - 'Returns the sum of all the `INTEGER | FLOAT` in the `LIST`.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - ], - }, - 'apoc.coll.toSet': { - label: 'apoc.coll.toSet', - documentation: 'Returns a unique `LIST` from the given `LIST`.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - ], - }, - 'apoc.coll.union': { - label: 'apoc.coll.union', - documentation: - 'Returns the distinct union of the two given `LIST` values.', - parameters: [ - { - label: 'list1', - documentation: 'list1 :: LIST', - }, - { - label: 'list2', - documentation: 'list2 :: LIST', - }, - ], - }, - 'apoc.coll.unionAll': { - label: 'apoc.coll.unionAll', - documentation: - 'Returns the full union of the two given `LIST` values (duplicates included).', - parameters: [ - { - label: 'list1', - documentation: 'list1 :: LIST', - }, - { - label: 'list2', - documentation: 'list2 :: LIST', - }, - ], - }, - 'apoc.coll.zip': { - label: 'apoc.coll.zip', - documentation: - 'Returns the two given `LIST` values zipped together as a `LIST>`.', - parameters: [ - { - label: 'list1', - documentation: 'list1 :: LIST', - }, - { - label: 'list2', - documentation: 'list2 :: LIST', - }, - ], - }, - 'apoc.convert.fromJsonList': { - label: 'apoc.convert.fromJsonList', - documentation: - 'Converts the given JSON list into a Cypher `LIST`.', - parameters: [ - { - label: 'list', - documentation: 'list :: STRING', - }, - { - label: 'path', - documentation: 'path = :: STRING', - }, - { - label: 'pathOptions', - documentation: 'pathOptions = null :: LIST', - }, - ], - }, - 'apoc.convert.fromJsonMap': { - label: 'apoc.convert.fromJsonMap', - documentation: 'Converts the given JSON map into a Cypher `MAP`.', - parameters: [ - { - label: 'map', - documentation: 'map :: STRING', - }, - { - label: 'path', - documentation: 'path = :: STRING', - }, - { - label: 'pathOptions', - documentation: 'pathOptions = null :: LIST', - }, - ], - }, - 'apoc.convert.getJsonProperty': { - label: 'apoc.convert.getJsonProperty', - documentation: - 'Converts a serialized JSON object from the property of the given `NODE` into the equivalent Cypher structure (e.g. `MAP`, `LIST`).', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - { - label: 'path', - documentation: 'path = :: STRING', - }, - { - label: 'pathOptions', - documentation: 'pathOptions = null :: LIST', - }, - ], - }, - 'apoc.convert.getJsonPropertyMap': { - label: 'apoc.convert.getJsonPropertyMap', - documentation: - 'Converts a serialized JSON object from the property of the given `NODE` into a Cypher `MAP`.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - { - label: 'path', - documentation: 'path = :: STRING', - }, - { - label: 'pathOptions', - documentation: 'pathOptions = null :: LIST', - }, - ], - }, - 'apoc.convert.toJson': { - label: 'apoc.convert.toJson', - documentation: 'Serializes the given JSON value.', - parameters: [ - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.convert.toList': { - label: 'apoc.convert.toList', - documentation: 'Converts the given value into a `LIST`.', - parameters: [ - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.convert.toMap': { - label: 'apoc.convert.toMap', - documentation: 'Converts the given value into a `MAP`.', - parameters: [ - { - label: 'map', - documentation: 'map :: ANY', - }, - ], - }, - 'apoc.convert.toNode': { - label: 'apoc.convert.toNode', - documentation: 'Converts the given value into a `NODE`.', - parameters: [ - { - label: 'node', - documentation: 'node :: ANY', - }, - ], - }, - 'apoc.convert.toNodeList': { - label: 'apoc.convert.toNodeList', - documentation: 'Converts the given value into a `LIST`.', - parameters: [ - { - label: 'list', - documentation: 'list :: ANY', - }, - ], - }, - 'apoc.convert.toRelationship': { - label: 'apoc.convert.toRelationship', - documentation: 'Converts the given value into a `RELATIONSHIP`.', - parameters: [ - { - label: 'rel', - documentation: 'rel :: ANY', - }, - ], - }, - 'apoc.convert.toRelationshipList': { - label: 'apoc.convert.toRelationshipList', - documentation: 'Converts the given value into a `LIST`.', - parameters: [ - { - label: 'relList', - documentation: 'relList :: ANY', - }, - ], - }, - 'apoc.convert.toSet': { - label: 'apoc.convert.toSet', - documentation: - 'Converts the given value into a set represented in Cypher as a `LIST`.', - parameters: [ - { - label: 'list', - documentation: 'list :: ANY', - }, - ], - }, - 'apoc.convert.toSortedJsonMap': { - label: 'apoc.convert.toSortedJsonMap', - documentation: - 'Converts a serialized JSON object from the property of a given `NODE` into a Cypher `MAP`.', - parameters: [ - { - label: 'value', - documentation: 'value :: ANY', - }, - { - label: 'ignoreCase', - documentation: 'ignoreCase = true :: BOOLEAN', - }, - ], - }, - 'apoc.create.uuid': { - label: 'apoc.create.uuid', - documentation: 'Returns a UUID.', - parameters: [], - }, - 'apoc.create.uuidBase64': { - label: 'apoc.create.uuidBase64', - documentation: 'Returns a UUID encoded with base64.', - parameters: [], - }, - 'apoc.create.uuidBase64ToHex': { - label: 'apoc.create.uuidBase64ToHex', - documentation: - 'Takes the given base64 encoded UUID and returns it as a hexadecimal `STRING`.', - parameters: [ - { - label: 'base64Uuid', - documentation: 'base64Uuid :: STRING', - }, - ], - }, - 'apoc.create.uuidHexToBase64': { - label: 'apoc.create.uuidHexToBase64', - documentation: - 'Takes the given UUID represented as a hexadecimal `STRING` and returns it encoded with base64.', - parameters: [ - { - label: 'uuid', - documentation: 'uuid :: STRING', - }, - ], - }, - 'apoc.create.vNode': { - label: 'apoc.create.vNode', - documentation: 'Returns a virtual `NODE`.', - parameters: [ - { - label: 'labels', - documentation: 'labels :: LIST', - }, - { - label: 'props', - documentation: 'props = {} :: MAP', - }, - ], - }, - 'apoc.create.vRelationship': { - label: 'apoc.create.vRelationship', - documentation: 'Returns a virtual `RELATIONSHIP`.', - parameters: [ - { - label: 'from', - documentation: 'from :: NODE', - }, - { - label: 'relType', - documentation: 'relType :: STRING', - }, - { - label: 'props', - documentation: 'props :: MAP', - }, - { - label: 'to', - documentation: 'to :: NODE', - }, - ], - }, - 'apoc.create.virtual.fromNode': { - label: 'apoc.create.virtual.fromNode', - documentation: - 'Returns a virtual `NODE` from the given existing `NODE`. The virtual `NODE` only contains the requested properties.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'propertyNames', - documentation: 'propertyNames :: LIST', - }, - ], - }, - 'apoc.cypher.runFirstColumnMany': { - label: 'apoc.cypher.runFirstColumnMany', - documentation: - 'Runs the given statement with the given parameters and returns the first column collected into a `LIST`.', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'params', - documentation: 'params :: MAP', - }, - ], - }, - 'apoc.cypher.runFirstColumnSingle': { - label: 'apoc.cypher.runFirstColumnSingle', - documentation: - 'Runs the given statement with the given parameters and returns the first element of the first column.', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'params', - documentation: 'params :: MAP', - }, - ], - }, - 'apoc.data.url': { - label: 'apoc.data.url', - documentation: 'Turns a URL into a `MAP`.', - parameters: [ - { - label: 'url', - documentation: 'url :: STRING', - }, - ], - }, - 'apoc.date.add': { - label: 'apoc.date.add', - documentation: 'Adds a unit of specified time to the given timestamp.', - parameters: [ - { - label: 'time', - documentation: 'time :: INTEGER', - }, - { - label: 'unit', - documentation: 'unit :: STRING', - }, - { - label: 'addValue', - documentation: 'addValue :: INTEGER', - }, - { - label: 'addUnit', - documentation: 'addUnit :: STRING', - }, - ], - }, - 'apoc.date.convert': { - label: 'apoc.date.convert', - documentation: - 'Converts the given timestamp from one time unit into a timestamp of a different time unit.', - parameters: [ - { - label: 'time', - documentation: 'time :: INTEGER', - }, - { - label: 'unit', - documentation: 'unit :: STRING', - }, - { - label: 'toUnit', - documentation: 'toUnit :: STRING', - }, - ], - }, - 'apoc.date.convertFormat': { - label: 'apoc.date.convertFormat', - documentation: - 'Converts a `STRING` of one type of date format into a `STRING` of another type of date format.', - parameters: [ - { - label: 'temporal', - documentation: 'temporal :: STRING', - }, - { - label: 'currentFormat', - documentation: 'currentFormat :: STRING', - }, - { - label: 'convertTo', - documentation: 'convertTo = yyyy-MM-dd :: STRING', - }, - ], - }, - 'apoc.date.currentTimestamp': { - label: 'apoc.date.currentTimestamp', - documentation: - 'Returns the current Unix epoch timestamp in milliseconds.', - parameters: [], - }, - 'apoc.date.field': { - label: 'apoc.date.field', - documentation: 'Returns the value of one field from the given date time.', - parameters: [ - { - label: 'time', - documentation: 'time :: INTEGER', - }, - { - label: 'unit', - documentation: 'unit = d :: STRING', - }, - { - label: 'timezone', - documentation: 'timezone = UTC :: STRING', - }, - ], - }, - 'apoc.date.fields': { - label: 'apoc.date.fields', - documentation: - 'Splits the given date into fields returning a `MAP` containing the values of each field.', - parameters: [ - { - label: 'date', - documentation: 'date :: STRING', - }, - { - label: 'pattern', - documentation: 'pattern = yyyy-MM-dd HH:mm:ss :: STRING', - }, - ], - }, - 'apoc.date.format': { - label: 'apoc.date.format', - documentation: - 'Returns a `STRING` representation of the time value.\nThe time unit (default: ms), date format (default: ISO), and time zone (default: current time zone) can all be changed.', - parameters: [ - { - label: 'time', - documentation: 'time :: INTEGER', - }, - { - label: 'unit', - documentation: 'unit = ms :: STRING', - }, - { - label: 'format', - documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING', - }, - { - label: 'timezone', - documentation: 'timezone = :: STRING', - }, - ], - }, - 'apoc.date.fromISO8601': { - label: 'apoc.date.fromISO8601', - documentation: - 'Converts the given date `STRING` (ISO8601) to an `INTEGER` representing the time value in milliseconds.', - parameters: [ - { - label: 'time', - documentation: 'time :: STRING', - }, - ], - }, - 'apoc.date.parse': { - label: 'apoc.date.parse', - documentation: - 'Parses the given date `STRING` from a specified format into the specified time unit.', - parameters: [ - { - label: 'time', - documentation: 'time :: STRING', - }, - { - label: 'unit', - documentation: 'unit = ms :: STRING', - }, - { - label: 'format', - documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING', - }, - { - label: 'timezone', - documentation: 'timezone = :: STRING', - }, - ], - }, - 'apoc.date.systemTimezone': { - label: 'apoc.date.systemTimezone', - documentation: - 'Returns the display name of the system time zone (e.g. Europe/London).', - parameters: [], - }, - 'apoc.date.toISO8601': { - label: 'apoc.date.toISO8601', - documentation: - 'Returns a `STRING` representation of a specified time value in the ISO8601 format.', - parameters: [ - { - label: 'time', - documentation: 'time :: INTEGER', - }, - { - label: 'unit', - documentation: 'unit = ms :: STRING', - }, - ], - }, - 'apoc.date.toYears': { - label: 'apoc.date.toYears', - documentation: - 'Converts the given timestamp or the given date into a `FLOAT` representing years.', - parameters: [ - { - label: 'value', - documentation: 'value :: ANY', - }, - { - label: 'format', - documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING', - }, - ], - }, - 'apoc.diff.nodes': { - label: 'apoc.diff.nodes', - documentation: - 'Returns a `MAP` detailing the differences between the two given `NODE` values.', - parameters: [ - { - label: 'leftNode', - documentation: 'leftNode :: NODE', - }, - { - label: 'rightNode', - documentation: 'rightNode :: NODE', - }, - ], - }, - 'apoc.hashing.fingerprint': { - label: 'apoc.hashing.fingerprint', - documentation: - 'Calculates a MD5 checksum over a `NODE` or `RELATIONSHIP` (identical entities share the same checksum).\nUnsuitable for cryptographic use-cases.', - parameters: [ - { - label: 'object', - documentation: 'object :: ANY', - }, - { - label: 'excludedPropertyKeys', - documentation: 'excludedPropertyKeys = [] :: LIST', - }, - ], - }, - 'apoc.hashing.fingerprintGraph': { - label: 'apoc.hashing.fingerprintGraph', - documentation: - 'Calculates a MD5 checksum over the full graph.\nThis function uses in-memory data structures.\nUnsuitable for cryptographic use-cases.', - parameters: [ - { - label: 'propertyExcludes', - documentation: 'propertyExcludes = [] :: LIST', - }, - ], - }, - 'apoc.hashing.fingerprinting': { - label: 'apoc.hashing.fingerprinting', - documentation: - 'Calculates a MD5 checksum over a `NODE` or `RELATIONSHIP` (identical entities share the same checksum).\nUnlike `apoc.hashing.fingerprint()`, this function supports a number of config parameters.\nUnsuitable for cryptographic use-cases.', - parameters: [ - { - label: 'object', - documentation: 'object :: ANY', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.json.path': { - label: 'apoc.json.path', - documentation: 'Returns the given JSON path.', - parameters: [ - { - label: 'json', - documentation: 'json :: STRING', - }, - { - label: 'path', - documentation: 'path = $ :: STRING', - }, - { - label: 'pathOptions', - documentation: 'pathOptions = null :: LIST', - }, - ], - }, - 'apoc.label.exists': { - label: 'apoc.label.exists', - documentation: - 'Returns true or false depending on whether or not the given label exists.', - parameters: [ - { - label: 'node', - documentation: 'node :: ANY', - }, - { - label: 'label', - documentation: 'label :: STRING', - }, - ], - }, - 'apoc.map.clean': { - label: 'apoc.map.clean', - documentation: - 'Filters the keys and values contained in the given `LIST` values.', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'keys', - documentation: 'keys :: LIST', - }, - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.map.flatten': { - label: 'apoc.map.flatten', - documentation: - 'Flattens nested items in the given `MAP`.\nThis function is the reverse of the `apoc.map.unflatten` function.', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'delimiter', - documentation: 'delimiter = . :: STRING', - }, - ], - }, - 'apoc.map.fromLists': { - label: 'apoc.map.fromLists', - documentation: - 'Creates a `MAP` from the keys and values in the given `LIST` values.', - parameters: [ - { - label: 'keys', - documentation: 'keys :: LIST', - }, - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.map.fromNodes': { - label: 'apoc.map.fromNodes', - documentation: - 'Returns a `MAP` of the given prop to the node of the given label.', - parameters: [ - { - label: 'label', - documentation: 'label :: STRING', - }, - { - label: 'prop', - documentation: 'prop :: STRING', - }, - ], - }, - 'apoc.map.fromPairs': { - label: 'apoc.map.fromPairs', - documentation: - 'Creates a `MAP` from the given `LIST>` of key-value pairs.', - parameters: [ - { - label: 'pairs', - documentation: 'pairs :: LIST>', - }, - ], - }, - 'apoc.map.fromValues': { - label: 'apoc.map.fromValues', - documentation: - 'Creates a `MAP` from the alternating keys and values in the given `LIST`.', - parameters: [ - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.map.get': { - label: 'apoc.map.get', - documentation: - 'Returns a value for the given key.\nIf the given key does not exist, or lacks a default value, this function will throw an exception.', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - { - label: 'value', - documentation: 'value = null :: ANY', - }, - { - label: 'fail', - documentation: 'fail = true :: BOOLEAN', - }, - ], - }, - 'apoc.map.groupBy': { - label: 'apoc.map.groupBy', - documentation: - 'Creates a `MAP` of the `LIST` keyed by the given property, with single values.', - parameters: [ - { - label: 'values', - documentation: 'values :: LIST', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - ], - }, - 'apoc.map.groupByMulti': { - label: 'apoc.map.groupByMulti', - documentation: - 'Creates a `MAP` of the `LIST` values keyed by the given property, with the `LIST` values.', - parameters: [ - { - label: 'values', - documentation: 'values :: LIST', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - ], - }, - 'apoc.map.merge': { - label: 'apoc.map.merge', - documentation: 'Merges the two given `MAP` values into one `MAP`.', - parameters: [ - { - label: 'map1', - documentation: 'map1 :: MAP', - }, - { - label: 'map2', - documentation: 'map2 :: MAP', - }, - ], - }, - 'apoc.map.mergeList': { - label: 'apoc.map.mergeList', - documentation: - 'Merges all `MAP` values in the given `LIST>` into one `MAP`.', - parameters: [ - { - label: 'maps', - documentation: 'maps :: LIST', - }, - ], - }, - 'apoc.map.mget': { - label: 'apoc.map.mget', - documentation: - 'Returns a `LIST` for the given keys.\nIf one of the keys does not exist, or lacks a default value, this function will throw an exception.', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'keys', - documentation: 'keys :: LIST', - }, - { - label: 'values', - documentation: 'values = [] :: LIST', - }, - { - label: 'fail', - documentation: 'fail = true :: BOOLEAN', - }, - ], - }, - 'apoc.map.removeKey': { - label: 'apoc.map.removeKey', - documentation: - 'Removes the given key from the `MAP` (recursively if recursive is true).', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.map.removeKeys': { - label: 'apoc.map.removeKeys', - documentation: - 'Removes the given keys from the `MAP` (recursively if recursive is true).', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'keys', - documentation: 'keys :: LIST', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.map.setEntry': { - label: 'apoc.map.setEntry', - documentation: 'Adds or updates the given entry in the `MAP`.', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.map.setKey': { - label: 'apoc.map.setKey', - documentation: 'Adds or updates the given entry in the `MAP`.', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.map.setLists': { - label: 'apoc.map.setLists', - documentation: - 'Adds or updates the given keys/value pairs provided in `LIST` format (e.g. [key1, key2],[value1, value2]) in a `MAP`.', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'keys', - documentation: 'keys :: LIST', - }, - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.map.setPairs': { - label: 'apoc.map.setPairs', - documentation: - 'Adds or updates the given key/value pairs (e.g. [key1,value1],[key2,value2]) in a `MAP`.', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'pairs', - documentation: 'pairs :: LIST>', - }, - ], - }, - 'apoc.map.setValues': { - label: 'apoc.map.setValues', - documentation: - 'Adds or updates the alternating key/value pairs (e.g. [key1,value1,key2,value2]) in a `MAP`.', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'pairs', - documentation: 'pairs :: LIST', - }, - ], - }, - 'apoc.map.sortedProperties': { - label: 'apoc.map.sortedProperties', - documentation: - 'Returns a `LIST` of key/value pairs.\nThe pairs are sorted by alphabetically by key, with optional case sensitivity.', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'ignoreCase', - documentation: 'ignoreCase = true :: BOOLEAN', - }, - ], - }, - 'apoc.map.submap': { - label: 'apoc.map.submap', - documentation: - 'Returns a sub-map for the given keys.\nIf one of the keys does not exist, or lacks a default value, this function will throw an exception.', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'keys', - documentation: 'keys :: LIST', - }, - { - label: 'values', - documentation: 'values = [] :: LIST', - }, - { - label: 'fail', - documentation: 'fail = true :: BOOLEAN', - }, - ], - }, - 'apoc.map.unflatten': { - label: 'apoc.map.unflatten', - documentation: - 'Unflattens items in the given `MAP` to nested items.\nThis function is the reverse of the `apoc.map.flatten` function.', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'delimiter', - documentation: 'delimiter = . :: STRING', - }, - ], - }, - 'apoc.map.updateTree': { - label: 'apoc.map.updateTree', - documentation: - 'Adds the data `MAP` on each level of the nested tree, where the key-value pairs match.', - parameters: [ - { - label: 'tree', - documentation: 'tree :: MAP', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - { - label: 'data', - documentation: 'data :: LIST>', - }, - ], - }, - 'apoc.map.values': { - label: 'apoc.map.values', - documentation: - 'Returns a `LIST` indicated by the given keys (returns a null value if a given key is missing).', - parameters: [ - { - label: 'map', - documentation: 'map :: MAP', - }, - { - label: 'keys', - documentation: 'keys = [] :: LIST', - }, - { - label: 'addNullsForMissing', - documentation: 'addNullsForMissing = false :: BOOLEAN', - }, - ], - }, - 'apoc.math.cosh': { - label: 'apoc.math.cosh', - documentation: 'Returns the hyperbolic cosine.', - parameters: [ - { - label: 'value', - documentation: 'value :: FLOAT', - }, - ], - }, - 'apoc.math.coth': { - label: 'apoc.math.coth', - documentation: 'Returns the hyperbolic cotangent.', - parameters: [ - { - label: 'value', - documentation: 'value :: FLOAT', - }, - ], - }, - 'apoc.math.csch': { - label: 'apoc.math.csch', - documentation: 'Returns the hyperbolic cosecant.', - parameters: [ - { - label: 'value', - documentation: 'value :: FLOAT', - }, - ], - }, - 'apoc.math.maxByte': { - label: 'apoc.math.maxByte', - documentation: 'Returns the maximum value of a byte.', - parameters: [], - }, - 'apoc.math.maxDouble': { - label: 'apoc.math.maxDouble', - documentation: - 'Returns the largest positive finite value of type double.', - parameters: [], - }, - 'apoc.math.maxInt': { - label: 'apoc.math.maxInt', - documentation: 'Returns the maximum value of an integer.', - parameters: [], - }, - 'apoc.math.maxLong': { - label: 'apoc.math.maxLong', - documentation: 'Returns the maximum value of a long.', - parameters: [], - }, - 'apoc.math.minByte': { - label: 'apoc.math.minByte', - documentation: 'Returns the minimum value of a byte.', - parameters: [], - }, - 'apoc.math.minDouble': { - label: 'apoc.math.minDouble', - documentation: - 'Returns the smallest positive non-zero value of type double.', - parameters: [], - }, - 'apoc.math.minInt': { - label: 'apoc.math.minInt', - documentation: 'Returns the minimum value of an integer.', - parameters: [], - }, - 'apoc.math.minLong': { - label: 'apoc.math.minLong', - documentation: 'Returns the minimum value of a long.', - parameters: [], - }, - 'apoc.math.sech': { - label: 'apoc.math.sech', - documentation: 'Returns the hyperbolic secant of the given value.', - parameters: [ - { - label: 'value', - documentation: 'value :: FLOAT', - }, - ], - }, - 'apoc.math.sigmoid': { - label: 'apoc.math.sigmoid', - documentation: 'Returns the sigmoid of the given value.', - parameters: [ - { - label: 'value', - documentation: 'value :: FLOAT', - }, - ], - }, - 'apoc.math.sigmoidPrime': { - label: 'apoc.math.sigmoidPrime', - documentation: - 'Returns the sigmoid prime [ sigmoid(val) * (1 - sigmoid(val)) ] of the given value.', - parameters: [ - { - label: 'value', - documentation: 'value :: FLOAT', - }, - ], - }, - 'apoc.math.sinh': { - label: 'apoc.math.sinh', - documentation: 'Returns the hyperbolic sine of the given value.', - parameters: [ - { - label: 'value', - documentation: 'value :: FLOAT', - }, - ], - }, - 'apoc.math.tanh': { - label: 'apoc.math.tanh', - documentation: 'Returns the hyperbolic tangent of the given value.', - parameters: [ - { - label: 'value', - documentation: 'value :: FLOAT', - }, - ], - }, - 'apoc.meta.cypher.isType': { - label: 'apoc.meta.cypher.isType', - documentation: 'Returns true if the given value matches the given type.', - parameters: [ - { - label: 'value', - documentation: 'value :: ANY', - }, - { - label: 'type', - documentation: 'type :: STRING', - }, - ], - }, - 'apoc.meta.cypher.type': { - label: 'apoc.meta.cypher.type', - documentation: 'Returns the type name of the given value.', - parameters: [ - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.meta.cypher.types': { - label: 'apoc.meta.cypher.types', - documentation: - 'Returns a `MAP` containing the type names of the given values.', - parameters: [ - { - label: 'props', - documentation: 'props :: ANY', - }, - ], - }, - 'apoc.meta.nodes.count': { - label: 'apoc.meta.nodes.count', - documentation: - 'Returns the sum of the `NODE` values with the given labels in the `LIST`.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes = [] :: LIST', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.node.degree': { - label: 'apoc.node.degree', - documentation: 'Returns the total degrees of the given `NODE`.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'relTypes', - documentation: 'relTypes = :: STRING', - }, - ], - }, - 'apoc.node.degree.in': { - label: 'apoc.node.degree.in', - documentation: - 'Returns the total number of incoming `RELATIONSHIP` values connected to the given `NODE`.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'relTypes', - documentation: 'relTypes = :: STRING', - }, - ], - }, - 'apoc.node.degree.out': { - label: 'apoc.node.degree.out', - documentation: - 'Returns the total number of outgoing `RELATIONSHIP` values from the given `NODE`.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'relTypes', - documentation: 'relTypes = :: STRING', - }, - ], - }, - 'apoc.node.id': { - label: 'apoc.node.id', - documentation: 'Returns the id for the given virtual `NODE`.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - ], - }, - 'apoc.node.labels': { - label: 'apoc.node.labels', - documentation: 'Returns the labels for the given virtual `NODE`.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - ], - }, - 'apoc.node.relationship.exists': { - label: 'apoc.node.relationship.exists', - documentation: - 'Returns a `BOOLEAN` based on whether the given `NODE` has a connecting `RELATIONSHIP` (or whether the given `NODE` has a connecting `RELATIONSHIP` of the given type and direction).', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'relTypes', - documentation: 'relTypes = :: STRING', - }, - ], - }, - 'apoc.node.relationship.types': { - label: 'apoc.node.relationship.types', - documentation: - 'Returns a `LIST` of distinct `RELATIONSHIP` types for the given `NODE`.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'relTypes', - documentation: 'relTypes = :: STRING', - }, - ], - }, - 'apoc.node.relationships.exist': { - label: 'apoc.node.relationships.exist', - documentation: - 'Returns a `BOOLEAN` based on whether the given `NODE` has connecting `RELATIONSHIP` values (or whether the given `NODE` has connecting `RELATIONSHIP` values of the given type and direction).', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'relTypes', - documentation: 'relTypes = :: STRING', - }, - ], - }, - 'apoc.nodes.connected': { - label: 'apoc.nodes.connected', - documentation: - 'Returns true when a given `NODE` is directly connected to another given `NODE`.\nThis function is optimized for dense nodes.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: NODE', - }, - { - label: 'endNode', - documentation: 'endNode :: NODE', - }, - { - label: 'types', - documentation: 'types = :: STRING', - }, - ], - }, - 'apoc.nodes.isDense': { - label: 'apoc.nodes.isDense', - documentation: 'Returns true if the given `NODE` is a dense node.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - ], - }, - 'apoc.nodes.relationship.types': { - label: 'apoc.nodes.relationship.types', - documentation: - 'Returns a `LIST` of distinct `RELATIONSHIP` types from the given `LIST` values.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: ANY', - }, - { - label: 'types', - documentation: 'types = :: STRING', - }, - ], - }, - 'apoc.nodes.relationships.exist': { - label: 'apoc.nodes.relationships.exist', - documentation: - 'Returns a `BOOLEAN` based on whether or not the given `NODE` values have the given `RELATIONSHIP` values.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: ANY', - }, - { - label: 'types', - documentation: 'types = :: STRING', - }, - ], - }, - 'apoc.number.arabicToRoman': { - label: 'apoc.number.arabicToRoman', - documentation: 'Converts the given Arabic numbers to Roman numbers.', - parameters: [ - { - label: 'number', - documentation: 'number :: ANY', - }, - ], - }, - 'apoc.number.exact.add': { - label: 'apoc.number.exact.add', - documentation: - 'Returns the result of adding the two given large numbers (using Java BigDecimal).', - parameters: [ - { - label: 'stringA', - documentation: 'stringA :: STRING', - }, - { - label: 'stringB', - documentation: 'stringB :: STRING', - }, - ], - }, - 'apoc.number.exact.div': { - label: 'apoc.number.exact.div', - documentation: - 'Returns the result of dividing a given large number with another given large number (using Java BigDecimal).', - parameters: [ - { - label: 'stringA', - documentation: 'stringA :: STRING', - }, - { - label: 'stringB', - documentation: 'stringB :: STRING', - }, - { - label: 'precision', - documentation: 'precision = 0 :: INTEGER', - }, - { - label: 'roundingMode', - documentation: 'roundingMode = HALF_UP :: STRING', - }, - ], - }, - 'apoc.number.exact.mul': { - label: 'apoc.number.exact.mul', - documentation: - 'Returns the result of multiplying two given large numbers (using Java BigDecimal).', - parameters: [ - { - label: 'stringA', - documentation: 'stringA :: STRING', - }, - { - label: 'stringB', - documentation: 'stringB :: STRING', - }, - { - label: 'precision', - documentation: 'precision = 0 :: INTEGER', - }, - { - label: 'roundingMode', - documentation: 'roundingMode = HALF_UP :: STRING', - }, - ], - }, - 'apoc.number.exact.sub': { - label: 'apoc.number.exact.sub', - documentation: - 'Returns the result of subtracting a given large number from another given large number (using Java BigDecimal).', - parameters: [ - { - label: 'stringA', - documentation: 'stringA :: STRING', - }, - { - label: 'stringB', - documentation: 'stringB :: STRING', - }, - ], - }, - 'apoc.number.exact.toExact': { - label: 'apoc.number.exact.toExact', - documentation: - 'Returns the exact value of the given number (using Java BigDecimal).', - parameters: [ - { - label: 'number', - documentation: 'number :: INTEGER', - }, - ], - }, - 'apoc.number.exact.toFloat': { - label: 'apoc.number.exact.toFloat', - documentation: - 'Returns the `FLOAT` of the given large number (using Java BigDecimal).', - parameters: [ - { - label: 'string', - documentation: 'string :: STRING', - }, - { - label: 'precision', - documentation: 'precision = 0 :: INTEGER', - }, - { - label: 'roundingMode', - documentation: 'roundingMode = HALF_UP :: STRING', - }, - ], - }, - 'apoc.number.exact.toInteger': { - label: 'apoc.number.exact.toInteger', - documentation: - 'Returns the `INTEGER` of the given large number (using Java BigDecimal).', - parameters: [ - { - label: 'string', - documentation: 'string :: STRING', - }, - { - label: 'precision', - documentation: 'precision = 0 :: INTEGER', - }, - { - label: 'roundingMode', - documentation: 'roundingMode = HALF_UP :: STRING', - }, - ], - }, - 'apoc.number.format': { - label: 'apoc.number.format', - documentation: - 'Formats the given `INTEGER` or `FLOAT` using the given pattern and language to produce a `STRING`.', - parameters: [ - { - label: 'number', - documentation: 'number :: ANY', - }, - { - label: 'pattern', - documentation: 'pattern = :: STRING', - }, - { - label: 'language', - documentation: 'language = :: STRING', - }, - ], - }, - 'apoc.number.parseFloat': { - label: 'apoc.number.parseFloat', - documentation: - 'Parses the given `STRING` using the given pattern and language to produce a `FLOAT`.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'pattern', - documentation: 'pattern = :: STRING', - }, - { - label: 'language', - documentation: 'language = :: STRING', - }, - ], - }, - 'apoc.number.parseInt': { - label: 'apoc.number.parseInt', - documentation: - 'Parses the given `STRING` using the given pattern and language to produce a `INTEGER`.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'pattern', - documentation: 'pattern = :: STRING', - }, - { - label: 'language', - documentation: 'language = :: STRING', - }, - ], - }, - 'apoc.number.romanToArabic': { - label: 'apoc.number.romanToArabic', - documentation: 'Converts the given Roman numbers to Arabic numbers.', - parameters: [ - { - label: 'romanNumber', - documentation: 'romanNumber :: STRING', - }, - ], - }, - 'apoc.path.combine': { - label: 'apoc.path.combine', - documentation: 'Combines the two given `PATH` values into one `PATH`.', - parameters: [ - { - label: 'path1', - documentation: 'path1 :: PATH', - }, - { - label: 'path2', - documentation: 'path2 :: PATH', - }, - ], - }, - 'apoc.path.create': { - label: 'apoc.path.create', - documentation: - 'Returns a `PATH` from the given start `NODE` and `LIST`.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: NODE', - }, - { - label: 'rels', - documentation: 'rels = [] :: LIST', - }, - ], - }, - 'apoc.path.elements': { - label: 'apoc.path.elements', - documentation: - 'Converts the given `PATH` into a `LIST`.', - parameters: [ - { - label: 'path', - documentation: 'path :: PATH', - }, - ], - }, - 'apoc.path.slice': { - label: 'apoc.path.slice', - documentation: - 'Returns a new `PATH` of the given length, taken from the given `PATH` at the given offset.', - parameters: [ - { - label: 'path', - documentation: 'path :: PATH', - }, - { - label: 'offset', - documentation: 'offset = 0 :: INTEGER', - }, - { - label: 'length', - documentation: 'length = -1 :: INTEGER', - }, - ], - }, - 'apoc.rel.endNode': { - label: 'apoc.rel.endNode', - documentation: - 'Returns the end `NODE` for the given virtual `RELATIONSHIP`.', - parameters: [ - { - label: 'rel', - documentation: 'rel :: RELATIONSHIP', - }, - ], - }, - 'apoc.rel.id': { - label: 'apoc.rel.id', - documentation: 'Returns the id for the given virtual `RELATIONSHIP`.', - parameters: [ - { - label: 'rel', - documentation: 'rel :: RELATIONSHIP', - }, - ], - }, - 'apoc.rel.startNode': { - label: 'apoc.rel.startNode', - documentation: - 'Returns the start `NODE` for the given virtual `RELATIONSHIP`.', - parameters: [ - { - label: 'rel', - documentation: 'rel :: RELATIONSHIP', - }, - ], - }, - 'apoc.rel.type': { - label: 'apoc.rel.type', - documentation: 'Returns the type for the given virtual `RELATIONSHIP`.', - parameters: [ - { - label: 'rel', - documentation: 'rel :: RELATIONSHIP', - }, - ], - }, - 'apoc.schema.node.constraintExists': { - label: 'apoc.schema.node.constraintExists', - documentation: - 'Returns a `BOOLEAN` depending on whether or not a constraint exists for the given `NODE` label with the given property names.', - parameters: [ - { - label: 'labelName', - documentation: 'labelName :: STRING', - }, - { - label: 'propertyName', - documentation: 'propertyName :: LIST', - }, - ], - }, - 'apoc.schema.node.indexExists': { - label: 'apoc.schema.node.indexExists', - documentation: - 'Returns a `BOOLEAN` depending on whether or not an index exists for the given `NODE` label with the given property names.', - parameters: [ - { - label: 'labelName', - documentation: 'labelName :: STRING', - }, - { - label: 'propertyName', - documentation: 'propertyName :: LIST', - }, - ], - }, - 'apoc.schema.relationship.constraintExists': { - label: 'apoc.schema.relationship.constraintExists', - documentation: - 'Returns a `BOOLEAN` depending on whether or not a constraint exists for the given `RELATIONSHIP` type with the given property names.', - parameters: [ - { - label: 'type', - documentation: 'type :: STRING', - }, - { - label: 'propertyName', - documentation: 'propertyName :: LIST', - }, - ], - }, - 'apoc.schema.relationship.indexExists': { - label: 'apoc.schema.relationship.indexExists', - documentation: - 'Returns a `BOOLEAN` depending on whether or not an index exists for the given `RELATIONSHIP` type with the given property names.', - parameters: [ - { - label: 'type', - documentation: 'type :: STRING', - }, - { - label: 'propertyName', - documentation: 'propertyName :: LIST', - }, - ], - }, - 'apoc.scoring.existence': { - label: 'apoc.scoring.existence', - documentation: 'Returns the given score if true, 0 if false.', - parameters: [ - { - label: 'score', - documentation: 'score :: INTEGER', - }, - { - label: 'exists', - documentation: 'exists :: BOOLEAN', - }, - ], - }, - 'apoc.scoring.pareto': { - label: 'apoc.scoring.pareto', - documentation: - 'Applies a Pareto scoring function over the given `INTEGER` values.', - parameters: [ - { - label: 'minimumThreshold', - documentation: 'minimumThreshold :: INTEGER', - }, - { - label: 'eightyPercentValue', - documentation: 'eightyPercentValue :: INTEGER', - }, - { - label: 'maximumValue', - documentation: 'maximumValue :: INTEGER', - }, - { - label: 'score', - documentation: 'score :: INTEGER', - }, - ], - }, - 'apoc.temporal.format': { - label: 'apoc.temporal.format', - documentation: - 'Formats the given temporal value into the given time format.', - parameters: [ - { - label: 'temporal', - documentation: 'temporal :: ANY', - }, - { - label: 'format', - documentation: 'format = yyyy-MM-dd :: STRING', - }, - ], - }, - 'apoc.temporal.formatDuration': { - label: 'apoc.temporal.formatDuration', - documentation: 'Formats the given duration into the given time format.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - { - label: 'format', - documentation: 'format :: STRING', - }, - ], - }, - 'apoc.temporal.toZonedTemporal': { - label: 'apoc.temporal.toZonedTemporal', - documentation: - 'Parses the given date `STRING` using the specified format into the given time zone.', - parameters: [ - { - label: 'time', - documentation: 'time :: STRING', - }, - { - label: 'format', - documentation: 'format = yyyy-MM-dd HH:mm:ss :: STRING', - }, - { - label: 'timezone', - documentation: 'timezone = UTC :: STRING', - }, - ], - }, - 'apoc.text.base64Decode': { - label: 'apoc.text.base64Decode', - documentation: 'Decodes the given Base64 encoded `STRING`.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.base64Encode': { - label: 'apoc.text.base64Encode', - documentation: 'Encodes the given `STRING` with Base64.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.base64UrlDecode': { - label: 'apoc.text.base64UrlDecode', - documentation: 'Decodes the given Base64 encoded URL.', - parameters: [ - { - label: 'url', - documentation: 'url :: STRING', - }, - ], - }, - 'apoc.text.base64UrlEncode': { - label: 'apoc.text.base64UrlEncode', - documentation: 'Encodes the given URL with Base64.', - parameters: [ - { - label: 'url', - documentation: 'url :: STRING', - }, - ], - }, - 'apoc.text.byteCount': { - label: 'apoc.text.byteCount', - documentation: 'Returns the size of the given `STRING` in bytes.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'charset', - documentation: 'charset = UTF-8 :: STRING', - }, - ], - }, - 'apoc.text.bytes': { - label: 'apoc.text.bytes', - documentation: 'Returns the given `STRING` as bytes.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'charset', - documentation: 'charset = UTF-8 :: STRING', - }, - ], - }, - 'apoc.text.camelCase': { - label: 'apoc.text.camelCase', - documentation: 'Converts the given `STRING` to camel case.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.capitalize': { - label: 'apoc.text.capitalize', - documentation: 'Capitalizes the first letter of the given `STRING`.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.capitalizeAll': { - label: 'apoc.text.capitalizeAll', - documentation: - 'Capitalizes the first letter of every word in the given `STRING`.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.charAt': { - label: 'apoc.text.charAt', - documentation: - 'Returns the `INTEGER` value of the character at the given index.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'index', - documentation: 'index :: INTEGER', - }, - ], - }, - 'apoc.text.clean': { - label: 'apoc.text.clean', - documentation: - 'Strips the given `STRING` of everything except alpha numeric characters and converts it to lower case.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.code': { - label: 'apoc.text.code', - documentation: 'Converts the `INTEGER` value into a `STRING`.', - parameters: [ - { - label: 'codepoint', - documentation: 'codepoint :: INTEGER', - }, - ], - }, - 'apoc.text.compareCleaned': { - label: 'apoc.text.compareCleaned', - documentation: - 'Compares two given `STRING` values stripped of everything except alpha numeric characters converted to lower case.', - parameters: [ - { - label: 'text1', - documentation: 'text1 :: STRING', - }, - { - label: 'text2', - documentation: 'text2 :: STRING', - }, - ], - }, - 'apoc.text.decapitalize': { - label: 'apoc.text.decapitalize', - documentation: - 'Turns the first letter of the given `STRING` from upper case to lower case.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.decapitalizeAll': { - label: 'apoc.text.decapitalizeAll', - documentation: - 'Turns the first letter of every word in the given `STRING` to lower case.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.distance': { - label: 'apoc.text.distance', - documentation: - 'Compares the two given `STRING` values using the Levenshtein distance algorithm.', - parameters: [ - { - label: 'text1', - documentation: 'text1 :: STRING', - }, - { - label: 'text2', - documentation: 'text2 :: STRING', - }, - ], - }, - 'apoc.text.doubleMetaphone': { - label: 'apoc.text.doubleMetaphone', - documentation: - 'Returns the double metaphone phonetic encoding of all words in the given `STRING` value.', - parameters: [ - { - label: 'value', - documentation: 'value :: STRING', - }, - ], - }, - 'apoc.text.format': { - label: 'apoc.text.format', - documentation: 'Formats the given `STRING` with the given parameters.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'params', - documentation: 'params :: LIST', - }, - { - label: 'language', - documentation: 'language = en :: STRING', - }, - ], - }, - 'apoc.text.fuzzyMatch': { - label: 'apoc.text.fuzzyMatch', - documentation: - 'Performs a fuzzy match search of the two given `STRING` values.', - parameters: [ - { - label: 'text1', - documentation: 'text1 :: STRING', - }, - { - label: 'text2', - documentation: 'text2 :: STRING', - }, - ], - }, - 'apoc.text.hammingDistance': { - label: 'apoc.text.hammingDistance', - documentation: - 'Compares the two given `STRING` values using the Hamming distance algorithm.', - parameters: [ - { - label: 'text1', - documentation: 'text1 :: STRING', - }, - { - label: 'text2', - documentation: 'text2 :: STRING', - }, - ], - }, - 'apoc.text.hexCharAt': { - label: 'apoc.text.hexCharAt', - documentation: - 'Returns the hexadecimal value of the given `STRING` at the given index.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'index', - documentation: 'index :: INTEGER', - }, - ], - }, - 'apoc.text.hexValue': { - label: 'apoc.text.hexValue', - documentation: 'Returns the hexadecimal value of the given value.', - parameters: [ - { - label: 'value', - documentation: 'value :: INTEGER', - }, - ], - }, - 'apoc.text.indexOf': { - label: 'apoc.text.indexOf', - documentation: - 'Returns the first occurrence of the lookup `STRING` in the given `STRING`, or -1 if not found.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'lookup', - documentation: 'lookup :: STRING', - }, - { - label: 'from', - documentation: 'from = 0 :: INTEGER', - }, - { - label: 'to', - documentation: 'to = -1 :: INTEGER', - }, - ], - }, - 'apoc.text.indexesOf': { - label: 'apoc.text.indexesOf', - documentation: - 'Returns all occurrences of the lookup `STRING` in the given `STRING`, or an empty list if not found.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'lookup', - documentation: 'lookup :: STRING', - }, - { - label: 'from', - documentation: 'from = 0 :: INTEGER', - }, - { - label: 'to', - documentation: 'to = -1 :: INTEGER', - }, - ], - }, - 'apoc.text.jaroWinklerDistance': { - label: 'apoc.text.jaroWinklerDistance', - documentation: - 'Compares the two given `STRING` values using the Jaro-Winkler distance algorithm.', - parameters: [ - { - label: 'text1', - documentation: 'text1 :: STRING', - }, - { - label: 'text2', - documentation: 'text2 :: STRING', - }, - ], - }, - 'apoc.text.join': { - label: 'apoc.text.join', - documentation: - 'Joins the given `STRING` values using the given delimiter.', - parameters: [ - { - label: 'texts', - documentation: 'texts :: LIST', - }, - { - label: 'delimiter', - documentation: 'delimiter :: STRING', - }, - ], - }, - 'apoc.text.levenshteinDistance': { - label: 'apoc.text.levenshteinDistance', - documentation: - 'Compares the given `STRING` values using the Levenshtein distance algorithm.', - parameters: [ - { - label: 'text1', - documentation: 'text1 :: STRING', - }, - { - label: 'text2', - documentation: 'text2 :: STRING', - }, - ], - }, - 'apoc.text.levenshteinSimilarity': { - label: 'apoc.text.levenshteinSimilarity', - documentation: - 'Returns the similarity (a value within 0 and 1) between the two given `STRING` values based on the Levenshtein distance algorithm.', - parameters: [ - { - label: 'text1', - documentation: 'text1 :: STRING', - }, - { - label: 'text2', - documentation: 'text2 :: STRING', - }, - ], - }, - 'apoc.text.lpad': { - label: 'apoc.text.lpad', - documentation: 'Left pads the given `STRING` by the given width.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'count', - documentation: 'count :: INTEGER', - }, - { - label: 'delimiter', - documentation: 'delimiter = :: STRING', - }, - ], - }, - 'apoc.text.phonetic': { - label: 'apoc.text.phonetic', - documentation: - 'Returns the US_ENGLISH phonetic soundex encoding of all words of the `STRING`.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.random': { - label: 'apoc.text.random', - documentation: - 'Generates a random `STRING` to the given length using a length parameter and an optional `STRING` of valid characters.\nUnsuitable for cryptographic use-cases.', - parameters: [ - { - label: 'length', - documentation: 'length :: INTEGER', - }, - { - label: 'valid', - documentation: 'valid = A-Za-z0-9 :: STRING', - }, - ], - }, - 'apoc.text.regexGroups': { - label: 'apoc.text.regexGroups', - documentation: - 'Returns all groups matching the given regular expression in the given text.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'regex', - documentation: 'regex :: STRING', - }, - ], - }, - 'apoc.text.regreplace': { - label: 'apoc.text.regreplace', - documentation: - 'Finds and replaces all matches found by the given regular expression with the given replacement.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'regex', - documentation: 'regex :: STRING', - }, - { - label: 'replacement', - documentation: 'replacement :: STRING', - }, - ], - }, - 'apoc.text.repeat': { - label: 'apoc.text.repeat', - documentation: - 'Returns the result of the given item multiplied by the given count.', - parameters: [ - { - label: 'item', - documentation: 'item :: STRING', - }, - { - label: 'count', - documentation: 'count :: INTEGER', - }, - ], - }, - 'apoc.text.replace': { - label: 'apoc.text.replace', - documentation: - 'Finds and replaces all matches found by the given regular expression with the given replacement.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'regex', - documentation: 'regex :: STRING', - }, - { - label: 'replacement', - documentation: 'replacement :: STRING', - }, - ], - }, - 'apoc.text.rpad': { - label: 'apoc.text.rpad', - documentation: 'Right pads the given `STRING` by the given width.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'count', - documentation: 'count :: INTEGER', - }, - { - label: 'delimiter', - documentation: 'delimiter = :: STRING', - }, - ], - }, - 'apoc.text.slug': { - label: 'apoc.text.slug', - documentation: - 'Replaces the whitespace in the given `STRING` with the given delimiter.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'delimiter', - documentation: 'delimiter = - :: STRING', - }, - ], - }, - 'apoc.text.snakeCase': { - label: 'apoc.text.snakeCase', - documentation: 'Converts the given `STRING` to snake case.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.sorensenDiceSimilarity': { - label: 'apoc.text.sorensenDiceSimilarity', - documentation: - 'Compares the two given `STRING` values using the Sørensen–Dice coefficient formula, with the provided IETF language tag.', - parameters: [ - { - label: 'text1', - documentation: 'text1 :: STRING', - }, - { - label: 'text2', - documentation: 'text2 :: STRING', - }, - { - label: 'languageTag', - documentation: 'languageTag = en :: STRING', - }, - ], - }, - 'apoc.text.split': { - label: 'apoc.text.split', - documentation: - 'Splits the given `STRING` using a given regular expression as a separator.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - { - label: 'regex', - documentation: 'regex :: STRING', - }, - { - label: 'limit', - documentation: 'limit = 0 :: INTEGER', - }, - ], - }, - 'apoc.text.swapCase': { - label: 'apoc.text.swapCase', - documentation: 'Swaps the cases in the given `STRING`.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.toCypher': { - label: 'apoc.text.toCypher', - documentation: 'Converts the given value to a Cypher property `STRING`.', - parameters: [ - { - label: 'value', - documentation: 'value :: ANY', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.text.toUpperCase': { - label: 'apoc.text.toUpperCase', - documentation: 'Converts the given `STRING` to upper case.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.upperCamelCase': { - label: 'apoc.text.upperCamelCase', - documentation: 'Converts the given `STRING` to upper camel case.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.urldecode': { - label: 'apoc.text.urldecode', - documentation: 'Decodes the given URL encoded `STRING`.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.text.urlencode': { - label: 'apoc.text.urlencode', - documentation: 'Encodes the given URL `STRING`.', - parameters: [ - { - label: 'text', - documentation: 'text :: STRING', - }, - ], - }, - 'apoc.util.compress': { - label: 'apoc.util.compress', - documentation: 'Zips the given `STRING`.', - parameters: [ - { - label: 'data', - documentation: 'data :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.util.decompress': { - label: 'apoc.util.decompress', - documentation: 'Unzips the given byte array.', - parameters: [ - { - label: 'data', - documentation: 'data :: BYTEARRAY', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.util.md5': { - label: 'apoc.util.md5', - documentation: - 'Returns the MD5 checksum of the concatenation of all `STRING` values in the given `LIST`.\nMD5 is a weak hashing algorithm which is unsuitable for cryptographic use-cases.', - parameters: [ - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.util.sha1': { - label: 'apoc.util.sha1', - documentation: - 'Returns the SHA1 of the concatenation of all `STRING` values in the given `LIST`.\nSHA1 is a weak hashing algorithm which is unsuitable for cryptographic use-cases.', - parameters: [ - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.util.sha256': { - label: 'apoc.util.sha256', - documentation: - 'Returns the SHA256 of the concatenation of all `STRING` values in the given `LIST`.', - parameters: [ - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.util.sha384': { - label: 'apoc.util.sha384', - documentation: - 'Returns the SHA384 of the concatenation of all `STRING` values in the given `LIST`.', - parameters: [ - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.util.sha512': { - label: 'apoc.util.sha512', - documentation: - 'Returns the SHA512 of the concatenation of all `STRING` values in the `LIST`.', - parameters: [ - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.util.validatePredicate': { - label: 'apoc.util.validatePredicate', - documentation: - 'If the given predicate is true an exception is thrown, otherwise it returns true (for use inside `WHERE` subclauses).', - parameters: [ - { - label: 'predicate', - documentation: 'predicate :: BOOLEAN', - }, - { - label: 'message', - documentation: 'message :: STRING', - }, - { - label: 'params', - documentation: 'params :: LIST', - }, - ], - }, - 'apoc.version': { - label: 'apoc.version', - documentation: 'Returns the APOC version currently installed.', - parameters: [], - }, - 'apoc.xml.parse': { - label: 'apoc.xml.parse', - documentation: 'Parses the given XML `STRING` as a `MAP`.', - parameters: [ - { - label: 'data', - documentation: 'data :: STRING', - }, - { - label: 'path', - documentation: 'path = / :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - { - label: 'simple', - documentation: 'simple = false :: BOOLEAN', - }, - ], - }, - asin: { - label: 'asin', - documentation: 'Returns the arcsine of a `FLOAT` in radians.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - atan: { - label: 'atan', - documentation: 'Returns the arctangent of a `FLOAT` in radians.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - atan2: { - label: 'atan2', - documentation: - 'Returns the arctangent2 of a set of coordinates in radians.', - parameters: [ - { - label: 'y', - documentation: 'y :: FLOAT', - }, - { - label: 'x', - documentation: 'x :: FLOAT', - }, - ], - }, - avg: { - label: 'avg', - documentation: - 'Returns the average of a set of `INTEGER`, `FLOAT` or `DURATION` values.', - parameters: [ - { - label: 'input', - documentation: 'input :: INTEGER | FLOAT | DURATION', - }, - ], - }, - ceil: { - label: 'ceil', - documentation: - 'Returns the smallest `FLOAT` that is greater than or equal to a number and equal to an `INTEGER`.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - char_length: { - label: 'char_length', - documentation: 'Returns the number of Unicode characters in a `STRING`.', - parameters: [ - { - label: 'input', - documentation: 'input :: STRING', - }, - ], - }, - character_length: { - label: 'character_length', - documentation: 'Returns the number of Unicode characters in a `STRING`.', - parameters: [ - { - label: 'input', - documentation: 'input :: STRING', - }, - ], - }, - coalesce: { - label: 'coalesce', - documentation: - 'Returns the first non-null value in a list of expressions.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - ], - }, - collect: { - label: 'collect', - documentation: - 'Returns a list containing the values returned by an expression.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - ], - }, - cos: { - label: 'cos', - documentation: 'Returns the cosine of a `FLOAT`.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - cot: { - label: 'cot', - documentation: 'Returns the cotangent of a `FLOAT`.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - count: { - label: 'count', - documentation: 'Returns the number of values or rows.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - ], - }, - date: { - label: 'date', - documentation: 'Creates a `DATE` instant.', - parameters: [ - { - label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'date.realtime': { - label: 'date.realtime', - documentation: - 'Returns the current `DATE` instant using the realtime clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'date.statement': { - label: 'date.statement', - documentation: - 'Returns the current `DATE` instant using the statement clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'date.transaction': { - label: 'date.transaction', - documentation: - 'Returns the current `DATE` instant using the transaction clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'date.truncate': { - label: 'date.truncate', - documentation: - 'Truncates the given temporal value to a `DATE` instant using the specified unit.', - parameters: [ - { - label: 'unit', - documentation: 'unit :: STRING', - }, - { - label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - { - label: 'fields', - documentation: 'fields = null :: MAP', - }, - ], - }, - datetime: { - label: 'datetime', - documentation: 'Creates a `ZONED DATETIME` instant.', - parameters: [ - { - label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'datetime.fromepoch': { - label: 'datetime.fromepoch', - documentation: - 'Creates a `ZONED DATETIME` given the seconds and nanoseconds since the start of the epoch.', - parameters: [ - { - label: 'seconds', - documentation: 'seconds :: INTEGER | FLOAT', - }, - { - label: 'nanoseconds', - documentation: 'nanoseconds :: INTEGER | FLOAT', - }, - ], - }, - 'datetime.fromepochmillis': { - label: 'datetime.fromepochmillis', - documentation: - 'Creates a `ZONED DATETIME` given the milliseconds since the start of the epoch.', - parameters: [ - { - label: 'milliseconds', - documentation: 'milliseconds :: INTEGER | FLOAT', - }, - ], - }, - 'datetime.realtime': { - label: 'datetime.realtime', - documentation: - 'Returns the current `ZONED DATETIME` instant using the realtime clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'datetime.statement': { - label: 'datetime.statement', - documentation: - 'Returns the current `ZONED DATETIME` instant using the statement clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'datetime.transaction': { - label: 'datetime.transaction', - documentation: - 'Returns the current `ZONED DATETIME` instant using the transaction clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'datetime.truncate': { - label: 'datetime.truncate', - documentation: - 'Truncates the given temporal value to a `ZONED DATETIME` instant using the specified unit.', - parameters: [ - { - label: 'unit', - documentation: 'unit :: STRING', - }, - { - label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - { - label: 'fields', - documentation: 'fields = null :: MAP', - }, - ], - }, - 'db.nameFromElementId': { - label: 'db.nameFromElementId', - documentation: 'Resolves the database name for the given element id', - parameters: [ - { - label: 'elementId', - documentation: 'elementId :: STRING', - }, - ], - }, - degrees: { - label: 'degrees', - documentation: 'Converts radians to degrees.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - duration: { - label: 'duration', - documentation: 'Creates a `DURATION` value.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - ], - }, - 'duration.between': { - label: 'duration.between', - documentation: - 'Computes the `DURATION` between the `from` instant (inclusive) and the `to` instant (exclusive) in logical units.', - parameters: [ - { - label: 'from', - documentation: 'from :: ANY', - }, - { - label: 'to', - documentation: 'to :: ANY', - }, - ], - }, - 'duration.inDays': { - label: 'duration.inDays', - documentation: - 'Computes the `DURATION` between the `from` instant (inclusive) and the `to` instant (exclusive) in days.', - parameters: [ - { - label: 'from', - documentation: 'from :: ANY', - }, - { - label: 'to', - documentation: 'to :: ANY', - }, - ], - }, - 'duration.inMonths': { - label: 'duration.inMonths', - documentation: - 'Computes the `DURATION` between the `from` instant (inclusive) and the `to` instant (exclusive) in months.', - parameters: [ - { - label: 'from', - documentation: 'from :: ANY', - }, - { - label: 'to', - documentation: 'to :: ANY', - }, - ], - }, - 'duration.inSeconds': { - label: 'duration.inSeconds', - documentation: - 'Computes the `DURATION` between the `from` instant (inclusive) and the `to` instant (exclusive) in seconds.', - parameters: [ - { - label: 'from', - documentation: 'from :: ANY', - }, - { - label: 'to', - documentation: 'to :: ANY', - }, - ], - }, - e: { - label: 'e', - documentation: 'Returns the base of the natural logarithm, e.', - parameters: [], - }, - elementId: { - label: 'elementId', - documentation: 'Returns the element id of a `NODE` or `RELATIONSHIP`.', - parameters: [ - { - label: 'input', - documentation: 'input :: NODE | RELATIONSHIP', - }, - ], - }, - endNode: { - label: 'endNode', - documentation: 'Returns the end `NODE` of a `RELATIONSHIP`.', - parameters: [ - { - label: 'input', - documentation: 'input :: RELATIONSHIP', - }, - ], - }, - exists: { - label: 'exists', - documentation: - 'Returns true if a match for the pattern exists in the graph.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - ], - }, - exp: { - label: 'exp', - documentation: - 'Returns e^n, where e is the base of the natural logarithm, and n is the value of the argument expression.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - file: { - label: 'file', - documentation: - 'Returns the absolute path of the file that LOAD CSV is using.', - parameters: [], - }, - floor: { - label: 'floor', - documentation: - 'Returns the largest `FLOAT` that is less than or equal to a number and equal to an `INTEGER`.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - 'graph.names': { - label: 'graph.names', - documentation: 'Lists the names of graphs in the current database.', - parameters: [], - }, - 'graph.propertiesByName': { - label: 'graph.propertiesByName', - documentation: 'Returns the `MAP` of properties associated with a graph.', - parameters: [ - { - label: 'graphName', - documentation: 'graphName :: STRING', - }, - ], - }, - haversin: { - label: 'haversin', - documentation: 'Returns half the versine of a number.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - head: { - label: 'head', - documentation: 'Returns the first element in a `LIST`.', - parameters: [ - { - label: 'list', - documentation: 'list :: LIST', - }, - ], - }, - id: { - label: 'id', - documentation: 'Returns the id of a `NODE` or `RELATIONSHIP`.', - parameters: [ - { - label: 'input', - documentation: 'input :: NODE | RELATIONSHIP', - }, - ], - }, - isEmpty: { - label: 'isEmpty', - documentation: - 'Checks whether a `STRING`, `MAP` or `LIST` is empty.', - parameters: [ - { - label: 'input', - documentation: 'input :: STRING | MAP | LIST', - }, - ], - }, - isNaN: { - label: 'isNaN', - documentation: 'Returns whether the given `INTEGER` or `FLOAT` is NaN.', - parameters: [ - { - label: 'input', - documentation: 'input :: INTEGER | FLOAT', - }, - ], - }, - keys: { - label: 'keys', - documentation: - 'Returns a `LIST` containing the `STRING` representations for all the property names of a `NODE`, `RELATIONSHIP` or `MAP`.', - parameters: [ - { - label: 'input', - documentation: 'input :: NODE | RELATIONSHIP | MAP', - }, - ], - }, - labels: { - label: 'labels', - documentation: - 'Returns a `LIST` containing the `STRING` representations for all the labels of a `NODE`.', - parameters: [ - { - label: 'input', - documentation: 'input :: NODE', - }, - ], - }, - last: { - label: 'last', - documentation: 'Returns the last element in a `LIST`.', - parameters: [ - { - label: 'list', - documentation: 'list :: LIST', - }, - ], - }, - left: { - label: 'left', - documentation: - 'Returns a `STRING` containing the specified number (`INTEGER`) of leftmost characters in the given `STRING`.', - parameters: [ - { - label: 'original', - documentation: 'original :: STRING', - }, - { - label: 'length', - documentation: 'length :: INTEGER', - }, - ], - }, - length: { - label: 'length', - documentation: 'Returns the length of a `PATH`.', - parameters: [ - { - label: 'input', - documentation: 'input :: PATH', - }, - ], - }, - linenumber: { - label: 'linenumber', - documentation: - 'Returns the line number that LOAD CSV is currently using.', - parameters: [], - }, - localdatetime: { - label: 'localdatetime', - documentation: 'Creates a `LOCAL DATETIME` instant.', - parameters: [ - { - label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'localdatetime.realtime': { - label: 'localdatetime.realtime', - documentation: - 'Returns the current `LOCAL DATETIME` instant using the realtime clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'localdatetime.statement': { - label: 'localdatetime.statement', - documentation: - 'Returns the current `LOCAL DATETIME` instant using the statement clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'localdatetime.transaction': { - label: 'localdatetime.transaction', - documentation: - 'Returns the current `LOCAL DATETIME` instant using the transaction clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'localdatetime.truncate': { - label: 'localdatetime.truncate', - documentation: - 'Truncates the given temporal value to a `LOCAL DATETIME` instant using the specified unit.', - parameters: [ - { - label: 'unit', - documentation: 'unit :: STRING', - }, - { - label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - { - label: 'fields', - documentation: 'fields = null :: MAP', - }, - ], - }, - localtime: { - label: 'localtime', - documentation: 'Creates a `LOCAL TIME` instant.', - parameters: [ - { - label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'localtime.realtime': { - label: 'localtime.realtime', - documentation: - 'Returns the current `LOCAL TIME` instant using the realtime clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'localtime.statement': { - label: 'localtime.statement', - documentation: - 'Returns the current `LOCAL TIME` instant using the statement clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'localtime.transaction': { - label: 'localtime.transaction', - documentation: - 'Returns the current `LOCAL TIME` instant using the transaction clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'localtime.truncate': { - label: 'localtime.truncate', - documentation: - 'Truncates the given temporal value to a `LOCAL TIME` instant using the specified unit.', - parameters: [ - { - label: 'unit', - documentation: 'unit :: STRING', - }, - { - label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - { - label: 'fields', - documentation: 'fields = null :: MAP', - }, - ], - }, - log: { - label: 'log', - documentation: 'Returns the natural logarithm of a `FLOAT`.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - log10: { - label: 'log10', - documentation: 'Returns the common logarithm (base 10) of a `FLOAT`.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - ltrim: { - label: 'ltrim', - documentation: - 'Returns the given `STRING` with leading whitespace removed.', - parameters: [ - { - label: 'input', - documentation: 'input :: STRING', - }, - ], - }, - max: { - label: 'max', - documentation: 'Returns the maximum value in a set of values.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - ], - }, - min: { - label: 'min', - documentation: 'Returns the minimum value in a set of values.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - ], - }, - nodes: { - label: 'nodes', - documentation: - 'Returns a `LIST` containing all the `NODE` values in a `PATH`.', - parameters: [ - { - label: 'input', - documentation: 'input :: PATH', - }, - ], - }, - none: { - label: 'none', - documentation: - 'Returns true if the predicate holds for no element in the given `LIST`.', - parameters: [ - { - label: 'variable', - documentation: 'variable :: ANY', - }, - { - label: 'list', - documentation: 'list :: LIST', - }, - ], - }, - nullIf: { - label: 'nullIf', - documentation: - 'Returns null if the two given parameters are equivalent, otherwise returns the value of the first parameter.', - parameters: [ - { - label: 'v1', - documentation: 'v1 :: ANY', - }, - { - label: 'v2', - documentation: 'v2 :: ANY', - }, - ], - }, - percentileCont: { - label: 'percentileCont', - documentation: - 'Returns the percentile of a value over a group using linear interpolation.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - { - label: 'percentile', - documentation: 'percentile :: FLOAT', - }, - ], - }, - percentileDisc: { - label: 'percentileDisc', - documentation: - 'Returns the nearest `INTEGER` or `FLOAT` value to the given percentile over a group using a rounding method.', - parameters: [ - { - label: 'input', - documentation: 'input :: INTEGER | FLOAT', - }, - { - label: 'percentile', - documentation: 'percentile :: FLOAT', - }, - ], - }, - pi: { - label: 'pi', - documentation: 'Returns the mathematical constant pi.', - parameters: [], - }, - point: { - label: 'point', - documentation: - 'Returns a 2D or 3D point object, given two or respectively three coordinate values in the Cartesian coordinate system or WGS 84 geographic coordinate system.', - parameters: [ - { - label: 'input', - documentation: 'input :: MAP', - }, - ], - }, - 'point.distance': { - label: 'point.distance', - documentation: - 'Returns a `FLOAT` representing the geodesic distance between any two points in the same CRS.', - parameters: [ - { - label: 'from', - documentation: 'from :: POINT', - }, - { - label: 'to', - documentation: 'to :: POINT', - }, - ], - }, - 'point.withinBBox': { - label: 'point.withinBBox', - documentation: - 'Returns true if the provided point is within the bounding box defined by the two provided points.', - parameters: [ - { - label: 'point', - documentation: 'point :: POINT', - }, - { - label: 'lowerLeft', - documentation: 'lowerLeft :: POINT', - }, - { - label: 'upperRight', - documentation: 'upperRight :: POINT', - }, - ], - }, - properties: { - label: 'properties', - documentation: - 'Returns a `MAP` containing all the properties of a `NODE`, `RELATIONSHIP` or `MAP`.', - parameters: [ - { - label: 'input', - documentation: 'input :: NODE | RELATIONSHIP | MAP', - }, - ], - }, - radians: { - label: 'radians', - documentation: 'Converts degrees to radians.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - rand: { - label: 'rand', - documentation: - 'Returns a random `FLOAT` in the range from 0 (inclusive) to 1 (exclusive).', - parameters: [], - }, - randomUUID: { - label: 'randomUUID', - documentation: 'Generates a random UUID.', - parameters: [], - }, - range: { - label: 'range', - documentation: - 'Returns a `LIST` comprising all `INTEGER` values within a specified range created with step length.', - parameters: [ - { - label: 'start', - documentation: 'start :: INTEGER', - }, - { - label: 'end', - documentation: 'end :: INTEGER', - }, - { - label: 'step', - documentation: 'step :: INTEGER', - }, - ], - }, - reduce: { - label: 'reduce', - documentation: - 'Runs an expression against individual elements of a `LIST`, storing the result of the expression in an accumulator.', - parameters: [ - { - label: 'accumulator', - documentation: 'accumulator :: ANY', - }, - { - label: 'variable', - documentation: 'variable :: LIST', - }, - ], - }, - relationships: { - label: 'relationships', - documentation: - 'Returns a `LIST` containing all the `RELATIONSHIP` values in a `PATH`.', - parameters: [ - { - label: 'input', - documentation: 'input :: PATH', - }, - ], - }, - replace: { - label: 'replace', - documentation: - 'Returns a `STRING` in which all occurrences of a specified search `STRING` in the given `STRING` have been replaced by another (specified) replacement `STRING`.', - parameters: [ - { - label: 'original', - documentation: 'original :: STRING', - }, - { - label: 'search', - documentation: 'search :: STRING', - }, - { - label: 'replace', - documentation: 'replace :: STRING', - }, - ], - }, - reverse: { - label: 'reverse', - documentation: - 'Returns a `STRING` or `LIST` in which the order of all characters or elements in the given `STRING` or `LIST` have been reversed.', - parameters: [ - { - label: 'input', - documentation: 'input :: STRING | LIST', - }, - ], - }, - right: { - label: 'right', - documentation: - 'Returns a `STRING` containing the specified number of rightmost characters in the given `STRING`.', - parameters: [ - { - label: 'original', - documentation: 'original :: STRING', - }, - { - label: 'length', - documentation: 'length :: INTEGER', - }, - ], - }, - round: { - label: 'round', - documentation: - 'Returns the value of a number rounded to the specified precision with the specified rounding mode.', - parameters: [ - { - label: 'value', - documentation: 'value :: FLOAT', - }, - { - label: 'precision', - documentation: 'precision :: INTEGER | FLOAT', - }, - { - label: 'mode', - documentation: 'mode :: STRING', - }, - ], - }, - rtrim: { - label: 'rtrim', - documentation: - 'Returns the given `STRING` with trailing whitespace removed.', - parameters: [ - { - label: 'input', - documentation: 'input :: STRING', - }, - ], - }, - sign: { - label: 'sign', - documentation: - 'Returns the signum of an `INTEGER` or `FLOAT`: 0 if the number is 0, -1 for any negative number, and 1 for any positive number.', - parameters: [ - { - label: 'input', - documentation: 'input :: INTEGER | FLOAT', - }, - ], - }, - sin: { - label: 'sin', - documentation: 'Returns the sine of a `FLOAT`.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - single: { - label: 'single', - documentation: - 'Returns true if the predicate holds for exactly one of the elements in the given `LIST`.', - parameters: [ - { - label: 'variable', - documentation: 'variable :: ANY', - }, - { - label: 'list', - documentation: 'list :: LIST', - }, - ], - }, - size: { - label: 'size', - documentation: - 'Returns the number of items in a `LIST` or the number of Unicode characters in a `STRING`.', - parameters: [ - { - label: 'input', - documentation: 'input :: STRING | LIST', - }, - ], - }, - split: { - label: 'split', - documentation: - 'Returns a `LIST` resulting from the splitting of the given `STRING` around matches of the given delimiter(s).', - parameters: [ - { - label: 'original', - documentation: 'original :: STRING', - }, - { - label: 'splitDelimiters', - documentation: 'splitDelimiters :: STRING | LIST', - }, - ], - }, - sqrt: { - label: 'sqrt', - documentation: 'Returns the square root of a `FLOAT`.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - startNode: { - label: 'startNode', - documentation: 'Returns the start `NODE` of a `RELATIONSHIP`.', - parameters: [ - { - label: 'input', - documentation: 'input :: RELATIONSHIP', - }, - ], - }, - stdev: { - label: 'stdev', - documentation: - 'Returns the standard deviation for the given value over a group for a sample of a population.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - stdevp: { - label: 'stdevp', - documentation: - 'Returns the standard deviation for the given value over a group for an entire population.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - substring: { - label: 'substring', - documentation: - 'Returns a substring of a given `length` from the given `STRING`, beginning with a 0-based index start.', - parameters: [ - { - label: 'original', - documentation: 'original :: STRING', - }, - { - label: 'start', - documentation: 'start :: INTEGER', - }, - { - label: 'length', - documentation: 'length :: INTEGER', - }, - ], - }, - sum: { - label: 'sum', - documentation: - 'Returns the sum of a set of `INTEGER`, `FLOAT` or `DURATION` values', - parameters: [ - { - label: 'input', - documentation: 'input :: INTEGER | FLOAT | DURATION', - }, - ], - }, - tail: { - label: 'tail', - documentation: 'Returns all but the first element in a `LIST`.', - parameters: [ - { - label: 'input', - documentation: 'input :: LIST', - }, - ], - }, - tan: { - label: 'tan', - documentation: 'Returns the tangent of a `FLOAT`.', - parameters: [ - { - label: 'input', - documentation: 'input :: FLOAT', - }, - ], - }, - time: { - label: 'time', - documentation: 'Creates a `ZONED TIME` instant.', - parameters: [ - { - label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'time.realtime': { - label: 'time.realtime', - documentation: - 'Returns the current `ZONED TIME` instant using the realtime clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'time.statement': { - label: 'time.statement', - documentation: - 'Returns the current `ZONED TIME` instant using the statement clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'time.transaction': { - label: 'time.transaction', - documentation: - 'Returns the current `ZONED TIME` instant using the transaction clock.', - parameters: [ - { - label: 'timezone', - documentation: 'timezone = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - ], - }, - 'time.truncate': { - label: 'time.truncate', - documentation: - 'Truncates the given temporal value to a `ZONED TIME` instant using the specified unit.', - parameters: [ - { - label: 'unit', - documentation: 'unit :: STRING', - }, - { - label: 'input', - documentation: 'input = DEFAULT_TEMPORAL_ARGUMENT :: ANY', - }, - { - label: 'fields', - documentation: 'fields = null :: MAP', - }, - ], - }, - timestamp: { - label: 'timestamp', - documentation: - 'Returns the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC', - parameters: [], - }, - toBoolean: { - label: 'toBoolean', - documentation: - 'Converts a `BOOLEAN`, `STRING` or `INTEGER` value to a `BOOLEAN` value. For `INTEGER` values, 0 is defined to be false and any other `INTEGER` is defined to be true.', - parameters: [ - { - label: 'input', - documentation: 'input :: BOOLEAN | STRING | INTEGER', - }, - ], - }, - toBooleanList: { - label: 'toBooleanList', - documentation: - 'Converts a `LIST` of values to a `LIST` values. If any values are not convertible to `BOOLEAN` they will be null in the `LIST` returned.', - parameters: [ - { - label: 'input', - documentation: 'input :: LIST', - }, - ], - }, - toBooleanOrNull: { - label: 'toBooleanOrNull', - documentation: - 'Converts a value to a `BOOLEAN` value, or null if the value cannot be converted.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - ], - }, - toFloat: { - label: 'toFloat', - documentation: - 'Converts a `STRING`, `INTEGER` or `FLOAT` value to a `FLOAT` value.', - parameters: [ - { - label: 'input', - documentation: 'input :: STRING | INTEGER | FLOAT', - }, - ], - }, - toFloatList: { - label: 'toFloatList', - documentation: - 'Converts a `LIST` to a `LIST` values. If any values are not convertible to `FLOAT` they will be null in the `LIST` returned.', - parameters: [ - { - label: 'input', - documentation: 'input :: LIST', - }, - ], - }, - toFloatOrNull: { - label: 'toFloatOrNull', - documentation: - 'Converts a value to a `FLOAT` value, or null if the value cannot be converted.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - ], - }, - toInteger: { - label: 'toInteger', - documentation: - 'Converts a `BOOLEAN`, `STRING`, `INTEGER` or `FLOAT` value to an `INTEGER` value. For `BOOLEAN` values, true is defined to be 1 and false is defined to be 0.', - parameters: [ - { - label: 'input', - documentation: 'input :: BOOLEAN | STRING | INTEGER | FLOAT', - }, - ], - }, - toIntegerList: { - label: 'toIntegerList', - documentation: - 'Converts a `LIST` to a `LIST` values. If any values are not convertible to `INTEGER` they will be null in the `LIST` returned.', - parameters: [ - { - label: 'input', - documentation: 'input :: LIST', - }, - ], - }, - toIntegerOrNull: { - label: 'toIntegerOrNull', - documentation: - 'Converts a value to an `INTEGER` value, or null if the value cannot be converted.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - ], - }, - toLower: { - label: 'toLower', - documentation: 'Returns the given `STRING` in lowercase.', - parameters: [ - { - label: 'input', - documentation: 'input :: STRING', - }, - ], - }, - toString: { - label: 'toString', - documentation: - 'Converts an `INTEGER`, `FLOAT`, `BOOLEAN`, `POINT` or temporal type (i.e. `DATE`, `ZONED TIME`, `LOCAL TIME`, `ZONED DATETIME`, `LOCAL DATETIME` or `DURATION`) value to a `STRING`.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - ], - }, - toStringList: { - label: 'toStringList', - documentation: - 'Converts a `LIST` to a `LIST` values. If any values are not convertible to `STRING` they will be null in the `LIST` returned.', - parameters: [ - { - label: 'input', - documentation: 'input :: LIST', - }, - ], - }, - toStringOrNull: { - label: 'toStringOrNull', - documentation: - 'Converts an `INTEGER`, `FLOAT`, `BOOLEAN`, `POINT` or temporal type (i.e. `DATE`, `ZONED TIME`, `LOCAL TIME`, `ZONED DATETIME`, `LOCAL DATETIME` or `DURATION`) value to a `STRING`, or null if the value cannot be converted.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - ], - }, - toUpper: { - label: 'toUpper', - documentation: 'Returns the given `STRING` in uppercase.', - parameters: [ - { - label: 'input', - documentation: 'input :: STRING', - }, - ], - }, - trim: { - label: 'trim', - documentation: - 'Returns the given `STRING` with leading and trailing whitespace removed.', - parameters: [ - { - label: 'input', - documentation: 'input :: STRING', - }, - ], - }, - type: { - label: 'type', - documentation: - 'Returns a `STRING` representation of the `RELATIONSHIP` type.', - parameters: [ - { - label: 'input', - documentation: 'input :: RELATIONSHIP', - }, - ], - }, - valueType: { - label: 'valueType', - documentation: - 'Returns a `STRING` representation of the most precise value type that the given expression evaluates to.', - parameters: [ - { - label: 'input', - documentation: 'input :: ANY', - }, - ], - }, - }, - procedureSignatures: { - 'apoc.algo.aStar': { - label: 'apoc.algo.aStar', - documentation: - 'Runs the A* search algorithm to find the optimal path between two `NODE` values, using the given `RELATIONSHIP` property name for the cost function.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: NODE', - }, - { - label: 'endNode', - documentation: 'endNode :: NODE', - }, - { - label: 'relTypesAndDirections', - documentation: 'relTypesAndDirections :: STRING', - }, - { - label: 'weightPropertyName', - documentation: 'weightPropertyName :: STRING', - }, - { - label: 'latPropertyName', - documentation: 'latPropertyName :: STRING', - }, - { - label: 'lonPropertyName', - documentation: 'lonPropertyName :: STRING', - }, - ], - }, - 'apoc.algo.aStarConfig': { - label: 'apoc.algo.aStarConfig', - documentation: - 'Runs the A* search algorithm to find the optimal path between two `NODE` values, using the given `RELATIONSHIP` property name for the cost function.\nThis procedure looks for weight, latitude and longitude properties in the config.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: NODE', - }, - { - label: 'endNode', - documentation: 'endNode :: NODE', - }, - { - label: 'relTypesAndDirections', - documentation: 'relTypesAndDirections :: STRING', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.algo.allSimplePaths': { - label: 'apoc.algo.allSimplePaths', - documentation: - 'Runs a search algorithm to find all of the simple paths between the given `RELATIONSHIP` values, up to a max depth described by `maxNodes`.\nThe returned paths will not contain loops.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: NODE', - }, - { - label: 'endNode', - documentation: 'endNode :: NODE', - }, - { - label: 'relTypesAndDirections', - documentation: 'relTypesAndDirections :: STRING', - }, - { - label: 'maxNodes', - documentation: 'maxNodes :: INTEGER', - }, - ], - }, - 'apoc.algo.cover': { - label: 'apoc.algo.cover', - documentation: - 'Returns all `RELATIONSHIP` values connecting the given set of `NODE` values.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: ANY', - }, - ], - }, - 'apoc.algo.dijkstra': { - label: 'apoc.algo.dijkstra', - documentation: - "Runs Dijkstra's algorithm using the given `RELATIONSHIP` property as the cost function.", - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: NODE', - }, - { - label: 'endNode', - documentation: 'endNode :: NODE', - }, - { - label: 'relTypesAndDirections', - documentation: 'relTypesAndDirections :: STRING', - }, - { - label: 'weightPropertyName', - documentation: 'weightPropertyName :: STRING', - }, - { - label: 'defaultWeight', - documentation: 'defaultWeight = NaN :: FLOAT', - }, - { - label: 'numberOfWantedPaths', - documentation: 'numberOfWantedPaths = 1 :: INTEGER', - }, - ], - }, - 'apoc.atomic.add': { - label: 'apoc.atomic.add', - documentation: - 'Sets the given property to the sum of itself and the given `INTEGER` or `FLOAT` value.\nThe procedure then sets the property to the returned sum.', - parameters: [ - { - label: 'container', - documentation: 'container :: ANY', - }, - { - label: 'propertyName', - documentation: 'propertyName :: STRING', - }, - { - label: 'number', - documentation: 'number :: INTEGER | FLOAT', - }, - { - label: 'retryAttempts', - documentation: 'retryAttempts = 5 :: INTEGER', - }, - ], - }, - 'apoc.atomic.concat': { - label: 'apoc.atomic.concat', - documentation: - 'Sets the given property to the concatenation of itself and the `STRING` value.\nThe procedure then sets the property to the returned `STRING`.', - parameters: [ - { - label: 'container', - documentation: 'container :: ANY', - }, - { - label: 'propertyName', - documentation: 'propertyName :: STRING', - }, - { - label: 'string', - documentation: 'string :: STRING', - }, - { - label: 'retryAttempts', - documentation: 'retryAttempts = 5 :: INTEGER', - }, - ], - }, - 'apoc.atomic.insert': { - label: 'apoc.atomic.insert', - documentation: - 'Inserts a value at position into the `LIST` value of a property.\nThe procedure then sets the result back on the property.', - parameters: [ - { - label: 'container', - documentation: 'container :: ANY', - }, - { - label: 'propertyName', - documentation: 'propertyName :: STRING', - }, - { - label: 'position', - documentation: 'position :: INTEGER', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - { - label: 'retryAttempts', - documentation: 'retryAttempts = 5 :: INTEGER', - }, - ], - }, - 'apoc.atomic.remove': { - label: 'apoc.atomic.remove', - documentation: - 'Removes the element at position from the `LIST` value of a property.\nThe procedure then sets the property to the resulting `LIST` value.', - parameters: [ - { - label: 'container', - documentation: 'container :: ANY', - }, - { - label: 'propertyName', - documentation: 'propertyName :: STRING', - }, - { - label: 'position', - documentation: 'position :: INTEGER', - }, - { - label: 'retryAttempts', - documentation: 'retryAttempts = 5 :: INTEGER', - }, - ], - }, - 'apoc.atomic.subtract': { - label: 'apoc.atomic.subtract', - documentation: - 'Sets the property of a value to itself minus the given `INTEGER` or `FLOAT` value.\nThe procedure then sets the property to the returned sum.', - parameters: [ - { - label: 'container', - documentation: 'container :: ANY', - }, - { - label: 'propertyName', - documentation: 'propertyName :: STRING', - }, - { - label: 'number', - documentation: 'number :: INTEGER | FLOAT', - }, - { - label: 'retryAttempts', - documentation: 'retryAttempts = 5 :: INTEGER', - }, - ], - }, - 'apoc.atomic.update': { - label: 'apoc.atomic.update', - documentation: 'Updates the value of a property with a Cypher operation.', - parameters: [ - { - label: 'container', - documentation: 'container :: ANY', - }, - { - label: 'propertyName', - documentation: 'propertyName :: STRING', - }, - { - label: 'operation', - documentation: 'operation :: STRING', - }, - { - label: 'retryAttempts', - documentation: 'retryAttempts = 5 :: INTEGER', - }, - ], - }, - 'apoc.case': { - label: 'apoc.case', - documentation: - 'For each pair of conditional and read-only queries in the given `LIST`, this procedure will run the first query for which the conditional is evaluated to true. If none of the conditionals are true, the `ELSE` query will run instead.', - parameters: [ - { - label: 'conditionals', - documentation: 'conditionals :: LIST', - }, - { - label: 'elseQuery', - documentation: 'elseQuery = :: STRING', - }, - { - label: 'params', - documentation: 'params = {} :: MAP', - }, - ], - }, - 'apoc.coll.elements': { - label: 'apoc.coll.elements', - documentation: - 'Deconstructs a `LIST` into identifiers indicating their specific type.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'limit', - documentation: 'limit = -1 :: INTEGER', - }, - { - label: 'offset', - documentation: 'offset = 0 :: INTEGER', - }, - ], - }, - 'apoc.coll.pairWithOffset': { - label: 'apoc.coll.pairWithOffset', - documentation: 'Returns a `LIST` of pairs defined by the offset.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'offset', - documentation: 'offset :: INTEGER', - }, - ], - }, - 'apoc.coll.partition': { - label: 'apoc.coll.partition', - documentation: - 'Partitions the original `LIST` into a new `LIST` of the given batch size.\nThe final `LIST` may be smaller than the given batch size.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'batchSize', - documentation: 'batchSize :: INTEGER', - }, - ], - }, - 'apoc.coll.split': { - label: 'apoc.coll.split', - documentation: - 'Splits a collection by the given value.\nThe value itself will not be part of the resulting `LIST` values.', - parameters: [ - { - label: 'coll', - documentation: 'coll :: LIST', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.coll.zipToRows': { - label: 'apoc.coll.zipToRows', - documentation: - 'Returns the two `LIST` values zipped together, with one row per zipped pair.', - parameters: [ - { - label: 'list1', - documentation: 'list1 :: LIST', - }, - { - label: 'list2', - documentation: 'list2 :: LIST', - }, - ], - }, - 'apoc.convert.setJsonProperty': { - label: 'apoc.convert.setJsonProperty', - documentation: - 'Serializes the given JSON object and sets it as a property on the given `NODE`.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.convert.toTree': { - label: 'apoc.convert.toTree', - documentation: - 'Returns a stream of `MAP` values, representing the given `PATH` values as a tree with at least one root.', - parameters: [ - { - label: 'paths', - documentation: 'paths :: LIST', - }, - { - label: 'lowerCaseRels', - documentation: 'lowerCaseRels = true :: BOOLEAN', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.create.addLabels': { - label: 'apoc.create.addLabels', - documentation: 'Adds the given labels to the given `NODE` values.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: ANY', - }, - { - label: 'labels', - documentation: 'labels :: LIST', - }, - ], - }, - 'apoc.create.clonePathToVirtual': { - label: 'apoc.create.clonePathToVirtual', - documentation: - 'Takes the given `PATH` and returns a virtual representation of it.', - parameters: [ - { - label: 'path', - documentation: 'path :: PATH', - }, - ], - }, - 'apoc.create.clonePathsToVirtual': { - label: 'apoc.create.clonePathsToVirtual', - documentation: - 'Takes the given `LIST` and returns a virtual representation of them.', - parameters: [ - { - label: 'paths', - documentation: 'paths :: LIST', - }, - ], - }, - 'apoc.create.node': { - label: 'apoc.create.node', - documentation: 'Creates a `NODE` with the given dynamic labels.', - parameters: [ - { - label: 'labels', - documentation: 'labels :: LIST', - }, - { - label: 'props', - documentation: 'props :: MAP', - }, - ], - }, - 'apoc.create.nodes': { - label: 'apoc.create.nodes', - documentation: 'Creates `NODE` values with the given dynamic labels.', - parameters: [ - { - label: 'labels', - documentation: 'labels :: LIST', - }, - { - label: 'props', - documentation: 'props :: LIST', - }, - ], - }, - 'apoc.create.relationship': { - label: 'apoc.create.relationship', - documentation: - 'Creates a `RELATIONSHIP` with the given dynamic relationship type.', - parameters: [ - { - label: 'from', - documentation: 'from :: NODE', - }, - { - label: 'relType', - documentation: 'relType :: STRING', - }, - { - label: 'props', - documentation: 'props :: MAP', - }, - { - label: 'to', - documentation: 'to :: NODE', - }, - ], - }, - 'apoc.create.removeLabels': { - label: 'apoc.create.removeLabels', - documentation: 'Removes the given labels from the given `NODE` values.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: ANY', - }, - { - label: 'labels', - documentation: 'labels :: LIST', - }, - ], - }, - 'apoc.create.removeProperties': { - label: 'apoc.create.removeProperties', - documentation: - 'Removes the given properties from the given `NODE` values.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: ANY', - }, - { - label: 'keys', - documentation: 'keys :: LIST', - }, - ], - }, - 'apoc.create.removeRelProperties': { - label: 'apoc.create.removeRelProperties', - documentation: - 'Removes the given properties from the given `RELATIONSHIP` values.', - parameters: [ - { - label: 'rels', - documentation: 'rels :: ANY', - }, - { - label: 'keys', - documentation: 'keys :: LIST', - }, - ], - }, - 'apoc.create.setLabels': { - label: 'apoc.create.setLabels', - documentation: - 'Sets the given labels to the given `NODE` values. Non-matching labels are removed from the nodes.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: ANY', - }, - { - label: 'labels', - documentation: 'labels :: LIST', - }, - ], - }, - 'apoc.create.setProperties': { - label: 'apoc.create.setProperties', - documentation: 'Sets the given properties to the given `NODE` values.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: ANY', - }, - { - label: 'keys', - documentation: 'keys :: LIST', - }, - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.create.setProperty': { - label: 'apoc.create.setProperty', - documentation: 'Sets the given property to the given `NODE` values.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: ANY', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.create.setRelProperties': { - label: 'apoc.create.setRelProperties', - documentation: 'Sets the given properties on the `RELATIONSHIP` values.', - parameters: [ - { - label: 'rels', - documentation: 'rels :: ANY', - }, - { - label: 'keys', - documentation: 'keys :: LIST', - }, - { - label: 'values', - documentation: 'values :: LIST', - }, - ], - }, - 'apoc.create.setRelProperty': { - label: 'apoc.create.setRelProperty', - documentation: 'Sets the given property on the `RELATIONSHIP` values.', - parameters: [ - { - label: 'rels', - documentation: 'rels :: ANY', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.create.uuids': { - label: 'apoc.create.uuids', - documentation: 'Returns a stream of UUIDs.', - parameters: [ - { - label: 'count', - documentation: 'count :: INTEGER', - }, - ], - }, - 'apoc.create.vNode': { - label: 'apoc.create.vNode', - documentation: 'Returns a virtual `NODE`.', - parameters: [ - { - label: 'labels', - documentation: 'labels :: LIST', - }, - { - label: 'props', - documentation: 'props :: MAP', - }, - ], - }, - 'apoc.create.vNodes': { - label: 'apoc.create.vNodes', - documentation: 'Returns virtual `NODE` values.', - parameters: [ - { - label: 'labels', - documentation: 'labels :: LIST', - }, - { - label: 'props', - documentation: 'props :: LIST', - }, - ], - }, - 'apoc.create.vRelationship': { - label: 'apoc.create.vRelationship', - documentation: 'Returns a virtual `RELATIONSHIP`.', - parameters: [ - { - label: 'from', - documentation: 'from :: NODE', - }, - { - label: 'relType', - documentation: 'relType :: STRING', - }, - { - label: 'props', - documentation: 'props :: MAP', - }, - { - label: 'to', - documentation: 'to :: NODE', - }, - ], - }, - 'apoc.create.virtualPath': { - label: 'apoc.create.virtualPath', - documentation: 'Returns a virtual `PATH`.', - parameters: [ - { - label: 'labelsN', - documentation: 'labelsN :: LIST', - }, - { - label: 'n', - documentation: 'n :: MAP', - }, - { - label: 'relType', - documentation: 'relType :: STRING', - }, - { - label: 'props', - documentation: 'props :: MAP', - }, - { - label: 'labelsM', - documentation: 'labelsM :: LIST', - }, - { - label: 'm', - documentation: 'm :: MAP', - }, - ], - }, - 'apoc.cypher.doIt': { - label: 'apoc.cypher.doIt', - documentation: - 'Runs a dynamically constructed statement with the given parameters. This procedure allows for both read and write statements.', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'params', - documentation: 'params :: MAP', - }, - ], - }, - 'apoc.cypher.run': { - label: 'apoc.cypher.run', - documentation: - 'Runs a dynamically constructed read-only statement with the given parameters.', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'params', - documentation: 'params :: MAP', - }, - ], - }, - 'apoc.cypher.runMany': { - label: 'apoc.cypher.runMany', - documentation: - 'Runs each semicolon separated statement and returns a summary of the statement outcomes.', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'params', - documentation: 'params :: MAP', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.cypher.runManyReadOnly': { - label: 'apoc.cypher.runManyReadOnly', - documentation: - 'Runs each semicolon separated read-only statement and returns a summary of the statement outcomes.', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'params', - documentation: 'params :: MAP', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.cypher.runSchema': { - label: 'apoc.cypher.runSchema', - documentation: - 'Runs the given query schema statement with the given parameters.', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'params', - documentation: 'params :: MAP', - }, - ], - }, - 'apoc.cypher.runTimeboxed': { - label: 'apoc.cypher.runTimeboxed', - documentation: - 'Terminates a Cypher statement if it has not finished before the set timeout (ms).', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'params', - documentation: 'params :: MAP', - }, - { - label: 'timeout', - documentation: 'timeout :: INTEGER', - }, - ], - }, - 'apoc.cypher.runWrite': { - label: 'apoc.cypher.runWrite', - documentation: 'Alias for `apoc.cypher.doIt`.', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'params', - documentation: 'params :: MAP', - }, - ], - }, - 'apoc.do.case': { - label: 'apoc.do.case', - documentation: - 'For each pair of conditional queries in the given `LIST`, this procedure will run the first query for which the conditional is evaluated to true.\nIf none of the conditionals are true, the `ELSE` query will run instead.', - parameters: [ - { - label: 'conditionals', - documentation: 'conditionals :: LIST', - }, - { - label: 'elseQuery', - documentation: 'elseQuery = :: STRING', - }, - { - label: 'params', - documentation: 'params = {} :: MAP', - }, - ], - }, - 'apoc.do.when': { - label: 'apoc.do.when', - documentation: - 'Runs the given read/write `ifQuery` if the conditional has evaluated to true, otherwise the `elseQuery` will run.', - parameters: [ - { - label: 'condition', - documentation: 'condition :: BOOLEAN', - }, - { - label: 'ifQuery', - documentation: 'ifQuery :: STRING', - }, - { - label: 'elseQuery', - documentation: 'elseQuery = :: STRING', - }, - { - label: 'params', - documentation: 'params = {} :: MAP', - }, - ], - }, - 'apoc.example.movies': { - label: 'apoc.example.movies', - documentation: 'Seeds the database with the Neo4j movie dataset.', - parameters: [], - }, - 'apoc.export.arrow.all': { - label: 'apoc.export.arrow.all', - documentation: 'Exports the full database as an arrow file.', - parameters: [ - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.arrow.graph': { - label: 'apoc.export.arrow.graph', - documentation: 'Exports the given graph as an arrow file.', - parameters: [ - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'graph', - documentation: 'graph :: ANY', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.arrow.query': { - label: 'apoc.export.arrow.query', - documentation: - 'Exports the results from the given Cypher query as an arrow file.', - parameters: [ - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'query', - documentation: 'query :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.arrow.stream.all': { - label: 'apoc.export.arrow.stream.all', - documentation: 'Exports the full database as an arrow byte array.', - parameters: [ - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.arrow.stream.graph': { - label: 'apoc.export.arrow.stream.graph', - documentation: 'Exports the given graph as an arrow byte array.', - parameters: [ - { - label: 'graph', - documentation: 'graph :: ANY', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.arrow.stream.query': { - label: 'apoc.export.arrow.stream.query', - documentation: 'Exports the given Cypher query as an arrow byte array.', - parameters: [ - { - label: 'query', - documentation: 'query :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.csv.all': { - label: 'apoc.export.csv.all', - documentation: 'Exports the full database to the provided CSV file.', - parameters: [ - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.export.csv.data': { - label: 'apoc.export.csv.data', - documentation: - 'Exports the given `NODE` and `RELATIONSHIP` values to the provided CSV file.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'rels', - documentation: 'rels :: LIST', - }, - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.export.csv.graph': { - label: 'apoc.export.csv.graph', - documentation: 'Exports the given graph to the provided CSV file.', - parameters: [ - { - label: 'graph', - documentation: 'graph :: MAP', - }, - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.export.csv.query': { - label: 'apoc.export.csv.query', - documentation: - 'Exports the results from running the given Cypher query to the provided CSV file.', - parameters: [ - { - label: 'query', - documentation: 'query :: STRING', - }, - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.export.cypher.all': { - label: 'apoc.export.cypher.all', - documentation: - 'Exports the full database (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', - parameters: [ - { - label: 'file', - documentation: 'file = :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.cypher.data': { - label: 'apoc.export.cypher.data', - documentation: - 'Exports the given `NODE` and `RELATIONSHIP` values (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'rels', - documentation: 'rels :: LIST', - }, - { - label: 'file', - documentation: 'file = :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.cypher.graph': { - label: 'apoc.export.cypher.graph', - documentation: - 'Exports the given graph (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', - parameters: [ - { - label: 'graph', - documentation: 'graph :: MAP', - }, - { - label: 'file', - documentation: 'file = :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.cypher.query': { - label: 'apoc.export.cypher.query', - documentation: - 'Exports the `NODE` and `RELATIONSHIP` values from the given Cypher query (incl. indexes) as Cypher statements to the provided file (default: Cypher Shell).', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'file', - documentation: 'file = :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.cypher.schema': { - label: 'apoc.export.cypher.schema', - documentation: - 'Exports all schema indexes and constraints to Cypher statements.', - parameters: [ - { - label: 'file', - documentation: 'file = :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.graphml.all': { - label: 'apoc.export.graphml.all', - documentation: 'Exports the full database to the provided GraphML file.', - parameters: [ - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.export.graphml.data': { - label: 'apoc.export.graphml.data', - documentation: - 'Exports the given `NODE` and `RELATIONSHIP` values to the provided GraphML file.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'rels', - documentation: 'rels :: LIST', - }, - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.export.graphml.graph': { - label: 'apoc.export.graphml.graph', - documentation: 'Exports the given graph to the provided GraphML file.', - parameters: [ - { - label: 'graph', - documentation: 'graph :: MAP', - }, - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.export.graphml.query': { - label: 'apoc.export.graphml.query', - documentation: - 'Exports the given `NODE` and `RELATIONSHIP` values from the Cypher statement to the provided GraphML file.', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.export.json.all': { - label: 'apoc.export.json.all', - documentation: 'Exports the full database to the provided JSON file.', - parameters: [ - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.json.data': { - label: 'apoc.export.json.data', - documentation: - 'Exports the given `NODE` and `RELATIONSHIP` values to the provided JSON file.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'rels', - documentation: 'rels :: LIST', - }, - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.json.graph': { - label: 'apoc.export.json.graph', - documentation: 'Exports the given graph to the provided JSON file.', - parameters: [ - { - label: 'graph', - documentation: 'graph :: MAP', - }, - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.export.json.query': { - label: 'apoc.export.json.query', - documentation: - 'Exports the results from the Cypher statement to the provided JSON file.', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.graph.from': { - label: 'apoc.graph.from', - documentation: - 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the given data.', - parameters: [ - { - label: 'data', - documentation: 'data :: ANY', - }, - { - label: 'name', - documentation: 'name :: STRING', - }, - { - label: 'props', - documentation: 'props :: MAP', - }, - ], - }, - 'apoc.graph.fromCypher': { - label: 'apoc.graph.fromCypher', - documentation: - 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given Cypher statement.', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'params', - documentation: 'params :: MAP', - }, - { - label: 'name', - documentation: 'name :: STRING', - }, - { - label: 'props', - documentation: 'props :: MAP', - }, - ], - }, - 'apoc.graph.fromDB': { - label: 'apoc.graph.fromDB', - documentation: - 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given database.', - parameters: [ - { - label: 'name', - documentation: 'name :: STRING', - }, - { - label: 'props', - documentation: 'props :: MAP', - }, - ], - }, - 'apoc.graph.fromData': { - label: 'apoc.graph.fromData', - documentation: - 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the given data.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'rels', - documentation: 'rels :: LIST', - }, - { - label: 'name', - documentation: 'name :: STRING', - }, - { - label: 'props', - documentation: 'props :: MAP', - }, - ], - }, - 'apoc.graph.fromDocument': { - label: 'apoc.graph.fromDocument', - documentation: - 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given JSON file.', - parameters: [ - { - label: 'json', - documentation: 'json :: ANY', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.graph.fromPath': { - label: 'apoc.graph.fromPath', - documentation: - 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given `PATH`.', - parameters: [ - { - label: 'path', - documentation: 'path :: PATH', - }, - { - label: 'name', - documentation: 'name :: STRING', - }, - { - label: 'props', - documentation: 'props :: MAP', - }, - ], - }, - 'apoc.graph.fromPaths': { - label: 'apoc.graph.fromPaths', - documentation: - 'Generates a virtual sub-graph by extracting all of the `NODE` and `RELATIONSHIP` values from the data returned by the given `PATH` values.', - parameters: [ - { - label: 'paths', - documentation: 'paths :: LIST', - }, - { - label: 'name', - documentation: 'name :: STRING', - }, - { - label: 'props', - documentation: 'props :: MAP', - }, - ], - }, - 'apoc.graph.validateDocument': { - label: 'apoc.graph.validateDocument', - documentation: - 'Validates the JSON file and returns the result of the validation.', - parameters: [ - { - label: 'json', - documentation: 'json :: ANY', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.help': { - label: 'apoc.help', - documentation: - 'Returns descriptions of the available APOC procedures and functions. If a keyword is provided, it will return only those procedures and functions that have the keyword in their name.', - parameters: [ - { - label: 'proc', - documentation: 'proc :: STRING', - }, - ], - }, - 'apoc.import.csv': { - label: 'apoc.import.csv', - documentation: - 'Imports `NODE` and `RELATIONSHIP` values with the given labels and types from the provided CSV file.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'rels', - documentation: 'rels :: LIST', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.import.graphml': { - label: 'apoc.import.graphml', - documentation: 'Imports a graph from the provided GraphML file.', - parameters: [ - { - label: 'urlOrBinaryFile', - documentation: 'urlOrBinaryFile :: ANY', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.import.json': { - label: 'apoc.import.json', - documentation: 'Imports a graph from the provided JSON file.', - parameters: [ - { - label: 'urlOrBinaryFile', - documentation: 'urlOrBinaryFile :: ANY', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.import.xml': { - label: 'apoc.import.xml', - documentation: 'Imports a graph from the provided XML file.', - parameters: [ - { - label: 'urlOrBinary', - documentation: 'urlOrBinary :: ANY', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.load.arrow': { - label: 'apoc.load.arrow', - documentation: - 'Imports `NODE` and `RELATIONSHIP` values from the provided arrow file.', - parameters: [ - { - label: 'file', - documentation: 'file :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.load.arrow.stream': { - label: 'apoc.load.arrow.stream', - documentation: - 'Imports `NODE` and `RELATIONSHIP` values from the provided arrow byte array.', - parameters: [ - { - label: 'source', - documentation: 'source :: BYTEARRAY', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.load.json': { - label: 'apoc.load.json', - documentation: - 'Imports JSON file as a stream of values if the given JSON file is a `LIST`.\nIf the given JSON file is a `MAP`, this procedure imports a single value instead.', - parameters: [ - { - label: 'urlOrKeyOrBinary', - documentation: 'urlOrKeyOrBinary :: ANY', - }, - { - label: 'path', - documentation: 'path = :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.load.jsonArray': { - label: 'apoc.load.jsonArray', - documentation: - 'Loads array from a JSON URL (e.g. web-API) to then import the given JSON file as a stream of values.', - parameters: [ - { - label: 'url', - documentation: 'url :: STRING', - }, - { - label: 'path', - documentation: 'path = :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.load.jsonParams': { - label: 'apoc.load.jsonParams', - documentation: - 'Loads parameters from a JSON URL (e.g. web-API) as a stream of values if the given JSON file is a `LIST`.\nIf the given JSON file is a `MAP`, this procedure imports a single value instead.', - parameters: [ - { - label: 'urlOrKeyOrBinary', - documentation: 'urlOrKeyOrBinary :: ANY', - }, - { - label: 'headers', - documentation: 'headers :: MAP', - }, - { - label: 'payload', - documentation: 'payload :: STRING', - }, - { - label: 'path', - documentation: 'path = :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.load.xml': { - label: 'apoc.load.xml', - documentation: - 'Loads a single nested `MAP` from an XML URL (e.g. web-API).', - parameters: [ - { - label: 'urlOrBinary', - documentation: 'urlOrBinary :: ANY', - }, - { - label: 'path', - documentation: 'path = / :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - { - label: 'simple', - documentation: 'simple = false :: BOOLEAN', - }, - ], - }, - 'apoc.lock.all': { - label: 'apoc.lock.all', - documentation: - 'Acquires a write lock on the given `NODE` and `RELATIONSHIP` values.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'rels', - documentation: 'rels :: LIST', - }, - ], - }, - 'apoc.lock.nodes': { - label: 'apoc.lock.nodes', - documentation: 'Acquires a write lock on the given `NODE` values.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - ], - }, - 'apoc.lock.read.nodes': { - label: 'apoc.lock.read.nodes', - documentation: 'Acquires a read lock on the given `NODE` values.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - ], - }, - 'apoc.lock.read.rels': { - label: 'apoc.lock.read.rels', - documentation: 'Acquires a read lock on the given `RELATIONSHIP` values.', - parameters: [ - { - label: 'rels', - documentation: 'rels :: LIST', - }, - ], - }, - 'apoc.lock.rels': { - label: 'apoc.lock.rels', - documentation: - 'Acquires a write lock on the given `RELATIONSHIP` values.', - parameters: [ - { - label: 'rels', - documentation: 'rels :: LIST', - }, - ], - }, - 'apoc.log.stream': { - label: 'apoc.log.stream', - documentation: - 'Returns the file contents from the given log, optionally returning only the last n lines.\nThis procedure requires users to have an admin role.', - parameters: [ - { - label: 'path', - documentation: 'path :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.math.regr': { - label: 'apoc.math.regr', - documentation: - 'Returns the coefficient of determination (R-squared) for the values of propertyY and propertyX in the given label.', - parameters: [ - { - label: 'label', - documentation: 'label :: STRING', - }, - { - label: 'propertyY', - documentation: 'propertyY :: STRING', - }, - { - label: 'propertyX', - documentation: 'propertyX :: STRING', - }, - ], - }, - 'apoc.merge.node': { - label: 'apoc.merge.node', - documentation: - 'Merges the given `NODE` values with the given dynamic labels.', - parameters: [ - { - label: 'labels', - documentation: 'labels :: LIST', - }, - { - label: 'identProps', - documentation: 'identProps :: MAP', - }, - { - label: 'onCreateProps', - documentation: 'onCreateProps = {} :: MAP', - }, - { - label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP', - }, - ], - }, - 'apoc.merge.node.eager': { - label: 'apoc.merge.node.eager', - documentation: - 'Merges the given `NODE` values with the given dynamic labels eagerly.', - parameters: [ - { - label: 'labels', - documentation: 'labels :: LIST', - }, - { - label: 'identProps', - documentation: 'identProps :: MAP', - }, - { - label: 'onCreateProps', - documentation: 'onCreateProps = {} :: MAP', - }, - { - label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP', - }, - ], - }, - 'apoc.merge.nodeWithStats': { - label: 'apoc.merge.nodeWithStats', - documentation: - 'Merges the given `NODE` values with the given dynamic labels. Provides queryStatistics in the result.', - parameters: [ - { - label: 'labels', - documentation: 'labels :: LIST', - }, - { - label: 'identProps', - documentation: 'identProps :: MAP', - }, - { - label: 'onCreateProps', - documentation: 'onCreateProps = {} :: MAP', - }, - { - label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP', - }, - ], - }, - 'apoc.merge.nodeWithStats.eager': { - label: 'apoc.merge.nodeWithStats.eager', - documentation: - 'Merges the given `NODE` values with the given dynamic labels eagerly. Provides queryStatistics in the result.', - parameters: [ - { - label: 'labels', - documentation: 'labels :: LIST', - }, - { - label: 'identProps', - documentation: 'identProps :: MAP', - }, - { - label: 'onCreateProps', - documentation: 'onCreateProps = {} :: MAP', - }, - { - label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP', - }, - ], - }, - 'apoc.merge.relationship': { - label: 'apoc.merge.relationship', - documentation: - 'Merges the given `RELATIONSHIP` values with the given dynamic types/properties.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: NODE', - }, - { - label: 'relType', - documentation: 'relType :: STRING', - }, - { - label: 'identProps', - documentation: 'identProps :: MAP', - }, - { - label: 'onCreateProps', - documentation: 'onCreateProps :: MAP', - }, - { - label: 'endNode', - documentation: 'endNode :: NODE', - }, - { - label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP', - }, - ], - }, - 'apoc.merge.relationship.eager': { - label: 'apoc.merge.relationship.eager', - documentation: - 'Merges the given `RELATIONSHIP` values with the given dynamic types/properties eagerly.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: NODE', - }, - { - label: 'relType', - documentation: 'relType :: STRING', - }, - { - label: 'identProps', - documentation: 'identProps :: MAP', - }, - { - label: 'onCreateProps', - documentation: 'onCreateProps :: MAP', - }, - { - label: 'endNode', - documentation: 'endNode :: NODE', - }, - { - label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP', - }, - ], - }, - 'apoc.merge.relationshipWithStats': { - label: 'apoc.merge.relationshipWithStats', - documentation: - 'Merges the given `RELATIONSHIP` values with the given dynamic types/properties. Provides queryStatistics in the result.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: NODE', - }, - { - label: 'relType', - documentation: 'relType :: STRING', - }, - { - label: 'identProps', - documentation: 'identProps :: MAP', - }, - { - label: 'onCreateProps', - documentation: 'onCreateProps :: MAP', - }, - { - label: 'endNode', - documentation: 'endNode :: NODE', - }, - { - label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP', - }, - ], - }, - 'apoc.merge.relationshipWithStats.eager': { - label: 'apoc.merge.relationshipWithStats.eager', - documentation: - 'Merges the given `RELATIONSHIP` values with the given dynamic types/properties eagerly. Provides queryStatistics in the result.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: NODE', - }, - { - label: 'relType', - documentation: 'relType :: STRING', - }, - { - label: 'identProps', - documentation: 'identProps :: MAP', - }, - { - label: 'onCreateProps', - documentation: 'onCreateProps :: MAP', - }, - { - label: 'endNode', - documentation: 'endNode :: NODE', - }, - { - label: 'onMatchProps', - documentation: 'onMatchProps = {} :: MAP', - }, - ], - }, - 'apoc.meta.data': { - label: 'apoc.meta.data', - documentation: 'Examines the full graph and returns a table of metadata.', - parameters: [ - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.meta.data.of': { - label: 'apoc.meta.data.of', - documentation: - 'Examines the given sub-graph and returns a table of metadata.', - parameters: [ - { - label: 'graph', - documentation: 'graph :: ANY', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.meta.graph': { - label: 'apoc.meta.graph', - documentation: 'Examines the full graph and returns a meta-graph.', - parameters: [ - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.meta.graph.of': { - label: 'apoc.meta.graph.of', - documentation: 'Examines the given sub-graph and returns a meta-graph.', - parameters: [ - { - label: 'graph', - documentation: 'graph = {} :: ANY', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.meta.graphSample': { - label: 'apoc.meta.graphSample', - documentation: - 'Examines the full graph and returns a meta-graph.\nUnlike `apoc.meta.graph`, this procedure does not filter away non-existing paths.', - parameters: [ - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.meta.nodeTypeProperties': { - label: 'apoc.meta.nodeTypeProperties', - documentation: - 'Examines the full graph and returns a table of metadata with information about the `NODE` values therein.', - parameters: [ - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.meta.relTypeProperties': { - label: 'apoc.meta.relTypeProperties', - documentation: - 'Examines the full graph and returns a table of metadata with information about the `RELATIONSHIP` values therein.', - parameters: [ - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.meta.schema': { - label: 'apoc.meta.schema', - documentation: - 'Examines the given sub-graph and returns metadata as a `MAP`.', - parameters: [ - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.meta.stats': { - label: 'apoc.meta.stats', - documentation: - 'Returns the metadata stored in the transactional database statistics.', - parameters: [], - }, - 'apoc.meta.subGraph': { - label: 'apoc.meta.subGraph', - documentation: 'Examines the given sub-graph and returns a meta-graph.', - parameters: [ - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.neighbors.athop': { - label: 'apoc.neighbors.athop', - documentation: - 'Returns all `NODE` values connected by the given `RELATIONSHIP` types at the specified distance.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'relTypes', - documentation: 'relTypes = :: STRING', - }, - { - label: 'distance', - documentation: 'distance = 1 :: INTEGER', - }, - ], - }, - 'apoc.neighbors.athop.count': { - label: 'apoc.neighbors.athop.count', - documentation: - 'Returns the count of all `NODE` values connected by the given `RELATIONSHIP` types at the specified distance.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'relTypes', - documentation: 'relTypes = :: STRING', - }, - { - label: 'distance', - documentation: 'distance = 1 :: INTEGER', - }, - ], - }, - 'apoc.neighbors.byhop': { - label: 'apoc.neighbors.byhop', - documentation: - 'Returns all `NODE` values connected by the given `RELATIONSHIP` types within the specified distance. Returns `LIST` values, where each `PATH` of `NODE` values represents one row of the `LIST` values.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'relTypes', - documentation: 'relTypes = :: STRING', - }, - { - label: 'distance', - documentation: 'distance = 1 :: INTEGER', - }, - ], - }, - 'apoc.neighbors.byhop.count': { - label: 'apoc.neighbors.byhop.count', - documentation: - 'Returns the count of all `NODE` values connected by the given `RELATIONSHIP` types within the specified distance.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'relTypes', - documentation: 'relTypes = :: STRING', - }, - { - label: 'distance', - documentation: 'distance = 1 :: INTEGER', - }, - ], - }, - 'apoc.neighbors.tohop': { - label: 'apoc.neighbors.tohop', - documentation: - 'Returns all `NODE` values connected by the given `RELATIONSHIP` types within the specified distance.\n`NODE` values are returned individually for each row.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'relTypes', - documentation: 'relTypes = :: STRING', - }, - { - label: 'distance', - documentation: 'distance = 1 :: INTEGER', - }, - ], - }, - 'apoc.neighbors.tohop.count': { - label: 'apoc.neighbors.tohop.count', - documentation: - 'Returns the count of all `NODE` values connected by the given `RELATIONSHIP` values in the pattern within the specified distance.', - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'relTypes', - documentation: 'relTypes = :: STRING', - }, - { - label: 'distance', - documentation: 'distance = 1 :: INTEGER', - }, - ], - }, - 'apoc.nodes.collapse': { - label: 'apoc.nodes.collapse', - documentation: - 'Merges `NODE` values together in the given `LIST`.\nThe `NODE` values are then combined to become one `NODE`, with all labels of the previous `NODE` values attached to it, and all `RELATIONSHIP` values pointing to it.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.nodes.cycles': { - label: 'apoc.nodes.cycles', - documentation: - 'Detects all `PATH` cycles in the given `LIST`.\nThis procedure can be limited on `RELATIONSHIP` values as well.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.nodes.delete': { - label: 'apoc.nodes.delete', - documentation: 'Deletes all `NODE` values with the given ids.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: ANY', - }, - { - label: 'batchSize', - documentation: 'batchSize :: INTEGER', - }, - ], - }, - 'apoc.nodes.get': { - label: 'apoc.nodes.get', - documentation: 'Returns all `NODE` values with the given ids.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: ANY', - }, - ], - }, - 'apoc.nodes.group': { - label: 'apoc.nodes.group', - documentation: - 'Allows for the aggregation of `NODE` values based on the given properties.\nThis procedure returns virtual `NODE` values.', - parameters: [ - { - label: 'labels', - documentation: 'labels :: LIST', - }, - { - label: 'groupByProperties', - documentation: 'groupByProperties :: LIST', - }, - { - label: 'aggregations', - documentation: 'aggregations = [{*=count}, {*=count}] :: LIST', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.nodes.link': { - label: 'apoc.nodes.link', - documentation: - 'Creates a linked list of the given `NODE` values connected by the given `RELATIONSHIP` type.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'type', - documentation: 'type :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.nodes.rels': { - label: 'apoc.nodes.rels', - documentation: 'Returns all `RELATIONSHIP` values with the given ids.', - parameters: [ - { - label: 'rels', - documentation: 'rels :: ANY', - }, - ], - }, - 'apoc.path.expand': { - label: 'apoc.path.expand', - documentation: - 'Returns `PATH` values expanded from the start `NODE` following the given `RELATIONSHIP` types from min-depth to max-depth.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: ANY', - }, - { - label: 'relFilter', - documentation: 'relFilter :: STRING', - }, - { - label: 'labelFilter', - documentation: 'labelFilter :: STRING', - }, - { - label: 'minDepth', - documentation: 'minDepth :: INTEGER', - }, - { - label: 'maxDepth', - documentation: 'maxDepth :: INTEGER', - }, - ], - }, - 'apoc.path.expandConfig': { - label: 'apoc.path.expandConfig', - documentation: - 'Returns `PATH` values expanded from the start `NODE` with the given `RELATIONSHIP` types from min-depth to max-depth.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: ANY', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.path.spanningTree': { - label: 'apoc.path.spanningTree', - documentation: - 'Returns spanning tree `PATH` values expanded from the start `NODE` following the given `RELATIONSHIP` types to max-depth.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: ANY', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.path.subgraphAll': { - label: 'apoc.path.subgraphAll', - documentation: - 'Returns the sub-graph reachable from the start `NODE` following the given `RELATIONSHIP` types to max-depth.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: ANY', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.path.subgraphNodes': { - label: 'apoc.path.subgraphNodes', - documentation: - 'Returns the `NODE` values in the sub-graph reachable from the start `NODE` following the given `RELATIONSHIP` types to max-depth.', - parameters: [ - { - label: 'startNode', - documentation: 'startNode :: ANY', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.periodic.cancel': { - label: 'apoc.periodic.cancel', - documentation: 'Cancels the given background job.', - parameters: [ - { - label: 'name', - documentation: 'name :: STRING', - }, - ], - }, - 'apoc.periodic.commit': { - label: 'apoc.periodic.commit', - documentation: - 'Runs the given statement in separate batched transactions.', - parameters: [ - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'params', - documentation: 'params = {} :: MAP', - }, - ], - }, - 'apoc.periodic.countdown': { - label: 'apoc.periodic.countdown', - documentation: - 'Runs a repeatedly called background statement until it returns 0.', - parameters: [ - { - label: 'name', - documentation: 'name :: STRING', - }, - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'delay', - documentation: 'delay :: INTEGER', - }, - ], - }, - 'apoc.periodic.iterate': { - label: 'apoc.periodic.iterate', - documentation: - 'Runs the second statement for each item returned by the first statement.\nThis procedure returns the number of batches and the total number of processed rows.', - parameters: [ - { - label: 'cypherIterate', - documentation: 'cypherIterate :: STRING', - }, - { - label: 'cypherAction', - documentation: 'cypherAction :: STRING', - }, - { - label: 'config', - documentation: 'config :: MAP', - }, - ], - }, - 'apoc.periodic.list': { - label: 'apoc.periodic.list', - documentation: 'Returns a `LIST` of all background jobs.', - parameters: [], - }, - 'apoc.periodic.repeat': { - label: 'apoc.periodic.repeat', - documentation: - 'Runs a repeatedly called background job.\nTo stop this procedure, use `apoc.periodic.cancel`.', - parameters: [ - { - label: 'name', - documentation: 'name :: STRING', - }, - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'rate', - documentation: 'rate :: INTEGER', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.periodic.submit': { - label: 'apoc.periodic.submit', - documentation: - 'Creates a background job which runs the given Cypher statement once.', - parameters: [ - { - label: 'name', - documentation: 'name :: STRING', - }, - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'params', - documentation: 'params = {} :: MAP', - }, - ], - }, - 'apoc.periodic.truncate': { - label: 'apoc.periodic.truncate', - documentation: - 'Removes all entities (and optionally indexes and constraints) from the database using the `apoc.periodic.iterate` procedure.', - parameters: [ - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.refactor.categorize': { - label: 'apoc.refactor.categorize', - documentation: - 'Creates new category `NODE` values from `NODE` values in the graph with the specified `sourceKey` as one of its property keys.\nThe new category `NODE` values are then connected to the original `NODE` values with a `RELATIONSHIP` of the given type.', - parameters: [ - { - label: 'sourceKey', - documentation: 'sourceKey :: STRING', - }, - { - label: 'type', - documentation: 'type :: STRING', - }, - { - label: 'outgoing', - documentation: 'outgoing :: BOOLEAN', - }, - { - label: 'label', - documentation: 'label :: STRING', - }, - { - label: 'targetKey', - documentation: 'targetKey :: STRING', - }, - { - label: 'copiedKeys', - documentation: 'copiedKeys :: LIST', - }, - { - label: 'batchSize', - documentation: 'batchSize :: INTEGER', - }, - ], - }, - 'apoc.refactor.cloneNodes': { - label: 'apoc.refactor.cloneNodes', - documentation: - 'Clones the given `NODE` values with their labels and properties.\nIt is possible to skip any `NODE` properties using skipProperties (note: this only skips properties on `NODE` values and not their `RELATIONSHIP` values).', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'withRelationships', - documentation: 'withRelationships = false :: BOOLEAN', - }, - { - label: 'skipProperties', - documentation: 'skipProperties = [] :: LIST', - }, - ], - }, - 'apoc.refactor.cloneSubgraph': { - label: 'apoc.refactor.cloneSubgraph', - documentation: - 'Clones the given `NODE` values with their labels and properties (optionally skipping any properties in the `skipProperties` `LIST` via the config `MAP`), and clones the given `RELATIONSHIP` values.\nIf no `RELATIONSHIP` values are provided, all existing `RELATIONSHIP` values between the given `NODE` values will be cloned.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'rels', - documentation: 'rels = [] :: LIST', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.refactor.cloneSubgraphFromPaths': { - label: 'apoc.refactor.cloneSubgraphFromPaths', - documentation: - 'Clones a sub-graph defined by the given `LIST` values.\nIt is possible to skip any `NODE` properties using the `skipProperties` `LIST` via the config `MAP`.', - parameters: [ - { - label: 'paths', - documentation: 'paths :: LIST', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.refactor.collapseNode': { - label: 'apoc.refactor.collapseNode', - documentation: - 'Collapses the given `NODE` and replaces it with a `RELATIONSHIP` of the given type.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: ANY', - }, - { - label: 'relType', - documentation: 'relType :: STRING', - }, - ], - }, - 'apoc.refactor.deleteAndReconnect': { - label: 'apoc.refactor.deleteAndReconnect', - documentation: - 'Removes the given `NODE` values from the `PATH` and reconnects the remaining `NODE` values.', - parameters: [ - { - label: 'path', - documentation: 'path :: PATH', - }, - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.refactor.extractNode': { - label: 'apoc.refactor.extractNode', - documentation: - 'Expands the given `RELATIONSHIP` VALUES into intermediate `NODE` VALUES.\nThe intermediate `NODE` values are connected by the given `outType` and `inType`.', - parameters: [ - { - label: 'rels', - documentation: 'rels :: ANY', - }, - { - label: 'labels', - documentation: 'labels :: LIST', - }, - { - label: 'outType', - documentation: 'outType :: STRING', - }, - { - label: 'inType', - documentation: 'inType :: STRING', - }, - ], - }, - 'apoc.refactor.from': { - label: 'apoc.refactor.from', - documentation: - 'Redirects the given `RELATIONSHIP` to the given start `NODE`.', - parameters: [ - { - label: 'rel', - documentation: 'rel :: RELATIONSHIP', - }, - { - label: 'newNode', - documentation: 'newNode :: NODE', - }, - ], - }, - 'apoc.refactor.invert': { - label: 'apoc.refactor.invert', - documentation: 'Inverts the direction of the given `RELATIONSHIP`.', - parameters: [ - { - label: 'rel', - documentation: 'rel :: RELATIONSHIP', - }, - ], - }, - 'apoc.refactor.mergeNodes': { - label: 'apoc.refactor.mergeNodes', - documentation: - 'Merges the given `LIST` onto the first `NODE` in the `LIST`.\nAll `RELATIONSHIP` values are merged onto that `NODE` as well.', - parameters: [ - { - label: 'nodes', - documentation: 'nodes :: LIST', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.refactor.mergeRelationships': { - label: 'apoc.refactor.mergeRelationships', - documentation: - 'Merges the given `LIST` onto the first `RELATIONSHIP` in the `LIST`.', - parameters: [ - { - label: 'rels', - documentation: 'rels :: LIST', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.refactor.normalizeAsBoolean': { - label: 'apoc.refactor.normalizeAsBoolean', - documentation: 'Refactors the given property to a `BOOLEAN`.', - parameters: [ - { - label: 'entity', - documentation: 'entity :: ANY', - }, - { - label: 'propertyKey', - documentation: 'propertyKey :: STRING', - }, - { - label: 'trueValues', - documentation: 'trueValues :: LIST', - }, - { - label: 'falseValues', - documentation: 'falseValues :: LIST', - }, - ], - }, - 'apoc.refactor.rename.label': { - label: 'apoc.refactor.rename.label', - documentation: - 'Renames the given label from `oldLabel` to `newLabel` for all `NODE` values.\nIf a `LIST` is provided, the renaming is applied to the `NODE` values within this `LIST` only.', - parameters: [ - { - label: 'oldLabel', - documentation: 'oldLabel :: STRING', - }, - { - label: 'newLabel', - documentation: 'newLabel :: STRING', - }, - { - label: 'nodes', - documentation: 'nodes = [] :: LIST', - }, - ], - }, - 'apoc.refactor.rename.nodeProperty': { - label: 'apoc.refactor.rename.nodeProperty', - documentation: - 'Renames the given property from `oldName` to `newName` for all `NODE` values.\nIf a `LIST` is provided, the renaming is applied to the `NODE` values within this `LIST` only.', - parameters: [ - { - label: 'oldName', - documentation: 'oldName :: STRING', - }, - { - label: 'newName', - documentation: 'newName :: STRING', - }, - { - label: 'nodes', - documentation: 'nodes = [] :: LIST', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.refactor.rename.type': { - label: 'apoc.refactor.rename.type', - documentation: - 'Renames all `RELATIONSHIP` values with type `oldType` to `newType`.\nIf a `LIST` is provided, the renaming is applied to the `RELATIONSHIP` values within this `LIST` only.', - parameters: [ - { - label: 'oldType', - documentation: 'oldType :: STRING', - }, - { - label: 'newType', - documentation: 'newType :: STRING', - }, - { - label: 'rels', - documentation: 'rels = [] :: LIST', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.refactor.rename.typeProperty': { - label: 'apoc.refactor.rename.typeProperty', - documentation: - 'Renames the given property from `oldName` to `newName` for all `RELATIONSHIP` values.\nIf a `LIST` is provided, the renaming is applied to the `RELATIONSHIP` values within this `LIST` only.', - parameters: [ - { - label: 'oldName', - documentation: 'oldName :: STRING', - }, - { - label: 'newName', - documentation: 'newName :: STRING', - }, - { - label: 'rels', - documentation: 'rels = [] :: LIST', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.refactor.setType': { - label: 'apoc.refactor.setType', - documentation: 'Changes the type of the given `RELATIONSHIP`.', - parameters: [ - { - label: 'rel', - documentation: 'rel :: RELATIONSHIP', - }, - { - label: 'newType', - documentation: 'newType :: STRING', - }, - ], - }, - 'apoc.refactor.to': { - label: 'apoc.refactor.to', - documentation: - 'Redirects the given `RELATIONSHIP` to the given end `NODE`.', - parameters: [ - { - label: 'rel', - documentation: 'rel :: RELATIONSHIP', - }, - { - label: 'endNode', - documentation: 'endNode :: NODE', - }, - ], - }, - 'apoc.schema.assert': { - label: 'apoc.schema.assert', - documentation: - 'Drops all other existing indexes and constraints when `dropExisting` is `true` (default is `true`).\nAsserts at the end of the operation that the given indexes and unique constraints are there.', - parameters: [ - { - label: 'indexes', - documentation: 'indexes :: MAP', - }, - { - label: 'constraints', - documentation: 'constraints :: MAP', - }, - { - label: 'dropExisting', - documentation: 'dropExisting = true :: BOOLEAN', - }, - ], - }, - 'apoc.schema.nodes': { - label: 'apoc.schema.nodes', - documentation: - 'Returns all indexes and constraints information for all `NODE` labels in the database.\nIt is possible to define a set of labels to include or exclude in the config parameters.', - parameters: [ - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.schema.properties.distinct': { - label: 'apoc.schema.properties.distinct', - documentation: - 'Returns all distinct `NODE` property values for the given key.', - parameters: [ - { - label: 'label', - documentation: 'label :: STRING', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - ], - }, - 'apoc.schema.properties.distinctCount': { - label: 'apoc.schema.properties.distinctCount', - documentation: - 'Returns all distinct property values and counts for the given key.', - parameters: [ - { - label: 'label', - documentation: 'label = :: STRING', - }, - { - label: 'key', - documentation: 'key = :: STRING', - }, - ], - }, - 'apoc.schema.relationships': { - label: 'apoc.schema.relationships', - documentation: - 'Returns the indexes and constraints information for all the relationship types in the database.\nIt is possible to define a set of relationship types to include or exclude in the config parameters.', - parameters: [ - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.search.multiSearchReduced': { - label: 'apoc.search.multiSearchReduced', - documentation: - 'Returns a reduced representation of the `NODE` values found after a parallel search over multiple indexes.\nThe reduced `NODE` values representation includes: node id, node labels, and the searched properties.', - parameters: [ - { - label: 'labelPropertyMap', - documentation: 'labelPropertyMap :: ANY', - }, - { - label: 'operator', - documentation: 'operator :: STRING', - }, - { - label: 'value', - documentation: 'value :: STRING', - }, - ], - }, - 'apoc.search.node': { - label: 'apoc.search.node', - documentation: - 'Returns all the distinct `NODE` values found after a parallel search over multiple indexes.', - parameters: [ - { - label: 'labelPropertyMap', - documentation: 'labelPropertyMap :: ANY', - }, - { - label: 'operator', - documentation: 'operator :: STRING', - }, - { - label: 'value', - documentation: 'value :: STRING', - }, - ], - }, - 'apoc.search.nodeAll': { - label: 'apoc.search.nodeAll', - documentation: - 'Returns all the `NODE` values found after a parallel search over multiple indexes.', - parameters: [ - { - label: 'labelPropertyMap', - documentation: 'labelPropertyMap :: ANY', - }, - { - label: 'operator', - documentation: 'operator :: STRING', - }, - { - label: 'value', - documentation: 'value :: STRING', - }, - ], - }, - 'apoc.search.nodeAllReduced': { - label: 'apoc.search.nodeAllReduced', - documentation: - 'Returns a reduced representation of the `NODE` values found after a parallel search over multiple indexes.\nThe reduced `NODE` values representation includes: node id, node labels, and the searched properties.', - parameters: [ - { - label: 'labelPropertyMap', - documentation: 'labelPropertyMap :: ANY', - }, - { - label: 'operator', - documentation: 'operator :: STRING', - }, - { - label: 'value', - documentation: 'value :: ANY', - }, - ], - }, - 'apoc.search.nodeReduced': { - label: 'apoc.search.nodeReduced', - documentation: - 'Returns a reduced representation of the distinct `NODE` values found after a parallel search over multiple indexes.\nThe reduced `NODE` values representation includes: node id, node labels, and the searched properties.', - parameters: [ - { - label: 'labelPropertyMap', - documentation: 'labelPropertyMap :: ANY', - }, - { - label: 'operator', - documentation: 'operator :: STRING', - }, - { - label: 'value', - documentation: 'value :: STRING', - }, - ], - }, - 'apoc.spatial.geocode': { - label: 'apoc.spatial.geocode', - documentation: - 'Returns the geographic location (latitude, longitude, and description) of the given address using a geocoding service (default: OpenStreetMap).', - parameters: [ - { - label: 'location', - documentation: 'location :: STRING', - }, - { - label: 'maxResults', - documentation: 'maxResults = 100 :: INTEGER', - }, - { - label: 'quotaException', - documentation: 'quotaException = false :: BOOLEAN', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.spatial.geocodeOnce': { - label: 'apoc.spatial.geocodeOnce', - documentation: - 'Returns the geographic location (latitude, longitude, and description) of the given address using a geocoding service (default: OpenStreetMap).\nThis procedure returns at most one result.', - parameters: [ - { - label: 'location', - documentation: 'location :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.spatial.reverseGeocode': { - label: 'apoc.spatial.reverseGeocode', - documentation: - 'Returns a textual address from the given geographic location (latitude, longitude) using a geocoding service (default: OpenStreetMap).\nThis procedure returns at most one result.', - parameters: [ - { - label: 'latitude', - documentation: 'latitude :: FLOAT', - }, - { - label: 'longitude', - documentation: 'longitude :: FLOAT', - }, - { - label: 'quotaException', - documentation: 'quotaException = false :: BOOLEAN', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.spatial.sortByDistance': { - label: 'apoc.spatial.sortByDistance', - documentation: - 'Sorts the given collection of `PATH` values by the sum of their distance based on the latitude/longitude values in the `NODE` values.', - parameters: [ - { - label: 'paths', - documentation: 'paths :: LIST', - }, - ], - }, - 'apoc.stats.degrees': { - label: 'apoc.stats.degrees', - documentation: - 'Returns the percentile groupings of the degrees on the `NODE` values connected by the given `RELATIONSHIP` types.', - parameters: [ - { - label: 'relTypes', - documentation: 'relTypes = :: STRING', - }, - ], - }, - 'apoc.text.phoneticDelta': { - label: 'apoc.text.phoneticDelta', - documentation: - 'Returns the US_ENGLISH soundex character difference between the two given `STRING` values.', - parameters: [ - { - label: 'text1', - documentation: 'text1 :: STRING', - }, - { - label: 'text2', - documentation: 'text2 :: STRING', - }, - ], - }, - 'apoc.trigger.add': { - label: 'apoc.trigger.add', - documentation: - "Adds a trigger to the given Cypher statement.\nThe selector for this procedure is {phase:'before/after/rollback/afterAsync'}.", - parameters: [ - { - label: 'name', - documentation: 'name :: STRING', - }, - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'selector', - documentation: 'selector :: MAP', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.trigger.drop': { - label: 'apoc.trigger.drop', - documentation: 'Eventually removes the given trigger.', - parameters: [ - { - label: 'databaseName', - documentation: 'databaseName :: STRING', - }, - { - label: 'name', - documentation: 'name :: STRING', - }, - ], - }, - 'apoc.trigger.dropAll': { - label: 'apoc.trigger.dropAll', - documentation: 'Eventually removes all triggers from the given database.', - parameters: [ - { - label: 'databaseName', - documentation: 'databaseName :: STRING', - }, - ], - }, - 'apoc.trigger.install': { - label: 'apoc.trigger.install', - documentation: - 'Eventually adds a trigger for a given database which is invoked when a successful transaction occurs.', - parameters: [ - { - label: 'databaseName', - documentation: 'databaseName :: STRING', - }, - { - label: 'name', - documentation: 'name :: STRING', - }, - { - label: 'statement', - documentation: 'statement :: STRING', - }, - { - label: 'selector', - documentation: 'selector :: MAP', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'apoc.trigger.list': { - label: 'apoc.trigger.list', - documentation: - 'Lists all currently installed triggers for the session database.', - parameters: [], - }, - 'apoc.trigger.pause': { - label: 'apoc.trigger.pause', - documentation: 'Pauses the given trigger.', - parameters: [ - { - label: 'name', - documentation: 'name :: STRING', - }, - ], - }, - 'apoc.trigger.remove': { - label: 'apoc.trigger.remove', - documentation: 'Removes the given trigger.', - parameters: [ - { - label: 'name', - documentation: 'name :: STRING', - }, - ], - }, - 'apoc.trigger.removeAll': { - label: 'apoc.trigger.removeAll', - documentation: 'Removes all previously added triggers.', - parameters: [], - }, - 'apoc.trigger.resume': { - label: 'apoc.trigger.resume', - documentation: 'Resumes the given paused trigger.', - parameters: [ - { - label: 'name', - documentation: 'name :: STRING', - }, - ], - }, - 'apoc.trigger.show': { - label: 'apoc.trigger.show', - documentation: 'Lists all eventually installed triggers for a database.', - parameters: [ - { - label: 'databaseName', - documentation: 'databaseName :: STRING', - }, - ], - }, - 'apoc.trigger.start': { - label: 'apoc.trigger.start', - documentation: 'Eventually restarts the given paused trigger.', - parameters: [ - { - label: 'databaseName', - documentation: 'databaseName :: STRING', - }, - { - label: 'name', - documentation: 'name :: STRING', - }, - ], - }, - 'apoc.trigger.stop': { - label: 'apoc.trigger.stop', - documentation: 'Eventually stops the given trigger.', - parameters: [ - { - label: 'databaseName', - documentation: 'databaseName :: STRING', - }, - { - label: 'name', - documentation: 'name :: STRING', - }, - ], - }, - 'apoc.util.sleep': { - label: 'apoc.util.sleep', - documentation: - 'Causes the currently running Cypher to sleep for the given duration of milliseconds (the transaction termination is honored).', - parameters: [ - { - label: 'duration', - documentation: 'duration :: INTEGER', - }, - ], - }, - 'apoc.util.validate': { - label: 'apoc.util.validate', - documentation: 'If the given predicate is true an exception is thrown.', - parameters: [ - { - label: 'predicate', - documentation: 'predicate :: BOOLEAN', - }, - { - label: 'message', - documentation: 'message :: STRING', - }, - { - label: 'params', - documentation: 'params :: LIST', - }, - ], - }, - 'apoc.warmup.run': { - label: 'apoc.warmup.run', - documentation: - 'Loads all `NODE` and `RELATIONSHIP` values in the database into memory.', - parameters: [ - { - label: 'loadProperties', - documentation: 'loadProperties = false :: BOOLEAN', - }, - { - label: 'loadDynamicProperties', - documentation: 'loadDynamicProperties = false :: BOOLEAN', - }, - { - label: 'loadIndexes', - documentation: 'loadIndexes = false :: BOOLEAN', - }, - ], - }, - 'apoc.when': { - label: 'apoc.when', - documentation: - 'This procedure will run the read-only `ifQuery` if the conditional has evaluated to true, otherwise the `elseQuery` will run.', - parameters: [ - { - label: 'condition', - documentation: 'condition :: BOOLEAN', - }, - { - label: 'ifQuery', - documentation: 'ifQuery :: STRING', - }, - { - label: 'elseQuery', - documentation: 'elseQuery = :: STRING', - }, - { - label: 'params', - documentation: 'params = {} :: MAP', - }, - ], - }, - 'cdc.current': { - label: 'cdc.current', - documentation: - 'Returns the current change identifier that can be used to stream changes from.', - parameters: [], - }, - 'cdc.earliest': { - label: 'cdc.earliest', - documentation: - 'Returns the earliest change identifier that can be used to stream changes from.', - parameters: [], - }, - 'cdc.query': { - label: 'cdc.query', - documentation: - 'Query changes happened from the provided change identifier.', - parameters: [ - { - label: 'from', - documentation: 'from = :: STRING', - }, - { - label: 'selectors', - documentation: 'selectors = [] :: LIST', - }, - ], - }, - 'db.awaitIndex': { - label: 'db.awaitIndex', - documentation: - 'Wait for an index to come online (for example: CALL db.awaitIndex("MyIndex", 300)).', - parameters: [ - { - label: 'indexName', - documentation: 'indexName :: STRING', - }, - { - label: 'timeOutSeconds', - documentation: 'timeOutSeconds = 300 :: INTEGER', - }, - ], - }, - 'db.awaitIndexes': { - label: 'db.awaitIndexes', - documentation: - 'Wait for all indexes to come online (for example: CALL db.awaitIndexes(300)).', - parameters: [ - { - label: 'timeOutSeconds', - documentation: 'timeOutSeconds = 300 :: INTEGER', - }, - ], - }, - 'db.checkpoint': { - label: 'db.checkpoint', - documentation: - 'Initiate and wait for a new check point, or wait any already on-going check point to complete. Note that this temporarily disables the `db.checkpoint.iops.limit` setting in order to make the check point complete faster. This might cause transaction throughput to degrade slightly, due to increased IO load.', - parameters: [], - }, - 'db.clearQueryCaches': { - label: 'db.clearQueryCaches', - documentation: 'Clears all query caches.', - parameters: [], - }, - 'db.create.setNodeVectorProperty': { - label: 'db.create.setNodeVectorProperty', - documentation: - "Set a vector property on a given node in a more space efficient representation than Cypher's SET.", - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - { - label: 'vector', - documentation: 'vector :: LIST', - }, - ], - }, - 'db.create.setVectorProperty': { - label: 'db.create.setVectorProperty', - documentation: - "Set a vector property on a given node in a more space efficient representation than Cypher's SET.", - parameters: [ - { - label: 'node', - documentation: 'node :: NODE', - }, - { - label: 'key', - documentation: 'key :: STRING', - }, - { - label: 'vector', - documentation: 'vector :: LIST', - }, - ], - }, - 'db.createLabel': { - label: 'db.createLabel', - documentation: 'Create a label', - parameters: [ - { - label: 'newLabel', - documentation: 'newLabel :: STRING', - }, - ], - }, - 'db.createProperty': { - label: 'db.createProperty', - documentation: 'Create a Property', - parameters: [ - { - label: 'newProperty', - documentation: 'newProperty :: STRING', - }, - ], - }, - 'db.createRelationshipType': { - label: 'db.createRelationshipType', - documentation: 'Create a RelationshipType', - parameters: [ - { - label: 'newRelationshipType', - documentation: 'newRelationshipType :: STRING', - }, - ], - }, - 'db.index.fulltext.awaitEventuallyConsistentIndexRefresh': { - label: 'db.index.fulltext.awaitEventuallyConsistentIndexRefresh', - documentation: - 'Wait for the updates from recently committed transactions to be applied to any eventually-consistent full-text indexes.', - parameters: [], - }, - 'db.index.fulltext.listAvailableAnalyzers': { - label: 'db.index.fulltext.listAvailableAnalyzers', - documentation: - 'List the available analyzers that the full-text indexes can be configured with.', - parameters: [], - }, - 'db.index.fulltext.queryNodes': { - label: 'db.index.fulltext.queryNodes', - documentation: - "Query the given full-text index. Returns the matching nodes, and their Lucene query score, ordered by score. Valid keys for the options map are: 'skip' to skip the top N results; 'limit' to limit the number of results returned; 'analyzer' to use the specified analyzer as a search analyzer for this query.", - parameters: [ - { - label: 'indexName', - documentation: 'indexName :: STRING', - }, - { - label: 'queryString', - documentation: 'queryString :: STRING', - }, - { - label: 'options', - documentation: 'options = {} :: MAP', - }, - ], - }, - 'db.index.fulltext.queryRelationships': { - label: 'db.index.fulltext.queryRelationships', - documentation: - "Query the given full-text index. Returns the matching relationships, and their Lucene query score, ordered by score. Valid keys for the options map are: 'skip' to skip the top N results; 'limit' to limit the number of results returned; 'analyzer' to use the specified analyzer as search analyzer for this query.", - parameters: [ - { - label: 'indexName', - documentation: 'indexName :: STRING', - }, - { - label: 'queryString', - documentation: 'queryString :: STRING', - }, - { - label: 'options', - documentation: 'options = {} :: MAP', - }, - ], - }, - 'db.index.vector.createNodeIndex': { - label: 'db.index.vector.createNodeIndex', - documentation: - "Create a named node vector index for the given label and property for a specified vector dimensionality.\nValid similarity functions are 'EUCLIDEAN' and 'COSINE', and are case-insensitive.\nUse the `db.index.vector.queryNodes` procedure to query the named index.\n", - parameters: [ - { - label: 'indexName', - documentation: 'indexName :: STRING', - }, - { - label: 'label', - documentation: 'label :: STRING', - }, - { - label: 'propertyKey', - documentation: 'propertyKey :: STRING', - }, - { - label: 'vectorDimension', - documentation: 'vectorDimension :: INTEGER', - }, - { - label: 'vectorSimilarityFunction', - documentation: 'vectorSimilarityFunction :: STRING', - }, - ], - }, - 'db.index.vector.queryNodes': { - label: 'db.index.vector.queryNodes', - documentation: - 'Query the given vector index.\nReturns requested number of nearest neighbors to the provided query vector,\nand their similarity score to that query vector, based on the configured similarity function for the index.\nThe similarity score is a value between [0, 1]; where 0 indicates least similar, 1 most similar.\n', - parameters: [ - { - label: 'indexName', - documentation: 'indexName :: STRING', - }, - { - label: 'numberOfNearestNeighbours', - documentation: 'numberOfNearestNeighbours :: INTEGER', - }, - { - label: 'query', - documentation: 'query :: LIST', - }, - ], - }, - 'db.info': { - label: 'db.info', - documentation: 'Provides information regarding the database.', - parameters: [], - }, - 'db.labels': { - label: 'db.labels', - documentation: - "List all labels attached to nodes within a database according to the user's access rights. The procedure returns empty results if the user is not authorized to view those labels.", - parameters: [], - }, - 'db.listLocks': { - label: 'db.listLocks', - documentation: 'List all locks at this database.', - parameters: [], - }, - 'db.ping': { - label: 'db.ping', - documentation: - 'This procedure can be used by client side tooling to test whether they are correctly connected to a database. The procedure is available in all databases and always returns true. A faulty connection can be detected by not being able to call this procedure.', - parameters: [], - }, - 'db.prepareForReplanning': { - label: 'db.prepareForReplanning', - documentation: - 'Triggers an index resample and waits for it to complete, and after that clears query caches. After this procedure has finished queries will be planned using the latest database statistics.', - parameters: [ - { - label: 'timeOutSeconds', - documentation: 'timeOutSeconds = 300 :: INTEGER', - }, - ], - }, - 'db.propertyKeys': { - label: 'db.propertyKeys', - documentation: 'List all property keys in the database.', - parameters: [], - }, - 'db.relationshipTypes': { - label: 'db.relationshipTypes', - documentation: - "List all types attached to relationships within a database according to the user's access rights. The procedure returns empty results if the user is not authorized to view those relationship types.", - parameters: [], - }, - 'db.resampleIndex': { - label: 'db.resampleIndex', - documentation: - 'Schedule resampling of an index (for example: CALL db.resampleIndex("MyIndex")).', - parameters: [ - { - label: 'indexName', - documentation: 'indexName :: STRING', - }, - ], - }, - 'db.resampleOutdatedIndexes': { - label: 'db.resampleOutdatedIndexes', - documentation: 'Schedule resampling of all outdated indexes.', - parameters: [], - }, - 'db.schema.nodeTypeProperties': { - label: 'db.schema.nodeTypeProperties', - documentation: - 'Show the derived property schema of the nodes in tabular form.', - parameters: [], - }, - 'db.schema.relTypeProperties': { - label: 'db.schema.relTypeProperties', - documentation: - 'Show the derived property schema of the relationships in tabular form.', - parameters: [], - }, - 'db.schema.visualization': { - label: 'db.schema.visualization', - documentation: - 'Visualizes the schema of the data based on available statistics. A new node is returned for each label. The properties represented on the node include: `name` (label name), `indexes` (list of indexes), and `constraints` (list of constraints). A relationship of a given type is returned for all possible combinations of start and end nodes. The properties represented on the relationship include: `name` (type name). Note that this may include additional relationships that do not exist in the data due to the information available in the count store. ', - parameters: [], - }, - 'db.stats.clear': { - label: 'db.stats.clear', - documentation: - "Clear collected data of a given data section. Valid sections are 'QUERIES'", - parameters: [ - { - label: 'section', - documentation: 'section :: STRING', - }, - ], - }, - 'db.stats.collect': { - label: 'db.stats.collect', - documentation: - "Start data collection of a given data section. Valid sections are 'QUERIES'", - parameters: [ - { - label: 'section', - documentation: 'section :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'db.stats.retrieve': { - label: 'db.stats.retrieve', - documentation: - "Retrieve statistical data about the current database. Valid sections are 'GRAPH COUNTS', 'TOKENS', 'QUERIES', 'META'", - parameters: [ - { - label: 'section', - documentation: 'section :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'db.stats.retrieveAllAnonymized': { - label: 'db.stats.retrieveAllAnonymized', - documentation: - 'Retrieve all available statistical data about the current database, in an anonymized form.', - parameters: [ - { - label: 'graphToken', - documentation: 'graphToken :: STRING', - }, - { - label: 'config', - documentation: 'config = {} :: MAP', - }, - ], - }, - 'db.stats.status': { - label: 'db.stats.status', - documentation: - 'Retrieve the status of all available collector daemons, for this database.', - parameters: [], - }, - 'db.stats.stop': { - label: 'db.stats.stop', - documentation: - "Stop data collection of a given data section. Valid sections are 'QUERIES'", - parameters: [ - { - label: 'section', - documentation: 'section :: STRING', - }, - ], - }, - 'dbms.checkConfigValue': { - label: 'dbms.checkConfigValue', - documentation: 'Check if a potential config setting value is valid.', - parameters: [ - { - label: 'setting', - documentation: 'setting :: STRING', - }, - { - label: 'value', - documentation: 'value :: STRING', - }, - ], - }, - 'dbms.cluster.checkConnectivity': { - label: 'dbms.cluster.checkConnectivity', - documentation: - "Check the connectivity of this instance to other cluster members. Not all ports are relevant to all members. Valid values for 'port-name' are: [CLUSTER, RAFT]", - parameters: [ - { - label: 'port-name', - documentation: 'port-name = null :: STRING', - }, - { - label: 'server', - documentation: 'server = null :: STRING', - }, - ], - }, - 'dbms.cluster.cordonServer': { - label: 'dbms.cluster.cordonServer', - documentation: - 'Mark a server in the topology as not suitable for new allocations. It will not force current allocations off the server. This is useful when deallocating databases when you have multiple unavailable servers.', - parameters: [ - { - label: 'server', - documentation: 'server :: STRING', - }, - ], - }, - 'dbms.cluster.protocols': { - label: 'dbms.cluster.protocols', - documentation: 'Overview of installed protocols', - parameters: [], - }, - 'dbms.cluster.readReplicaToggle': { - label: 'dbms.cluster.readReplicaToggle', - documentation: - 'The toggle can pause or resume read replica (deprecated in favor of dbms.cluster.secondaryReplicationDisable)', - parameters: [ - { - label: 'databaseName', - documentation: 'databaseName :: STRING', - }, - { - label: 'pause', - documentation: 'pause :: BOOLEAN', - }, - ], - }, - 'dbms.cluster.routing.getRoutingTable': { - label: 'dbms.cluster.routing.getRoutingTable', - documentation: - "Returns the advertised bolt capable endpoints for a given database, divided by each endpoint's capabilities. For example, an endpoint may serve read queries, write queries, and/or future `getRoutingTable` requests.", - parameters: [ - { - label: 'context', - documentation: 'context :: MAP', - }, - { - label: 'database', - documentation: 'database = null :: STRING', - }, - ], - }, - 'dbms.cluster.secondaryReplicationDisable': { - label: 'dbms.cluster.secondaryReplicationDisable', - documentation: - 'The toggle can pause or resume the secondary replication process.', - parameters: [ - { - label: 'databaseName', - documentation: 'databaseName :: STRING', - }, - { - label: 'pause', - documentation: 'pause :: BOOLEAN', - }, - ], - }, - 'dbms.cluster.setAutomaticallyEnableFreeServers': { - label: 'dbms.cluster.setAutomaticallyEnableFreeServers', - documentation: - 'With this method you can set whether free servers are automatically enabled.', - parameters: [ - { - label: 'autoEnable', - documentation: 'autoEnable :: BOOLEAN', - }, - ], - }, - 'dbms.cluster.uncordonServer': { - label: 'dbms.cluster.uncordonServer', - documentation: - "Remove the cordon on a server, returning it to 'enabled'.", - parameters: [ - { - label: 'server', - documentation: 'server :: STRING', - }, - ], - }, - 'dbms.components': { - label: 'dbms.components', - documentation: 'List DBMS components and their versions.', - parameters: [], - }, - 'dbms.info': { - label: 'dbms.info', - documentation: 'Provides information regarding the DBMS.', - parameters: [], - }, - 'dbms.killConnection': { - label: 'dbms.killConnection', - documentation: 'Kill network connection with the given connection id.', - parameters: [ - { - label: 'id', - documentation: 'id :: STRING', - }, - ], - }, - 'dbms.killConnections': { - label: 'dbms.killConnections', - documentation: - 'Kill all network connections with the given connection ids.', - parameters: [ - { - label: 'ids', - documentation: 'ids :: LIST', - }, - ], - }, - 'dbms.listActiveLocks': { - label: 'dbms.listActiveLocks', - documentation: - 'List the active lock requests granted for the transaction executing the query with the given query id.', - parameters: [ - { - label: 'queryId', - documentation: 'queryId :: STRING', - }, - ], - }, - 'dbms.listCapabilities': { - label: 'dbms.listCapabilities', - documentation: 'List capabilities.', - parameters: [], - }, - 'dbms.listConfig': { - label: 'dbms.listConfig', - documentation: - 'List the currently active configuration settings of Neo4j.', - parameters: [ - { - label: 'searchString', - documentation: 'searchString = :: STRING', - }, - ], - }, - 'dbms.listConnections': { - label: 'dbms.listConnections', - documentation: - 'List all accepted network connections at this instance that are visible to the user.', - parameters: [], - }, - 'dbms.listPools': { - label: 'dbms.listPools', - documentation: - 'List all memory pools, including sub pools, currently registered at this instance that are visible to the user.', - parameters: [], - }, - 'dbms.quarantineDatabase': { - label: 'dbms.quarantineDatabase', - documentation: 'Place a database into quarantine or remove it from it.', - parameters: [ - { - label: 'databaseName', - documentation: 'databaseName :: STRING', - }, - { - label: 'setStatus', - documentation: 'setStatus :: BOOLEAN', - }, - { - label: 'reason', - documentation: 'reason = No reason given :: STRING', - }, - ], - }, - 'dbms.queryJmx': { - label: 'dbms.queryJmx', - documentation: - 'Query JMX management data by domain and name. For instance, use `*:*` to find all JMX beans.', - parameters: [ - { - label: 'query', - documentation: 'query :: STRING', - }, - ], - }, - 'dbms.routing.getRoutingTable': { - label: 'dbms.routing.getRoutingTable', - documentation: - "Returns the advertised bolt capable endpoints for a given database, divided by each endpoint's capabilities. For example, an endpoint may serve read queries, write queries, and/or future `getRoutingTable` requests.", - parameters: [ - { - label: 'context', - documentation: 'context :: MAP', - }, - { - label: 'database', - documentation: 'database = null :: STRING', - }, - ], - }, - 'dbms.scheduler.failedJobs': { - label: 'dbms.scheduler.failedJobs', - documentation: - 'List failed job runs. There is a limit for amount of historical data.', - parameters: [], - }, - 'dbms.scheduler.groups': { - label: 'dbms.scheduler.groups', - documentation: - 'List the job groups that are active in the database internal job scheduler.', - parameters: [], - }, - 'dbms.scheduler.jobs': { - label: 'dbms.scheduler.jobs', - documentation: - 'List all jobs that are active in the database internal job scheduler.', - parameters: [], - }, - 'dbms.security.clearAuthCache': { - label: 'dbms.security.clearAuthCache', - documentation: 'Clears authentication and authorization cache.', - parameters: [], - }, - 'dbms.setConfigValue': { - label: 'dbms.setConfigValue', - documentation: - 'Update a given setting value. Passing an empty value results in removing the configured value and falling back to the default value. Changes do not persist and are lost if the server is restarted. In a clustered environment, `dbms.setConfigValue` affects only the cluster member it is run against.', - parameters: [ - { - label: 'setting', - documentation: 'setting :: STRING', - }, - { - label: 'value', - documentation: 'value :: STRING', - }, - ], - }, - 'dbms.setDatabaseAllocator': { - label: 'dbms.setDatabaseAllocator', - documentation: - 'With this method you can set the allocator that is responsible for selecting servers for hosting databases.', - parameters: [ - { - label: 'allocator', - documentation: 'allocator :: STRING', - }, - ], - }, - 'dbms.setDefaultAllocationNumbers': { - label: 'dbms.setDefaultAllocationNumbers', - documentation: - 'With this method you can set the default number of primaries and secondaries.', - parameters: [ - { - label: 'primaries', - documentation: 'primaries :: INTEGER', - }, - { - label: 'secondaries', - documentation: 'secondaries :: INTEGER', - }, - ], - }, - 'dbms.setDefaultDatabase': { - label: 'dbms.setDefaultDatabase', - documentation: - 'Change the default database to the provided value. The database must exist and the old default database must be stopped.', - parameters: [ - { - label: 'databaseName', - documentation: 'databaseName :: STRING', - }, - ], - }, - 'dbms.showCurrentUser': { - label: 'dbms.showCurrentUser', - documentation: 'Show the current user.', - parameters: [], - }, - 'dbms.showTopologyGraphConfig': { - label: 'dbms.showTopologyGraphConfig', - documentation: - 'With this method the configuration of the Topology Graph can be displayed.', - parameters: [], - }, - 'dbms.upgrade': { - label: 'dbms.upgrade', - documentation: - 'Upgrade the system database schema if it is not the current schema.', - parameters: [], - }, - 'dbms.upgradeStatus': { - label: 'dbms.upgradeStatus', - documentation: - 'Report the current status of the system database sub-graph schema.', - parameters: [], - }, - 'tx.getMetaData': { - label: 'tx.getMetaData', - documentation: 'Provides attached transaction metadata.', - parameters: [], - }, - 'tx.setMetaData': { - label: 'tx.setMetaData', - documentation: - 'Attaches a map of data to the transaction. The data will be printed when listing queries, and inserted into the query log.', - parameters: [ - { - label: 'data', - documentation: 'data :: MAP', - }, - ], - }, - }, - labels: ['Movie', 'Person'], - relationshipTypes: [ - 'ACTED_IN', - 'DIRECTED', - 'FOLLOWS', - 'PRODUCED', - 'REVIEWED', - 'WROTE', - ], - propertyKeys: [ - 'born', - 'data', - 'id', - 'name', - 'nodes', - 'rating', - 'relationships', - 'released', - 'roles', - 'style', - 'summary', - 'tagline', - 'title', - 'visualisation', - ], - parameters: { - param1: { - property: 'value', - speed: 123.4, - }, - favColor: 'green', - myParam: 1337, - }, - databaseNames: ['neo4j', 'oskar', 'system'], - aliasNames: ['alias2', 'testalias'], -}; diff --git a/packages/react-codemirror/src/e2e_tests/performance-test.spec.tsx b/packages/react-codemirror/src/e2e_tests/performance-test.spec.tsx index 3c530aadc..15d07a5db 100644 --- a/packages/react-codemirror/src/e2e_tests/performance-test.spec.tsx +++ b/packages/react-codemirror/src/e2e_tests/performance-test.spec.tsx @@ -1,7 +1,7 @@ +import { testData } from '@neo4j-cypher/language-support'; import { expect, test } from '@playwright/experimental-ct-react'; import { CypherEditor } from '../CypherEditor'; import { CypherEditorPage } from './e2e-utils'; -import { largeQuery, mockSchema } from './mock-data'; test.use({ viewport: { width: 1000, height: 500 } }); declare global { @@ -31,7 +31,12 @@ test('benchmarking & performance test session', async ({ mount, page }) => { } const editorPage = new CypherEditorPage(page); const component = await mount( - , + , ); // pressSequentially is less efficient -> we want to test the performance of the editor @@ -42,27 +47,33 @@ test('benchmarking & performance test session', async ({ mount, page }) => { // set and unset large query a few times await component.update( - , + , + ); + await component.update( + , ); - await component.update(); await component.update( - , + , ); await component.update(); await component.update( - , + , + ); + await component.update( + , ); - await component.update(); await component.update( - , + , + ); + await component.update( + , ); - await component.update(); await component.update( - , + , ); await editorPage.getEditor().pressSequentially(` diff --git a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx index 69260905d..da152f32d 100644 --- a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx +++ b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx @@ -1,7 +1,7 @@ +import { testData } from '@neo4j-cypher/language-support'; import { expect, test } from '@playwright/experimental-ct-react'; import { Locator } from 'playwright/test'; import { CypherEditor } from '../CypherEditor'; -import { mockSchema } from './mock-data'; test.use({ viewport: { width: 1000, height: 500 } }); @@ -43,7 +43,7 @@ test('Prop signatureHelp set to false disables signature help for functions', as , ); @@ -65,7 +65,7 @@ test('Prop signatureHelp set to true disables signature help for procedures', as , ); @@ -87,7 +87,7 @@ test('Prop signatureHelp set to true enables signature help', async ({ , ); @@ -104,7 +104,11 @@ test('Prop signatureHelp enables signature help by default', async ({ const query = 'CALL apoc.import.csv('; await mount( - , + , ); await expect(page.locator('.cm-tooltip-signature-help').last()).toBeVisible({ @@ -122,7 +126,7 @@ test('Signature help set shows the description for the first argument', async ({ , ); @@ -147,7 +151,7 @@ test('Signature help set shows the description for the second argument', async ( , ); @@ -172,7 +176,7 @@ test('Signature help set shows description for arguments with a space following , ); @@ -197,7 +201,7 @@ test('Signature help set shows the description for the third argument', async ({ , ); @@ -222,7 +226,7 @@ test('Signature help only shows the description pass the last argument', async ( , ); @@ -247,7 +251,7 @@ test('Signature help does not show any help when method finished', async ({ , ); @@ -269,7 +273,7 @@ test('Signature help does not blow up on empty query', async ({ , ); diff --git a/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts b/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts index 21e80610f..efe062f4c 100644 --- a/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts +++ b/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts @@ -1,3 +1,4 @@ +import { testData } from '@neo4j-cypher/language-support'; import * as assert from 'assert'; import * as vscode from 'vscode'; import { eventually, getDocumentUri, openDocument } from '../helpers'; @@ -60,19 +61,7 @@ suite('Signature help spec', () => { // We don't test the active signature, otherwise we would have to modify // these tests every time a new function is added to the database activeSignature: undefined, - signatures: [ - { - label: 'abs', - documentation: - 'Returns the absolute value of an `INTEGER` or `FLOAT`.', - parameters: [ - { - label: 'input', - documentation: 'input :: INTEGER | FLOAT', - }, - ], - }, - ], + signatures: [testData.mockSchema.functionSignatures.abs], }; await testSignatureHelp({ From 1ca14dfb9a99fd7033f00db76c75e858f458b1a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Fri, 5 Jan 2024 13:55:35 +0100 Subject: [PATCH 13/19] Adds more tests for VSCode integration --- .../src/e2e_tests/signature-help.spec.tsx | 10 +-- .../fixtures/signature-help-function.cypher | 2 - .../e2e_tests/fixtures/signature-help.cypher | 3 + packages/vscode-extension/e2e_tests/main.ts | 1 + .../vscode-extension/e2e_tests/testRunner.ts | 2 +- .../e2e_tests/tests/signature-help.spec.ts | 74 ++++++++++++++++++- 6 files changed, 80 insertions(+), 12 deletions(-) delete mode 100644 packages/vscode-extension/e2e_tests/fixtures/signature-help-function.cypher create mode 100644 packages/vscode-extension/e2e_tests/fixtures/signature-help.cypher diff --git a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx index da152f32d..3a7f409a8 100644 --- a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx +++ b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx @@ -116,7 +116,7 @@ test('Prop signatureHelp enables signature help by default', async ({ }); }); -test('Signature help set shows the description for the first argument', async ({ +test('Signature help shows the description for the first argument', async ({ page, mount, }) => { @@ -141,7 +141,7 @@ test('Signature help set shows the description for the first argument', async ({ }); }); -test('Signature help set shows the description for the second argument', async ({ +test('Signature help shows the description for the second argument', async ({ page, mount, }) => { @@ -166,7 +166,7 @@ test('Signature help set shows the description for the second argument', async ( }); }); -test('Signature help set shows description for arguments with a space following a separator', async ({ +test('Signature help shows description for arguments with a space following a separator', async ({ page, mount, }) => { @@ -191,7 +191,7 @@ test('Signature help set shows description for arguments with a space following }); }); -test('Signature help set shows the description for the third argument', async ({ +test('Signature help shows the description for the third argument', async ({ page, mount, }) => { @@ -216,7 +216,7 @@ test('Signature help set shows the description for the third argument', async ({ }); }); -test('Signature help only shows the description pass the last argument', async ({ +test('Signature help only shows the description past the last argument', async ({ page, mount, }) => { diff --git a/packages/vscode-extension/e2e_tests/fixtures/signature-help-function.cypher b/packages/vscode-extension/e2e_tests/fixtures/signature-help-function.cypher deleted file mode 100644 index 22a2b4325..000000000 --- a/packages/vscode-extension/e2e_tests/fixtures/signature-help-function.cypher +++ /dev/null @@ -1,2 +0,0 @@ -RETURN abs() -CALL apoc.import.csv(nodes, rels, config) \ No newline at end of file diff --git a/packages/vscode-extension/e2e_tests/fixtures/signature-help.cypher b/packages/vscode-extension/e2e_tests/fixtures/signature-help.cypher new file mode 100644 index 000000000..b17673662 --- /dev/null +++ b/packages/vscode-extension/e2e_tests/fixtures/signature-help.cypher @@ -0,0 +1,3 @@ +RETURN abs() +CALL apoc.import.csv(nodes, rels, config) +CALL apoc.import.csv(nodes, rels, config, other) \ No newline at end of file diff --git a/packages/vscode-extension/e2e_tests/main.ts b/packages/vscode-extension/e2e_tests/main.ts index de843c29c..fa06983d6 100644 --- a/packages/vscode-extension/e2e_tests/main.ts +++ b/packages/vscode-extension/e2e_tests/main.ts @@ -28,6 +28,7 @@ async function main() { // just in case we leave it open const container = await new Neo4jContainer('neo4j:5') .withExposedPorts(7474, 7687) + .withApoc() .withPassword(password) .start(); diff --git a/packages/vscode-extension/e2e_tests/testRunner.ts b/packages/vscode-extension/e2e_tests/testRunner.ts index fe7091e30..2e9e1a5e3 100644 --- a/packages/vscode-extension/e2e_tests/testRunner.ts +++ b/packages/vscode-extension/e2e_tests/testRunner.ts @@ -9,7 +9,7 @@ export function run(): Promise { ui: 'tdd', color: true, }); - mocha.timeout(10000000); + mocha.timeout(10000); const testsRoot = __dirname; diff --git a/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts b/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts index efe062f4c..3ffb87ee9 100644 --- a/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts +++ b/packages/vscode-extension/e2e_tests/tests/signature-help.spec.ts @@ -26,7 +26,7 @@ export async function testSignatureHelp({ position, ); - assert.equal(signatureHelp.activeParameter, 0); + assert.equal(signatureHelp.activeParameter, expected.activeParameter); expected.signatures.forEach((expectedSignature) => { const foundSignature = signatureHelp.signatures.find((signature) => { @@ -53,8 +53,8 @@ export async function testSignatureHelp({ } suite('Signature help spec', () => { - test('Triggers signature help for first argument of functions', async () => { - const position = new vscode.Position(0, 12); + test('Signature help works for functions', async () => { + const position = new vscode.Position(0, 11); const expected: vscode.SignatureHelp = { activeParameter: 0, @@ -65,7 +65,73 @@ suite('Signature help spec', () => { }; await testSignatureHelp({ - textFile: 'signature-help-function.cypher', + textFile: 'signature-help.cypher', + position: position, + expected: expected, + }); + }); + + test('Signature help works for procedures', async () => { + const position = new vscode.Position(1, 21); + + const expected: vscode.SignatureHelp = { + activeParameter: 0, + activeSignature: undefined, + signatures: [testData.mockSchema.procedureSignatures['apoc.import.csv']], + }; + + await testSignatureHelp({ + textFile: 'signature-help.cypher', + position: position, + expected: expected, + }); + }); + + test('Signature help works when changing arguments', async () => { + const position = new vscode.Position(1, 27); + + const expected: vscode.SignatureHelp = { + activeParameter: 1, + activeSignature: undefined, + signatures: [testData.mockSchema.procedureSignatures['apoc.import.csv']], + }; + + await testSignatureHelp({ + textFile: 'signature-help.cypher', + position: position, + expected: expected, + }); + }); + + test('Signature help works for arguments with a space following a separator', async () => { + const position = new vscode.Position(1, 28); + + const expected: vscode.SignatureHelp = { + activeParameter: 1, + activeSignature: undefined, + signatures: [testData.mockSchema.procedureSignatures['apoc.import.csv']], + }; + + await testSignatureHelp({ + textFile: 'signature-help.cypher', + position: position, + expected: expected, + }); + }); + + test('Signature help only shows the description past the last argument', async () => { + const position = new vscode.Position(2, 42); + + const expected: vscode.SignatureHelp = { + // This is what would make it show only the function description + // since there are only 3 arguments in the signature and the last index is 2 + activeParameter: 3, + activeSignature: undefined, + signatures: [testData.mockSchema.procedureSignatures['apoc.import.csv']], + }; + + await testSignatureHelp({ + textFile: 'signature-help.cypher', position: position, expected: expected, }); From c4b65e82d4ef2f9523e56b999fbb8b536fde7199 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Fri, 5 Jan 2024 16:20:57 +0100 Subject: [PATCH 14/19] Prevents several containers from being spun up --- packages/vscode-extension/e2e_tests/main.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/vscode-extension/e2e_tests/main.ts b/packages/vscode-extension/e2e_tests/main.ts index fa06983d6..c73d07514 100644 --- a/packages/vscode-extension/e2e_tests/main.ts +++ b/packages/vscode-extension/e2e_tests/main.ts @@ -24,12 +24,14 @@ function updateSettingsFile(port: number, password: string) { async function main() { const password = 'password'; - // TODO Nacho Give this container a name and see whether we can clean it up - // just in case we leave it open const container = await new Neo4jContainer('neo4j:5') .withExposedPorts(7474, 7687) .withApoc() .withPassword(password) + // Giving it a name prevents us from spinning up a different + // container every time we run the tests and allows us + // closing a lingering one when the tests finish + .withName('vscode-integration-tests') .start(); const port = container.getMappedPort(7687); From 3af12ed486b069665f2ca130958317bbe7215985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Tue, 16 Jan 2024 10:54:28 +0000 Subject: [PATCH 15/19] Cleans up --- packages/vscode-extension/e2e_tests/helpers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vscode-extension/e2e_tests/helpers.ts b/packages/vscode-extension/e2e_tests/helpers.ts index 63b2ef300..3f14f8620 100644 --- a/packages/vscode-extension/e2e_tests/helpers.ts +++ b/packages/vscode-extension/e2e_tests/helpers.ts @@ -22,7 +22,7 @@ export function getDocumentUri(docName: string) { export async function eventually( assertion: () => Promise, - timeoutMs = 100000000, + timeoutMs = 10000, backoffMs = 100, ) { let totalWait = 0; From f63c123efe40d6a4f5dc2416f768469108a4eeea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Fri, 19 Jan 2024 10:53:56 +0000 Subject: [PATCH 16/19] Remove signatureHelp prop --- packages/react-codemirror/src/CypherEditor.tsx | 11 +---------- .../src/e2e_tests/signature-help.spec.tsx | 10 ---------- .../src/lang-cypher/signature-help.ts | 14 +++++++++++--- 3 files changed, 12 insertions(+), 23 deletions(-) diff --git a/packages/react-codemirror/src/CypherEditor.tsx b/packages/react-codemirror/src/CypherEditor.tsx index 24e1509b5..f80930041 100644 --- a/packages/react-codemirror/src/CypherEditor.tsx +++ b/packages/react-codemirror/src/CypherEditor.tsx @@ -69,12 +69,6 @@ export interface CypherEditorProps { * @default true */ lint?: boolean; - /** - * Whether the editor should perform signature help. - * - * @default true - */ - signatureHelp?: boolean; /** * The schema to use for autocompletion and linting. * @@ -177,7 +171,6 @@ export class CypherEditor extends Component { static defaultProps: CypherEditorProps = { lint: true, - signatureHelp: true, schema: {}, overrideThemeBackgroundColor: false, lineWrap: false, @@ -194,12 +187,11 @@ export class CypherEditor extends Component { overrideThemeBackgroundColor, schema, lint, - signatureHelp, onChange, onExecute, } = this.props; - this.schemaRef.current = { schema, lint, signatureHelp }; + this.schemaRef.current = { schema, lint }; const themeExtension = getThemeExtension( theme, @@ -329,7 +321,6 @@ export class CypherEditor extends Component { */ this.schemaRef.current.schema = this.props.schema; this.schemaRef.current.lint = this.props.lint; - this.schemaRef.current.signatureHelp = this.props.signatureHelp; } componentWillUnmount(): void { diff --git a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx index 3a7f409a8..335ca39c6 100644 --- a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx +++ b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx @@ -42,7 +42,6 @@ test('Prop signatureHelp set to false disables signature help for functions', as await mount( , @@ -64,7 +63,6 @@ test('Prop signatureHelp set to true disables signature help for procedures', as await mount( , @@ -86,7 +84,6 @@ test('Prop signatureHelp set to true enables signature help', async ({ await mount( , @@ -125,7 +122,6 @@ test('Signature help shows the description for the first argument', async ({ await mount( , @@ -150,7 +146,6 @@ test('Signature help shows the description for the second argument', async ({ await mount( , @@ -175,7 +170,6 @@ test('Signature help shows description for arguments with a space following a se await mount( , @@ -200,7 +194,6 @@ test('Signature help shows the description for the third argument', async ({ await mount( , @@ -225,7 +218,6 @@ test('Signature help only shows the description past the last argument', async ( await mount( , @@ -250,7 +242,6 @@ test('Signature help does not show any help when method finished', async ({ await mount( , @@ -272,7 +263,6 @@ test('Signature help does not blow up on empty query', async ({ await mount( , diff --git a/packages/react-codemirror/src/lang-cypher/signature-help.ts b/packages/react-codemirror/src/lang-cypher/signature-help.ts index 597196eb9..e510ccf11 100644 --- a/packages/react-codemirror/src/lang-cypher/signature-help.ts +++ b/packages/react-codemirror/src/lang-cypher/signature-help.ts @@ -32,17 +32,25 @@ function getSignatureHelpTooltip( ): Tooltip[] { let result: Tooltip[] = []; const schema = config.schema; - const tokens = parserWrapper.parsingResult.tokens; - const lastToken = tokens.filter((token) => token.channel == 0).at(-2); + + const tokens = parserWrapper.parsingResult.tokens.filter( + (token) => token.channel == 0, + ); + const lastToken = tokens.at(-2); + const prevToken = tokens.at(-3); if (schema && config.signatureHelp && lastToken) { const pos = state.selection.main.head; const tree = parserWrapper.parsingResult; const isOpenBracket = lastToken.text === '('; + const isPairOfBrackets = + prevToken !== undefined && + prevToken.text === '(' && + lastToken.text === ')'; const isSeparator = lastToken.text === ','; if ( - (isOpenBracket || isSeparator) && + (isOpenBracket || isPairOfBrackets || isSeparator) && tree && findParent(tree.stopNode, (parent) => isOpenBracket From bcfd87b7219cd56a98c033354cbb6d197647b41e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Fri, 19 Jan 2024 11:44:08 +0000 Subject: [PATCH 17/19] Adds an offset prop and a test to check signature help works on auto-closed parenthesis --- .../react-codemirror/src/CypherEditor.tsx | 6 ++ .../src/e2e_tests/signature-help.spec.tsx | 56 +++++-------------- .../src/lang-cypher/lang-cypher.ts | 1 - .../src/lang-cypher/signature-help.ts | 2 +- 4 files changed, 21 insertions(+), 44 deletions(-) diff --git a/packages/react-codemirror/src/CypherEditor.tsx b/packages/react-codemirror/src/CypherEditor.tsx index f80930041..d7b9dd130 100644 --- a/packages/react-codemirror/src/CypherEditor.tsx +++ b/packages/react-codemirror/src/CypherEditor.tsx @@ -57,6 +57,10 @@ export interface CypherEditorProps { * @default false */ autofocus?: boolean; + /** + * Where to place the cursor in the query. Cannot be enabled at the same time than autofocus + */ + offset?: number; /** * Whether the editor should wrap lines. * @@ -249,6 +253,8 @@ export class CypherEditor extends Component { if (this.props.value) { this.updateCursorPosition(this.props.value.length); } + } else if (this.props.offset) { + this.updateCursorPosition(this.props.offset); } } diff --git a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx index 335ca39c6..95e86b18f 100644 --- a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx +++ b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx @@ -33,10 +33,7 @@ function testTooltip(tooltip: Locator, expectations: TooltipExpectations) { return Promise.all([included, excluded]); } -test('Prop signatureHelp set to false disables signature help for functions', async ({ - page, - mount, -}) => { +test('Signature help works for functions', async ({ page, mount }) => { const query = 'RETURN abs('; await mount( @@ -47,17 +44,12 @@ test('Prop signatureHelp set to false disables signature help for functions', as />, ); - await expect( - page.locator('.cm-tooltip-signature-help').last(), - ).not.toBeVisible({ + await expect(page.locator('.cm-tooltip-signature-help').last()).toBeVisible({ timeout: 2000, }); }); -test('Prop signatureHelp set to true disables signature help for procedures', async ({ - page, - mount, -}) => { +test('Signature help works for procedures', async ({ page, mount }) => { const query = 'CALL apoc.import.csv('; await mount( @@ -68,33 +60,12 @@ test('Prop signatureHelp set to true disables signature help for procedures', as />, ); - await expect( - page.locator('.cm-tooltip-signature-help').last(), - ).not.toBeVisible({ - timeout: 2000, - }); -}); - -test('Prop signatureHelp set to true enables signature help', async ({ - page, - mount, -}) => { - const query = 'RETURN abs('; - - await mount( - , - ); - await expect(page.locator('.cm-tooltip-signature-help').last()).toBeVisible({ timeout: 2000, }); }); -test('Prop signatureHelp enables signature help by default', async ({ +test('Signature help shows the description for the first argument', async ({ page, mount, }) => { @@ -108,23 +79,24 @@ test('Prop signatureHelp enables signature help by default', async ({ />, ); - await expect(page.locator('.cm-tooltip-signature-help').last()).toBeVisible({ - timeout: 2000, + const tooltip = page.locator('.cm-tooltip-signature-help').last(); + + await testTooltip(tooltip, { + includes: [ + 'nodes :: LIST', + 'Imports `NODE` and `RELATIONSHIP` values with the given labels and types from the provided CSV file', + ], }); }); -test('Signature help shows the description for the first argument', async ({ +test('Signature help works when the parenthesis has been auto closed and the cursor is placed before )', async ({ page, mount, }) => { - const query = 'CALL apoc.import.csv('; + const query = 'CALL apoc.import.csv()'; await mount( - , + , ); const tooltip = page.locator('.cm-tooltip-signature-help').last(); diff --git a/packages/react-codemirror/src/lang-cypher/lang-cypher.ts b/packages/react-codemirror/src/lang-cypher/lang-cypher.ts index d8f3e7631..86a3da598 100644 --- a/packages/react-codemirror/src/lang-cypher/lang-cypher.ts +++ b/packages/react-codemirror/src/lang-cypher/lang-cypher.ts @@ -20,7 +20,6 @@ const cypherLanguage = new Language(facet, parserAdapter, [], 'cypher'); export type CypherConfig = { lint?: boolean; - signatureHelp?: boolean; schema?: DbSchema; }; diff --git a/packages/react-codemirror/src/lang-cypher/signature-help.ts b/packages/react-codemirror/src/lang-cypher/signature-help.ts index e510ccf11..fe67aea7d 100644 --- a/packages/react-codemirror/src/lang-cypher/signature-help.ts +++ b/packages/react-codemirror/src/lang-cypher/signature-help.ts @@ -39,7 +39,7 @@ function getSignatureHelpTooltip( const lastToken = tokens.at(-2); const prevToken = tokens.at(-3); - if (schema && config.signatureHelp && lastToken) { + if (schema && lastToken) { const pos = state.selection.main.head; const tree = parserWrapper.parsingResult; const isOpenBracket = lastToken.text === '('; From 5d87c47946be68ad0ccbfd6822c0afbef4c75be1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Fri, 19 Jan 2024 14:47:25 +0000 Subject: [PATCH 18/19] Polishes when signature help is triggered --- packages/language-support/src/helpers.ts | 2 +- packages/language-support/src/index.ts | 9 +-- .../src/e2e_tests/signature-help.spec.tsx | 68 ++++++++++++++++- .../src/lang-cypher/signature-help.ts | 73 ++++++------------- 4 files changed, 93 insertions(+), 59 deletions(-) diff --git a/packages/language-support/src/helpers.ts b/packages/language-support/src/helpers.ts index 98c8690d9..716152b9b 100644 --- a/packages/language-support/src/helpers.ts +++ b/packages/language-support/src/helpers.ts @@ -40,7 +40,7 @@ export function findStopNode(root: StatementsContext) { export function findParent( leaf: ParserRuleContext | undefined, condition: (node: ParserRuleContext) => boolean, -): ParserRuleContext | undefined { +) { let current: ParserRuleContext | undefined = leaf; while (current && !condition(current)) { diff --git a/packages/language-support/src/index.ts b/packages/language-support/src/index.ts index cbeeef46c..2db295ee9 100644 --- a/packages/language-support/src/index.ts +++ b/packages/language-support/src/index.ts @@ -1,12 +1,7 @@ export type { ParserRuleContext } from 'antlr4'; export { autocomplete } from './autocompletion/autocompletion'; export type { DbSchema } from './dbSchema'; -export { - CallClauseContext, - FunctionInvocationContext, - StatementsContext, -} from './generated-parser/CypherParser'; -export { antlrUtils, findParent } from './helpers'; +export { antlrUtils } from './helpers'; export { applySyntaxColouring, mapCypherToSemanticTokenIndex, @@ -15,7 +10,7 @@ export { export type { ParsedCypherToken } from './highlighting/syntaxColouring/syntaxColouringHelpers'; export { validateSyntax } from './highlighting/syntaxValidation/syntaxValidation'; export { CypherTokenType, lexerSymbols } from './lexerSymbols'; -export { parse, parserWrapper } from './parserWrapper'; +export { parse } from './parserWrapper'; export { signatureHelp } from './signatureHelp'; export { testData } from './tests/testData'; export { CypherLexer }; diff --git a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx index 95e86b18f..0e782bf8a 100644 --- a/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx +++ b/packages/react-codemirror/src/e2e_tests/signature-help.spec.tsx @@ -89,14 +89,14 @@ test('Signature help shows the description for the first argument', async ({ }); }); -test('Signature help works when the parenthesis has been auto closed and the cursor is placed before )', async ({ +test('Signature help shows the description for the first argument when the cursor is at that position', async ({ page, mount, }) => { const query = 'CALL apoc.import.csv()'; await mount( - , + , ); const tooltip = page.locator('.cm-tooltip-signature-help').last(); @@ -133,6 +133,46 @@ test('Signature help shows the description for the second argument', async ({ }); }); +test('Signature help shows the description for the second argument when the cursor is at that position', async ({ + page, + mount, +}) => { + const query = 'CALL apoc.import.csv(nodes,)'; + + await mount( + , + ); + + const tooltip = page.locator('.cm-tooltip-signature-help').last(); + + await testTooltip(tooltip, { + includes: [ + 'rels :: LIST', + 'Imports `NODE` and `RELATIONSHIP` values with the given labels and types from the provided CSV file', + ], + }); +}); + +test('Signature help shows the description for the second argument when the cursor is at that position, even after whitespaces', async ({ + page, + mount, +}) => { + const query = 'CALL apoc.import.csv(nodes, )'; + + await mount( + , + ); + + const tooltip = page.locator('.cm-tooltip-signature-help').last(); + + await testTooltip(tooltip, { + includes: [ + 'rels :: LIST', + 'Imports `NODE` and `RELATIONSHIP` values with the given labels and types from the provided CSV file', + ], + }); +}); + test('Signature help shows description for arguments with a space following a separator', async ({ page, mount, @@ -181,6 +221,30 @@ test('Signature help shows the description for the third argument', async ({ }); }); +test('Signature help works on multiline queries', async ({ page, mount }) => { + const query = `CALL apoc.import.csv( + nodes, + rels, + `; + + await mount( + , + ); + + const tooltip = page.locator('.cm-tooltip-signature-help').last(); + + await testTooltip(tooltip, { + includes: [ + 'config :: MAP', + 'Imports `NODE` and `RELATIONSHIP` values with the given labels and types from the provided CSV file', + ], + }); +}); + test('Signature help only shows the description past the last argument', async ({ page, mount, diff --git a/packages/react-codemirror/src/lang-cypher/signature-help.ts b/packages/react-codemirror/src/lang-cypher/signature-help.ts index fe67aea7d..cd8ae9b0e 100644 --- a/packages/react-codemirror/src/lang-cypher/signature-help.ts +++ b/packages/react-codemirror/src/lang-cypher/signature-help.ts @@ -1,29 +1,19 @@ import { EditorState, StateField } from '@codemirror/state'; import { showTooltip, Tooltip } from '@codemirror/view'; -import { - CallClauseContext, - findParent, - FunctionInvocationContext, - ParserRuleContext, - parserWrapper, - signatureHelp, - StatementsContext, -} from '@neo4j-cypher/language-support'; +import { signatureHelp } from '@neo4j-cypher/language-support'; import { CypherConfig } from './lang-cypher'; -function isMethodNameOrExpressionName(parent: ParserRuleContext) { - return ( - parent instanceof FunctionInvocationContext || - parent instanceof CallClauseContext || - parent instanceof StatementsContext - ); -} +function getTriggerCharacter(query: string, offset: number) { + let i = offset - 1; + let triggerCharacter = query.at(i); + + // Discard all space characters. Note that a space can be more than just a ' ' + while (/\s/.test(triggerCharacter) && i > 0) { + i -= 1; + triggerCharacter = query.at(i); + } -function isMethodName(parent: ParserRuleContext) { - return ( - parent instanceof FunctionInvocationContext || - parent instanceof CallClauseContext - ); + return triggerCharacter; } function getSignatureHelpTooltip( @@ -32,34 +22,19 @@ function getSignatureHelpTooltip( ): Tooltip[] { let result: Tooltip[] = []; const schema = config.schema; + const ranges = state.selection.ranges; + const range = ranges.at(0); + + if (schema && ranges.length === 1 && range.from === range.to) { + const position = range.from; + const query = state.doc.toString(); + + const triggerCharacter = getTriggerCharacter(query, position); + + if (triggerCharacter === '(' || triggerCharacter === ',') { + const queryUntilPosition = query.slice(0, position); - const tokens = parserWrapper.parsingResult.tokens.filter( - (token) => token.channel == 0, - ); - const lastToken = tokens.at(-2); - const prevToken = tokens.at(-3); - - if (schema && lastToken) { - const pos = state.selection.main.head; - const tree = parserWrapper.parsingResult; - const isOpenBracket = lastToken.text === '('; - const isPairOfBrackets = - prevToken !== undefined && - prevToken.text === '(' && - lastToken.text === ')'; - const isSeparator = lastToken.text === ','; - - if ( - (isOpenBracket || isPairOfBrackets || isSeparator) && - tree && - findParent(tree.stopNode, (parent) => - isOpenBracket - ? isMethodNameOrExpressionName(parent) - : isMethodName(parent), - ) - ) { - const query = state.doc.toString(); - const signatureHelpInfo = signatureHelp(query, schema); + const signatureHelpInfo = signatureHelp(queryUntilPosition, schema); const activeSignature = signatureHelpInfo.activeSignature; const signatures = signatureHelpInfo.signatures; const activeParameter = signatureHelpInfo.activeParameter; @@ -85,7 +60,7 @@ function getSignatureHelpTooltip( result = [ { - pos: pos, + pos: position, above: true, strictSide: true, arrow: true, From c6419a07f573ad67735292b56dd945368fd10d4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Cord=C3=B3n?= Date: Mon, 22 Jan 2024 10:53:13 +0000 Subject: [PATCH 19/19] Adds changeset --- .changeset/twelve-cycles-call.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/twelve-cycles-call.md diff --git a/.changeset/twelve-cycles-call.md b/.changeset/twelve-cycles-call.md new file mode 100644 index 000000000..2455fc732 --- /dev/null +++ b/.changeset/twelve-cycles-call.md @@ -0,0 +1,5 @@ +--- +'@neo4j-cypher/language-support': patch +--- + +Adds signature help capabilities to the language support