diff --git a/site/content/3.12/aql/common-errors.md b/site/content/3.12/aql/common-errors.md index a50d156ac7..ccc980a796 100644 --- a/site/content/3.12/aql/common-errors.md +++ b/site/content/3.12/aql/common-errors.md @@ -17,7 +17,7 @@ of an AQL query string. ## String concatenation -In AQL, strings must be concatenated using the [CONCAT()](functions/string.md#concat) +In AQL, strings must be concatenated using the [`CONCAT()`](functions/string.md#concat) function. Joining them together with the `+` operator is not supported. Especially as JavaScript programmer it is easy to walk into this trap: diff --git a/site/content/3.12/aql/examples-and-query-patterns/counting.md b/site/content/3.12/aql/examples-and-query-patterns/counting.md index a0bb733e3b..11079180c2 100644 --- a/site/content/3.12/aql/examples-and-query-patterns/counting.md +++ b/site/content/3.12/aql/examples-and-query-patterns/counting.md @@ -8,7 +8,7 @@ description: >- ## Amount of documents in a collection To return the count of documents that currently exist in a collection, -you can call the [LENGTH() function](../functions/array.md#length): +you can call the [`LENGTH()` function](../functions/array.md#length): ```aql RETURN LENGTH(collection) @@ -16,10 +16,10 @@ RETURN LENGTH(collection) This type of call is optimized since 2.8 (no unnecessary intermediate result is built up in memory) and it is therefore the preferred way to determine the count. -Internally, [COLLECTION_COUNT()](../functions/miscellaneous.md#collection_count) is called. +Internally, [`COLLECTION_COUNT()`](../functions/miscellaneous.md#collection_count) is called. In earlier versions with `COLLECT ... WITH COUNT INTO` available (since 2.4), -you may use the following code instead of *LENGTH()* for better performance: +you may use the following code instead of `LENGTH()` for better performance: ```aql FOR doc IN collection diff --git a/site/content/3.12/aql/examples-and-query-patterns/dynamic-attribute-names.md b/site/content/3.12/aql/examples-and-query-patterns/dynamic-attribute-names.md index 7bca32fa3a..59efe9f163 100644 --- a/site/content/3.12/aql/examples-and-query-patterns/dynamic-attribute-names.md +++ b/site/content/3.12/aql/examples-and-query-patterns/dynamic-attribute-names.md @@ -115,7 +115,7 @@ The results of the subquery are then made available to the main query and will be returned. But the attribute names in the result are still `name` and `value`, so we're not there yet. -So let us also employ AQL's [ZIP()](../functions/document-object.md#zip) function, +So let us also employ AQL's [`ZIP()`](../functions/document-object.md#zip) function, which can create an object from two arrays: - the first parameter to `ZIP()` is an array with the attribute names diff --git a/site/content/3.12/aql/functions/arangosearch.md b/site/content/3.12/aql/functions/arangosearch.md index 2b588080f4..a313c1a4d7 100644 --- a/site/content/3.12/aql/functions/arangosearch.md +++ b/site/content/3.12/aql/functions/arangosearch.md @@ -606,7 +606,7 @@ enabled. The `PHRASE()` function will otherwise not find anything. #### Object tokens - `{IN_RANGE: [low, high, includeLow, includeHigh]}`: - see [IN_RANGE()](#in_range). *low* and *high* can only be strings. + see [`IN_RANGE()`](#in_range). *low* and *high* can only be strings. - `{LEVENSHTEIN_MATCH: [token, maxDistance, transpositions, maxTerms, prefix]}`: - `token` (string): a string to search - `maxDistance` (number): maximum Levenshtein / Damerau-Levenshtein distance @@ -621,14 +621,14 @@ enabled. The `PHRASE()` function will otherwise not find anything. remainders of the strings. This option can improve performance in cases where there is a known common prefix. The default value is an empty string (introduced in v3.7.13, v3.8.1). -- `{STARTS_WITH: [prefix]}`: see [STARTS_WITH()](#starts_with). +- `{STARTS_WITH: [prefix]}`: see [`STARTS_WITH()`](#starts_with). Array brackets are optional - `{TERM: [token]}`: equal to `token` but without Analyzer tokenization. Array brackets are optional - `{TERMS: [token1, ..., tokenN]}`: one of `token1, ..., tokenN` can be found in specified position. Inside an array the object syntax can be replaced with the object field value, e.g., `[..., [token1, ..., tokenN], ...]`. -- `{WILDCARD: [token]}`: see [LIKE()](#like). +- `{WILDCARD: [token]}`: see [`LIKE()`](#like). Array brackets are optional An array token inside an array can be used in the `TERMS` case only. @@ -906,7 +906,7 @@ Match documents with a [Damerau-Levenshtein distance](https://en.wikipedia.org/w lower than or equal to `distance` between the stored attribute value and `target`. It can optionally match documents using a pure Levenshtein distance. -See [LEVENSHTEIN_DISTANCE()](string.md#levenshtein_distance) +See [`LEVENSHTEIN_DISTANCE()`](string.md#levenshtein_distance) if you want to calculate the edit distance of two strings. - **path** (attribute path expression\|string): the path of the attribute to @@ -1323,7 +1323,7 @@ _n_-grams for search highlighting purposes. attributes: - **name** (array): the attribute and array element path as an array of strings and numbers. You can pass this name to the - [VALUE()](document-object.md) to dynamically look up the value. + [`VALUE()`](document-object.md) to dynamically look up the value. - **offsets** (array): an array of arrays with the matched positions, capped to the specified limits. Each inner array has two elements with the start offset and the length of a match. diff --git a/site/content/3.12/aql/functions/array.md b/site/content/3.12/aql/functions/array.md index e9d27c7017..74cfa4e788 100644 --- a/site/content/3.12/aql/functions/array.md +++ b/site/content/3.12/aql/functions/array.md @@ -34,7 +34,7 @@ Add all elements of an array to another array. All values are added at the end o array (right side). It can also be used to append a single element to an array. It is not necessary to wrap -it in an array (unless it is an array itself). You may also use [PUSH()](#push) instead. +it in an array (unless it is an array itself). You may also use [`PUSH()`](#push) instead. - **anyArray** (array): array with elements of arbitrary type - **values** (array\|any): array, whose elements shall be added to `anyArray` @@ -211,9 +211,8 @@ FOR v, e, p IN 1..3 OUTBOUND 'places/Toronto' GRAPH 'kShortestPathsGraph' Return the intersection of all arrays specified. The result is an array of values that occur in all arguments. -Other set operations are [UNION()](#union), -[MINUS()](#minus) and -[OUTERSECTION()](#outersection). +Other set operations are [`UNION()`](#union), [`MINUS()`](#minus) and +[`OUTERSECTION()`](#outersection). - **arrays** (array, *repeatable*): an arbitrary number of arrays as multiple arguments (at least 2) @@ -320,7 +319,7 @@ Determine the number of elements in an array. - **anyArray** (array): array with elements of arbitrary type - returns **length** (number): the number of array elements in *anyArray*. -*LENGTH()* can also determine the [number of attribute keys](document-object.md#length) +`LENGTH()` can also determine the [number of attribute keys](document-object.md#length) of an object / document, the [amount of documents](miscellaneous.md#length) in a collection and the [character length](string.md#length) of a string. @@ -382,9 +381,8 @@ RETURN LENGTH( {a:1, b:2, c:3, d:4, e:{f:5,g:6}} ) Return the difference of all arrays specified. -Other set operations are [UNION()](#union), -[INTERSECTION()](#intersection) and -[OUTERSECTION()](#outersection). +Other set operations are [`UNION()`](#union), [`INTERSECTION()`](#intersection) +and [`OUTERSECTION()`](#outersection). - **arrays** (array, *repeatable*): an arbitrary number of arrays as multiple arguments (at least 2) @@ -447,9 +445,8 @@ RETURN NTH( [ "foo", "bar", "baz" ], -1 ) Return the values that occur only once across all arrays specified. -Other set operations are [UNION()](#union), -[MINUS()](#minus) and -[INTERSECTION()](#intersection). +Other set operations are [`UNION()`](#union), [`MINUS()`](#minus) and +[`INTERSECTION()`](#intersection). - **arrays** (array, *repeatable*): an arbitrary number of arrays as multiple arguments (at least 2) @@ -472,9 +469,9 @@ RETURN OUTERSECTION( [ 1, 2, 3 ], [ 2, 3, 4 ], [ 3, 4, 5 ] ) Remove the last element of *array*. -To append an element (right side), see [PUSH()](#push).\ -To remove the first element, see [SHIFT()](#shift).\ -To remove an element at an arbitrary position, see [REMOVE_NTH()](#remove_nth). +To append an element (right side), see [`PUSH()`](#push).\ +To remove the first element, see [`SHIFT()`](#shift).\ +To remove an element at an arbitrary position, see [`REMOVE_NTH()`](#remove_nth). - **anyArray** (array): an array with elements of arbitrary type - returns **newArray** (array): *anyArray* without the last element. If it's already @@ -517,7 +514,7 @@ the [`IN` operator](../operators.md#comparison-operators), for example, `3 IN [1, 2, 3]` instead of `POSITION([1, 2, 3], 3)`. To determine if or at which position a string occurs in another string, see the -[CONTAINS() string function](string.md#contains). +[`CONTAINS()` string function](string.md#contains). **Examples** @@ -566,9 +563,9 @@ existence, you may use the `IN` operator instead of calling `POSITION()`, like Append *value* to *anyArray* (right side). -To remove the last element, see [POP()](#pop).\ -To prepend a value (left side), see [UNSHIFT()](#unshift).\ -To append multiple elements, see [APPEND()](#append). +To remove the last element, see [`POP()`](#pop).\ +To prepend a value (left side), see [`UNSHIFT()`](#unshift).\ +To append multiple elements, see [`APPEND()`](#append). - **anyArray** (array): array with elements of arbitrary type - **value** (any): an element of arbitrary type @@ -579,7 +576,7 @@ To append multiple elements, see [APPEND()](#append). Note: The *unique* flag only controls if *value* is added if it's already present in *anyArray*. Duplicate elements that already exist in *anyArray* will not be -removed. To make an array unique, use the [UNIQUE()](#unique) function. +removed. To make an array unique, use the [`UNIQUE()`](#unique) function. **Examples** @@ -605,8 +602,8 @@ RETURN PUSH([ 1, 2, 2, 3 ], 2, true) Remove the element at *position* from the *anyArray*. -To remove the first element, see [SHIFT()](#shift).\ -To remove the last element, see [POP()](#pop). +To remove the first element, see [`SHIFT()`](#shift).\ +To remove the last element, see [`POP()`](#pop). - **anyArray** (array): array with elements of arbitrary type - **position** (number): the position of the element to remove. Positions start @@ -785,9 +782,9 @@ RETURN REVERSE ( [2,4,6,8,10] ) Remove the first element of *anyArray*. -To prepend an element (left side), see [UNSHIFT()](#unshift).\ -To remove the last element, see [POP()](#pop).\ -To remove an element at an arbitrary position, see [REMOVE_NTH()](#remove_nth). +To prepend an element (left side), see [`UNSHIFT()`](#unshift).\ +To remove the last element, see [`POP()`](#pop).\ +To remove an element at an arbitrary position, see [`REMOVE_NTH()`](#remove_nth). - **anyArray** (array): array with elements with arbitrary type - returns **newArray** (array): *anyArray* without the left-most element. If *anyArray* @@ -923,9 +920,8 @@ RETURN SORTED_UNIQUE( [ 8,4,2,10,6,2,8,6,4 ] ) Return the union of all arrays specified. -Other set operations are [MINUS()](#minus), -[INTERSECTION()](#intersection) and -[OUTERSECTION()](#outersection). +Other set operations are [`MINUS()`](#minus), [`INTERSECTION()`](#intersection) +and [`OUTERSECTION()`](#outersection). - **arrays** (array, *repeatable*): an arbitrary number of arrays as multiple arguments (at least 2) @@ -946,9 +942,8 @@ RETURN UNION( ``` Note: No duplicates will be removed. In order to remove duplicates, please use -either [UNION_DISTINCT()](#union_distinct) -or apply [UNIQUE()](#unique) on the -result of *UNION()*: +either [`UNION_DISTINCT()`](#union_distinct) or apply [`UNIQUE()`](#unique) on the +result of `UNION()`: ```aql --- @@ -1013,8 +1008,8 @@ RETURN UNIQUE( [ 1,2,2,3,3,3,4,4,4,4,5,5,5,5,5 ] ) Prepend *value* to *anyArray* (left side). -To remove the first element, see [SHIFT()](#shift).\ -To append a value (right side), see [PUSH()](#push). +To remove the first element, see [`SHIFT()`](#shift).\ +To append a value (right side), see [`PUSH()`](#push). - **anyArray** (array): array with elements of arbitrary type - **value** (any): an element of arbitrary type @@ -1025,7 +1020,7 @@ To append a value (right side), see [PUSH()](#push). Note: The *unique* flag only controls if *value* is added if it's already present in *anyArray*. Duplicate elements that already exist in *anyArray* will not be -removed. To make an array unique, use the [UNIQUE()](#unique) function. +removed. To make an array unique, use the [`UNIQUE()`](#unique) function. **Examples** diff --git a/site/content/3.12/aql/functions/bit.md b/site/content/3.12/aql/functions/bit.md index 01d1470e77..bca40a82f6 100644 --- a/site/content/3.12/aql/functions/bit.md +++ b/site/content/3.12/aql/functions/bit.md @@ -98,7 +98,7 @@ BIT_DECONSTRUCT(2147484675) // [0, 1, 10, 31] Converts a bitstring (consisting of digits `0` and `1`) into a number. -To convert a number into a bitstring, see [BIT_TO_STRING()](#bit_to_string). +To convert a number into a bitstring, see [`BIT_TO_STRING()`](#bit_to_string). - **bitstring** (string): string sequence consisting of `0` and `1` characters - returns **number** (number\|null): the parsed number @@ -269,7 +269,7 @@ BIT_TEST(255, 8) // false Converts a numeric input value into a bitstring, consisting of `0` and `1`. -To convert a bitstring into a number, see [BIT_FROM_STRING()](#bit_from_string). +To convert a bitstring into a number, see [`BIT_FROM_STRING()`](#bit_from_string). - **number** (number): the number to stringify - returns **bitstring** (string\|null): bitstring generated from the input value diff --git a/site/content/3.12/aql/functions/date.md b/site/content/3.12/aql/functions/date.md index 29e68835cc..ae7065b415 100644 --- a/site/content/3.12/aql/functions/date.md +++ b/site/content/3.12/aql/functions/date.md @@ -1076,7 +1076,7 @@ Add `amount` given in `unit` to `date` and return the calculated date. - **date** (number\|string): numeric timestamp or ISO 8601 date time string - **amount** (number\|string): number of `unit`s to add (positive value) or subtract (negative value). It is recommended to use positive values only, - and use [DATE_SUBTRACT()](#date_subtract) for subtractions instead. + and use [`DATE_SUBTRACT()`](#date_subtract) for subtractions instead. - **unit** (string): either of the following to specify the time unit to add or subtract (case-insensitive): - `"y"`, `"year"`, `"years"` @@ -1161,7 +1161,7 @@ DATE_ADD("2000-01-01", "P1Y2M3W4DT5H6M7.89S") // add a bit of everything Subtract `amount` given in `unit` from `date` and return the calculated date. -It works the same as [DATE_ADD()](#date_add), except that it subtracts. It is +It works the same as [`DATE_ADD()`](#date_add), except that it subtracts. It is equivalent to calling `DATE_ADD()` with a negative amount, except that `DATE_SUBTRACT()` can also subtract ISO durations. Note that negative ISO durations are not supported (i.e. starting with `-P`, like `-P1Y`). @@ -1169,7 +1169,7 @@ durations are not supported (i.e. starting with `-P`, like `-P1Y`). - **date** (number\|string): numeric timestamp or ISO 8601 date time string - **amount** (number\|string): number of `unit`s to subtract (positive value) or add (negative value). It is recommended to use positive values only, - and use [DATE_ADD()](#date_add) for additions instead. + and use [`DATE_ADD()`](#date_add) for additions instead. - **unit** (string): either of the following to specify the time unit to add or subtract (case-insensitive): - `"y"`, `"year"`, `"years"` @@ -1374,7 +1374,7 @@ with are "ignored". The query returns every document with `date` ranging from `2015-05-15T00:00:00.000Z` to `2015-05-15T23:99:99.999Z`. It would also include `2015-05-15T24:00:00.000Z`, but that date is actually `2015-05-16T00:00:00.000Z` and can only occur if inserted manually (you may want to pass dates through -[DATE_ISO8601()](#date_iso8601) to ensure a correct date representation). +[`DATE_ISO8601()`](#date_iso8601) to ensure a correct date representation). Leap days in leap years (29th of February) must be always handled manually, if you require so (e.g. birthday checks): diff --git a/site/content/3.12/aql/functions/document-object.md b/site/content/3.12/aql/functions/document-object.md index 27eb228dd5..78f47b1b0a 100644 --- a/site/content/3.12/aql/functions/document-object.md +++ b/site/content/3.12/aql/functions/document-object.md @@ -187,7 +187,7 @@ RETURN [ Keep only the attributes `attributeName` to `attributeNameN` of `document`. All other attributes will be removed from the result. -To do the opposite, see [UNSET()](#unset). +To do the opposite, see [`UNSET()`](#unset). - **document** (object): a document / object - **attributeNames** (string, *repeatable*): an arbitrary number of attribute @@ -272,7 +272,7 @@ RETURN KEEP(doc, ["foo", "baz"]) Recursively preserve the attributes `attributeName1` to `attributeNameN` from `document` and its sub-documents. All other attributes will be removed. -To do the opposite, use [UNSET_RECURSIVE()](#unset_recursive). +To do the opposite, use [`UNSET_RECURSIVE()`](#unset_recursive). - **document** (object): a document / object - **attributeNames** (string, *repeatable*): an arbitrary number of attribute @@ -415,7 +415,7 @@ with any number of attributes each. An attribute value of `null` will match documents with an explicit attribute value of `null` as well as documents with this attribute missing (implicitly `null`). -Only [HAS()](#has) can differentiate between an attribute being absent and having +Only [`HAS()`](#has) can differentiate between an attribute being absent and having a stored `null` value. An empty object `{}` will match all documents. Be careful not to ask for all @@ -485,7 +485,7 @@ If document attribute keys are ambiguous, the merged result will contain the val of the documents contained later in the argument list. Note that merging will only be done for top-level attributes. If you wish to -merge sub-attributes, use [MERGE_RECURSIVE()](#merge_recursive) instead. +merge sub-attributes, use [`MERGE_RECURSIVE()`](#merge_recursive) instead. - **documents** (object, *repeatable*): an arbitrary number of documents as multiple arguments (at least 2) @@ -801,7 +801,7 @@ RETURN TRANSLATE(42, { "42": true } ) Remove the attributes `attributeName1` to `attributeNameN` from `document`. All other attributes will be preserved. -To do the opposite, see [KEEP()](#keep). +To do the opposite, see [`KEEP()`](#keep). - **document** (object): a document / object - **attributeNames** (string, *repeatable*): an arbitrary number of attribute @@ -887,7 +887,7 @@ RETURN UNSET(doc, ["foo", "bar"]) Recursively remove the attributes `attributeName1` to `attributeNameN` from `document` and its sub-documents. All other attributes will be preserved. -To do the opposite, use [KEEP_RECURSIVE()](#keep_recursive). +To do the opposite, use [`KEEP_RECURSIVE()`](#keep_recursive). - **document** (object): a document / object - **attributeNames** (string, *repeatable*): an arbitrary number of attribute diff --git a/site/content/3.12/aql/functions/fulltext.md b/site/content/3.12/aql/functions/fulltext.md index 3a3b67cce8..54a0cd35bc 100644 --- a/site/content/3.12/aql/functions/fulltext.md +++ b/site/content/3.12/aql/functions/fulltext.md @@ -21,7 +21,7 @@ It is recommended to use [Inverted indexes](../../index-and-search/indexing/work Return all documents from collection *coll*, for which the attribute *attribute* matches the fulltext search phrase *query*, optionally capped to *limit* results. -**Note**: the *FULLTEXT()* function requires the collection *coll* to have a +**Note**: the `FULLTEXT()` function requires the collection *coll* to have a fulltext index on *attribute*. If no fulltext index is available, this function will fail with an error at runtime. It doesn't fail when explaining the query however. @@ -32,7 +32,7 @@ will fail with an error at runtime. It doesn't fail when explaining the query ho to at most this number of documents - returns **docArray** (array): an array of documents -*FULLTEXT()* is not meant to be used as an argument to `FILTER`, +`FULLTEXT()` is not meant to be used as an argument to `FILTER`, but rather to be used as the expression of a `FOR` statement: ```aql diff --git a/site/content/3.12/aql/functions/geo.md b/site/content/3.12/aql/functions/geo.md index 3608e48472..bc4558ee74 100644 --- a/site/content/3.12/aql/functions/geo.md +++ b/site/content/3.12/aql/functions/geo.md @@ -806,7 +806,7 @@ RETURN GEO_POLYGON([ `GEO_MULTIPOLYGON(polygons) → geoJson` Construct a GeoJSON MultiPolygon. Needs at least two Polygons inside. -See [GEO_POLYGON()](#geo_polygon) and [GeoJSON MultiPolygon](#multipolygon) +See [`GEO_POLYGON()`](#geo_polygon) and [GeoJSON MultiPolygon](#multipolygon) for the rules of Polygon and MultiPolygon construction. - **polygons** (array): an array of arrays of arrays of `[longitude, latitude]` pairs diff --git a/site/content/3.12/aql/functions/miscellaneous.md b/site/content/3.12/aql/functions/miscellaneous.md index 24860be1bf..6702cd7c7b 100644 --- a/site/content/3.12/aql/functions/miscellaneous.md +++ b/site/content/3.12/aql/functions/miscellaneous.md @@ -124,7 +124,7 @@ only for **already stored** database documents. Therefore, `COLLECTION_COUNT(coll) → count` -Determine the amount of documents in a collection. [LENGTH()](#length) +Determine the amount of documents in a collection. [`LENGTH()`](#length) is preferred. ### COLLECTIONS() @@ -378,12 +378,12 @@ RETURN DOCUMENT( CONCAT("persons/", @key) ) Determine the amount of documents in a collection. -It calls [COLLECTION_COUNT()](#collection_count) internally. +It calls [`COLLECTION_COUNT()`](#collection_count) internally. - **coll** (collection): a collection (not string) - returns **documentCount** (number): the total amount of documents in *coll* -*LENGTH()* can also determine the [number of elements](array.md#length) in an array, +`LENGTH()` can also determine the [number of elements](array.md#length) in an array, the [number of attribute keys](document-object.md#length) of an object / document and the [character length](string.md#length) of a string. @@ -504,11 +504,11 @@ RETURN MINHASH_ERROR(400) See the following string functions: -- [CRC32()](string.md#crc32) -- [FNV64()](string.md#fnv64) -- [MD5()](string.md#md5) -- [SHA1()](string.md#sha1) -- [SHA512()](string.md#sha512) +- [`CRC32()`](string.md#crc32) +- [`FNV64()`](string.md#fnv64) +- [`MD5()`](string.md#md5) +- [`SHA1()`](string.md#sha1) +- [`SHA512()`](string.md#sha512) ## Function calling diff --git a/site/content/3.12/aql/functions/numeric.md b/site/content/3.12/aql/functions/numeric.md index 5cf4649852..a85dbed38c 100644 --- a/site/content/3.12/aql/functions/numeric.md +++ b/site/content/3.12/aql/functions/numeric.md @@ -108,8 +108,8 @@ This is an alias for [`AVERAGE()`](#average). Return the integer closest but not less than *value*. -To round downward, see [FLOOR()](#floor).\ -To round to the nearest integer value, see [ROUND()](#round). +To round downward, see [`FLOOR()`](#floor).\ +To round to the nearest integer value, see [`ROUND()`](#round). - **value** (number): any number - returns **roundedValue** (number): the value rounded to the ceiling @@ -146,8 +146,8 @@ COS(RADIANS(45)) // 0.7071067811865476 Return the [cosine similarity](https://en.wikipedia.org/wiki/Cosine_similarity) between *x* and *y*. -To calculate the distance, see [L1_DISTANCE()](#l1_distance) and -[L2_DISTANCE()](#l2_distance). +To calculate the distance, see [`L1_DISTANCE()`](#l1_distance) and +[`L2_DISTANCE()`](#l2_distance). - **x** (array): first input array - **y** (array): second input array @@ -293,8 +293,8 @@ EXP2(0) // 1 Return the integer closest but not greater than *value*. -To round upward, see [CEIL()](#ceil).\ -To round to the nearest integer value, see [ROUND()](#round). +To round upward, see [`CEIL()`](#ceil).\ +To round to the nearest integer value, see [`ROUND()`](#round). - **value** (number): any number - returns **roundedValue** (number): the value rounded downward @@ -364,7 +364,7 @@ LOG10(0) // null Return the [Manhattan distance](https://en.wikipedia.org/wiki/Taxicab_geometry) between *x* and *y*. -To calculate the similarity, see [COSINE_SIMILARITY()](#cosine_similarity). +To calculate the similarity, see [`COSINE_SIMILARITY()`](#cosine_similarity). - **x** (array): first input array - **y** (array): second input array @@ -390,7 +390,7 @@ L1_DISTANCE([1.5], [3]) // 1.5 Return the [Euclidean distance](https://en.wikipedia.org/wiki/Euclidean_distance) between *x* and *y*. -To calculate the similarity, see [COSINE_SIMILARITY()](#cosine_similarity). +To calculate the similarity, see [`COSINE_SIMILARITY()`](#cosine_similarity). - **x** (array): first input array - **y** (array): second input array @@ -623,10 +623,9 @@ ROUND(-2.50) // -2 ROUND(-2.51) // -3 ``` -Rounding towards zero, also known as *trunc()* in C/C++, can be achieved with +Rounding towards zero, also known as `trunc()` in C/C++, can be achieved with a combination of the [ternary operator](../operators.md#ternary-operator), -[CEIL()](#ceil) -and [FLOOR()](#floor): +[`CEIL()`](#ceil) and [`FLOOR()`](#floor): ```aql value >= 0 ? FLOOR(value) : CEIL(value) @@ -662,7 +661,7 @@ SQRT(9) // 3 SQRT(2) // 1.4142135623730951 ``` -Other roots can be calculated with [POW()](#pow) like `POW(value, 1/n)`: +Other roots can be calculated with [`POW()`](#pow) like `POW(value, 1/n)`: ```aql // 4th root of 8*8*8*8 = 4096 diff --git a/site/content/3.12/aql/functions/string.md b/site/content/3.12/aql/functions/string.md index 40950819b7..a1546e7a86 100644 --- a/site/content/3.12/aql/functions/string.md +++ b/site/content/3.12/aql/functions/string.md @@ -233,7 +233,7 @@ Check whether the string `search` is contained in the string `text`. The string matching performed by `CONTAINS()` is case-sensitive. To determine if or at which position a value is included in an **array**, see the -[POSITION() array function](array.md#position). +[`POSITION()` array function](array.md#position). - **text** (string): the haystack - **search** (string): the needle @@ -434,7 +434,7 @@ RETURN FNV64("foobar") Converts a numeric IPv4 address value into its string representation. - **numericAddress** (number): a numeric representation of an IPv4 address, for - example produced by [IPV4_TO_NUMBER()](#ipv4_to_number). The number must be + example produced by [`IPV4_TO_NUMBER()`](#ipv4_to_number). The number must be an unsigned integer between 0 and 4294967295 (both inclusive). - returns **stringAddress** (string): the string representation of the IPv4 address. If the input `numberAddress` is not a valid representation of an @@ -693,9 +693,9 @@ RETURN JSON_STRINGIFY( [1, {'2': .5}] ) Return the `n` leftmost characters of the string `value`. -To return the rightmost characters, see [RIGHT()](#right).\ +To return the rightmost characters, see [`RIGHT()`](#right).\ To take a part from an arbitrary position off the string, -see [SUBSTRING()](#substring). +see [`SUBSTRING()`](#substring). - **value** (string): a string - **n** (number): how many characters to return @@ -901,8 +901,8 @@ RETURN LOWER("AVOcado") Return the string `value` with whitespace stripped from the start only. -To strip from the end only, see [RTRIM()](#rtrim).\ -To strip both sides, see [TRIM()](#trim). +To strip from the end only, see [`RTRIM()`](#rtrim).\ +To strip both sides, see [`TRIM()`](#trim). - **value** (string): a string - **chars** (string, *optional*): override the characters that should @@ -966,7 +966,7 @@ between `input` and `target` using _n_-grams with minimum and maximum length of The similarity is calculated by counting how long the longest sequence of matching _n_-grams is, divided by the **longer argument's** total _n_-gram count. Partially matching _n_-grams are counted, whereas -[NGRAM_SIMILARITY()](#ngram_similarity) counts only fully matching _n_-grams. +[`NGRAM_SIMILARITY()`](#ngram_similarity) counts only fully matching _n_-grams. The _n_-grams for both input and target are calculated on the fly, not involving Analyzers. @@ -1002,9 +1002,9 @@ between `input` and `target` using _n_-grams with minimum and maximum length of The similarity is calculated by counting how long the longest sequence of matching _n_-grams is, divided by **target's** total _n_-gram count. Only fully matching _n_-grams are counted, whereas -[NGRAM_POSITIONAL_SIMILARITY()](#ngram_positional_similarity) counts partially +[`NGRAM_POSITIONAL_SIMILARITY()`](#ngram_positional_similarity) counts partially matching _n_-grams too. This behavior matches the similarity measure used in -[NGRAM_MATCH()](arangosearch.md#ngram_match). +[`NGRAM_MATCH()`](arangosearch.md#ngram_match). The _n_-grams for both input and target are calculated on the fly, not involving Analyzers. @@ -1305,9 +1305,9 @@ RETURN REVERSE("电脑坏了") Return the `length` rightmost characters of the string `value`. -To return the leftmost characters, see [LEFT()](#left).\ +To return the leftmost characters, see [`LEFT()`](#left).\ To take a part from an arbitrary position off the string, -see [SUBSTRING()](#substring). +see [`SUBSTRING()`](#substring). - **value** (string): a string - **length** (number): how many characters to return @@ -1338,8 +1338,8 @@ RETURN RIGHT("foobar", 10) Return the string `value` with whitespace stripped from the end only. -To strip from the start only, see [LTRIM()](#ltrim).\ -To strip both sides, see [TRIM()](#trim). +To strip from the start only, see [`LTRIM()`](#ltrim).\ +To strip both sides, see [`TRIM()`](#trim). - **value** (string): a string - **chars** (string, *optional*): override the characters that should @@ -1693,8 +1693,8 @@ RETURN SUBSTITUTE("the quick brown foxx", { Return a substring of `value`. -To return the rightmost characters, see [RIGHT()](#right).\ -To return the leftmost characters, see [LEFT()](#left). +To return the rightmost characters, see [`RIGHT()`](#right).\ +To return the leftmost characters, see [`LEFT()`](#left). - **value** (string): a string - **offset** (number): start at this character of the string. Offsets start at 0. @@ -1868,7 +1868,7 @@ FOR doc IN viewName It will match `{ "text": "Lorem ipsum, dolor sit amet." }` for instance. If you want to search for tokens in a particular order, use -[PHRASE()](arangosearch.md#phrase) instead. +[`PHRASE()`](arangosearch.md#phrase) instead. If an array of strings is passed as first argument, then each string is tokenized individually and an array with the same nesting as the input array @@ -1981,8 +1981,7 @@ RETURN [ Return the string `value` with whitespace stripped from the start and/or end. The optional `type` parameter specifies from which parts of the string the -whitespace is stripped. [LTRIM()](#ltrim) -and [RTRIM()](#rtrim) are preferred +whitespace is stripped. [`LTRIM()`](#ltrim) and [`RTRIM()`](#rtrim) are preferred however. - **value** (string): a string diff --git a/site/content/3.12/aql/functions/type-check-and-cast.md b/site/content/3.12/aql/functions/type-check-and-cast.md index 843e5af0e1..81b3bb9870 100644 --- a/site/content/3.12/aql/functions/type-check-and-cast.md +++ b/site/content/3.12/aql/functions/type-check-and-cast.md @@ -16,8 +16,8 @@ aborts. Type casts can also be performed upon request by invoking a type cast function. This is called explicit type casting. AQL offers several functions for this. Each of the these functions takes an operand of any data type and returns a result -value with the type corresponding to the function name. For example, *TO_NUMBER()* -will return a numeric value. +value with the type corresponding to the function name. For example, `TO_NUMBER()` +returns a numeric value. ## Type casting functions @@ -123,7 +123,7 @@ Take an input *value* of any type and convert it into an array value. the original value as its single element - Arrays keep their original value - Objects / documents are converted to an array containing their attribute - **values** as array elements, just like [VALUES()](document-object.md#values) + **values** as array elements, just like [`VALUES()`](document-object.md#values) ```aql TO_ARRAY(null) // [] @@ -154,7 +154,7 @@ checked for, and false otherwise. Check whether *value* is *null*. Identical to `value == null`. -To test if an attribute exists, see [HAS()](document-object.md#has) instead. +To test if an attribute exists, see [`HAS()`](document-object.md#has) instead. - **value** (any): value to test - returns **bool** (boolean): *true* if *value* is `null`, diff --git a/site/content/3.12/aql/fundamentals/accessing-data-from-collections.md b/site/content/3.12/aql/fundamentals/accessing-data-from-collections.md index 1800836748..a757e89208 100644 --- a/site/content/3.12/aql/fundamentals/accessing-data-from-collections.md +++ b/site/content/3.12/aql/fundamentals/accessing-data-from-collections.md @@ -54,7 +54,7 @@ This behavior should always be taken into account when writing queries. To distinguish between an explicit `null` value and the implicit `null` value you get if you access a non-existent attribute, you can use the -[`HAS() function`](../functions/document-object.md#has). The following query +[`HAS()` function](../functions/document-object.md#has). The following query only returns documents that have a `name` attribute with a `null` value: ```aql diff --git a/site/content/3.12/aql/fundamentals/subqueries.md b/site/content/3.12/aql/fundamentals/subqueries.md index 5425921452..29a656c7e5 100644 --- a/site/content/3.12/aql/fundamentals/subqueries.md +++ b/site/content/3.12/aql/fundamentals/subqueries.md @@ -66,7 +66,7 @@ RETURN ( RETURN 1 ) [ [ 1 ] ] ``` -To avoid such a nested data structure, [FIRST()](../functions/array.md#first) +To avoid such a nested data structure, [`FIRST()`](../functions/array.md#first) can be used for example: ```aql diff --git a/site/content/3.12/aql/high-level-operations/return.md b/site/content/3.12/aql/high-level-operations/return.md index 487bba6409..c4344e0865 100644 --- a/site/content/3.12/aql/high-level-operations/return.md +++ b/site/content/3.12/aql/high-level-operations/return.md @@ -109,7 +109,7 @@ RETURN MERGE( Keep in mind that if the key expression evaluates to the same value multiple times, only one of the key/value pairs with the duplicate name will survive -[MERGE()](../functions/document-object.md#merge). To avoid this, you can go without +[`MERGE()`](../functions/document-object.md#merge). To avoid this, you can go without dynamic attribute names, use static names instead and return all document properties as attribute values: diff --git a/site/content/3.12/aql/high-level-operations/search.md b/site/content/3.12/aql/high-level-operations/search.md index b0844a4ca2..8f8530e38e 100644 --- a/site/content/3.12/aql/high-level-operations/search.md +++ b/site/content/3.12/aql/high-level-operations/search.md @@ -239,7 +239,7 @@ to index all (sub-)attributes of the source documents if desired. ## `SEARCH` with `SORT` The documents emitted from a View can be sorted by attribute values with the -standard [SORT() operation](sort.md), using one or multiple +standard [`SORT()` operation](sort.md), using one or multiple attributes, in ascending or descending order (or a mix thereof). ```aql @@ -272,7 +272,7 @@ FOR doc IN viewName RETURN doc ``` -The [BOOST() function](../functions/arangosearch.md#boost) can be used to +The [`BOOST()` function](../functions/arangosearch.md#boost) can be used to fine-tune the resulting ranking by weighing sub-expressions in `SEARCH` differently. diff --git a/site/content/3.12/aql/operators.md b/site/content/3.12/aql/operators.md index 114f1966e2..b05b8eca21 100644 --- a/site/content/3.12/aql/operators.md +++ b/site/content/3.12/aql/operators.md @@ -92,7 +92,7 @@ more reasonable `! LIKE(doc.attr, "…")`. The regular expression operators `=~` and `!~` expect their left-hand operands to be strings, and their right-hand operands to be strings containing valid regular expressions as specified in the documentation for the AQL function -[REGEX_TEST()](functions/string.md#regex_test). +[`REGEX_TEST()`](functions/string.md#regex_test). ## Array comparison operators @@ -227,7 +227,7 @@ RETURN [-x, +y] // [5, 1] ``` -For exponentiation, there is a [numeric function](functions/numeric.md#pow) *POW()*. +For exponentiation, there is a [numeric function](functions/numeric.md#pow) `POW()`. The syntax `base ** exp` is not supported. For string concatenation, you must use the [`CONCAT()` string function](functions/string.md#concat). @@ -246,7 +246,7 @@ Also see [Common Errors](common-errors.md). The arithmetic operators accept operands of any type. Passing non-numeric values to an arithmetic operator casts the operands to numbers using the type casting rules -applied by the [TO_NUMBER()](functions/type-check-and-cast.md#to_number) function: +applied by the [`TO_NUMBER()`](functions/type-check-and-cast.md#to_number) function: - `null` is converted to `0` - `false` is converted to `0`, `true` is converted to `1` @@ -496,8 +496,8 @@ RETURN ( ``` Note that the elements are not de-duplicated. For a flat array with only unique -elements, a combination of [UNIQUE()](functions/array.md#unique) and -[FLATTEN()](functions/array.md#flatten) is advisable. +elements, a combination of [`UNIQUE()`](functions/array.md#unique) and +[`FLATTEN()`](functions/array.md#flatten) is advisable. ### Inline expressions diff --git a/site/content/3.12/components/tools/arangodump/maskings.md b/site/content/3.12/components/tools/arangodump/maskings.md index 032ea149b4..415262ccd5 100644 --- a/site/content/3.12/components/tools/arangodump/maskings.md +++ b/site/content/3.12/components/tools/arangodump/maskings.md @@ -869,7 +869,7 @@ Masking settings: and time) the earliest date and time is assumed (`2010-06-01T00:00:00.000`). The default value is the current system date and time. - `format` (string, _default: `""`_): the formatting string format is - described in [DATE_FORMAT()](../../../aql/functions/date.md#date_format). + described in [`DATE_FORMAT()`](../../../aql/functions/date.md#date_format). If no format is specified, then the result is an empty string. **Example** diff --git a/site/content/3.12/concepts/data-structure/documents/schema-validation.md b/site/content/3.12/concepts/data-structure/documents/schema-validation.md index 4103722824..d54761bdad 100644 --- a/site/content/3.12/concepts/data-structure/documents/schema-validation.md +++ b/site/content/3.12/concepts/data-structure/documents/schema-validation.md @@ -110,8 +110,8 @@ validation than very simple schemas. The following AQL functions are available to work with schemas: - - [SCHEMA_GET()](../../../aql/functions/miscellaneous.md#schema_get) - - [SCHEMA_VALIDATE()](../../../aql/functions/miscellaneous.md#schema_validate) + - [`SCHEMA_GET()`](../../../aql/functions/miscellaneous.md#schema_get) + - [`SCHEMA_VALIDATE()`](../../../aql/functions/miscellaneous.md#schema_validate) ## Backup and restore diff --git a/site/content/3.12/index-and-search/analyzers.md b/site/content/3.12/index-and-search/analyzers.md index 391b2e1d90..9d0364f87c 100644 --- a/site/content/3.12/index-and-search/analyzers.md +++ b/site/content/3.12/index-and-search/analyzers.md @@ -780,9 +780,9 @@ attributes: (default is 1048576 = 1Mb) Maximum is 33554432U (32Mb) - `returnType` (string): data type of the returned tokens. If the indicated type does not match the actual type then an implicit type conversion is - applied (see [TO_STRING()](../aql/functions/type-check-and-cast.md#to_string), - [TO_NUMBER()](../aql/functions/type-check-and-cast.md#to_number), - [TO_BOOL()](../aql/functions/type-check-and-cast.md#to_bool)) + applied (see [`TO_STRING()`](../aql/functions/type-check-and-cast.md#to_string), + [`TO_NUMBER()`](../aql/functions/type-check-and-cast.md#to_number), + [`TO_BOOL()`](../aql/functions/type-check-and-cast.md#to_bool)) - `"string"` (default): convert emitted tokens to strings - `"number"`: convert emitted tokens to numbers - `"bool"`: convert emitted tokens to booleans diff --git a/site/content/3.12/index-and-search/arangosearch/fuzzy-search.md b/site/content/3.12/index-and-search/arangosearch/fuzzy-search.md index 45c8af2bcb..048f1a49ea 100644 --- a/site/content/3.12/index-and-search/arangosearch/fuzzy-search.md +++ b/site/content/3.12/index-and-search/arangosearch/fuzzy-search.md @@ -171,9 +171,9 @@ total _n_-gram count, which ever of the two is higher (here the left side with There are the following AQL string functions to calculate the [similarity](#similarity-measures) of two arbitrary strings: -- [LEVENSHTEIN_DISTANCE()](../../aql/functions/string.md#levenshtein_distance) -- [NGRAM_SIMILARITY()](../../aql/functions/string.md#ngram_similarity) -- [NGRAM_POSITIONAL_SIMILARITY()](../../aql/functions/string.md#ngram_positional_similarity) +- [`LEVENSHTEIN_DISTANCE()`](../../aql/functions/string.md#levenshtein_distance) +- [`NGRAM_SIMILARITY()`](../../aql/functions/string.md#ngram_similarity) +- [`NGRAM_POSITIONAL_SIMILARITY()`](../../aql/functions/string.md#ngram_positional_similarity) ```aql RETURN [ @@ -184,8 +184,8 @@ RETURN [ ``` To perform fuzzy searches, there are two ArangoSearch functions: -- [LEVENSHTEIN_MATCH()](../../aql/functions/arangosearch.md#levenshtein_match) -- [NGRAM_MATCH()](../../aql/functions/arangosearch.md#ngram_match) +- [`LEVENSHTEIN_MATCH()`](../../aql/functions/arangosearch.md#levenshtein_match) +- [`NGRAM_MATCH()`](../../aql/functions/arangosearch.md#ngram_match) They can be used in conjunction with a View for index-accelerated fuzzy search queries. The string similarity affects the overall `BM25()` / `TFIDF()` score diff --git a/site/content/3.12/operations/administration/reduce-memory-footprint.md b/site/content/3.12/operations/administration/reduce-memory-footprint.md index fd177338ce..070f1ae311 100644 --- a/site/content/3.12/operations/administration/reduce-memory-footprint.md +++ b/site/content/3.12/operations/administration/reduce-memory-footprint.md @@ -468,7 +468,7 @@ In ArangoDB version 3.4 we introduced [streaming cursors](../../release-notes/version-3.4/whats-new-in-3-4.md#streaming-aql-cursors) with somewhat inverted properties: less peak memory usage, longer access to the collections. Streaming is possible on document level, which means that it cannot -be applied to all query parts. For example, a *MERGE()* of all results of a +be applied to all query parts. For example, a `MERGE()` of all results of a subquery cannot be streamed (the result of the operation has to be built up fully). Nonetheless, the surrounding query may be eligible for streaming. diff --git a/site/content/3.13/aql/common-errors.md b/site/content/3.13/aql/common-errors.md index a50d156ac7..ccc980a796 100644 --- a/site/content/3.13/aql/common-errors.md +++ b/site/content/3.13/aql/common-errors.md @@ -17,7 +17,7 @@ of an AQL query string. ## String concatenation -In AQL, strings must be concatenated using the [CONCAT()](functions/string.md#concat) +In AQL, strings must be concatenated using the [`CONCAT()`](functions/string.md#concat) function. Joining them together with the `+` operator is not supported. Especially as JavaScript programmer it is easy to walk into this trap: diff --git a/site/content/3.13/aql/examples-and-query-patterns/counting.md b/site/content/3.13/aql/examples-and-query-patterns/counting.md index a0bb733e3b..11079180c2 100644 --- a/site/content/3.13/aql/examples-and-query-patterns/counting.md +++ b/site/content/3.13/aql/examples-and-query-patterns/counting.md @@ -8,7 +8,7 @@ description: >- ## Amount of documents in a collection To return the count of documents that currently exist in a collection, -you can call the [LENGTH() function](../functions/array.md#length): +you can call the [`LENGTH()` function](../functions/array.md#length): ```aql RETURN LENGTH(collection) @@ -16,10 +16,10 @@ RETURN LENGTH(collection) This type of call is optimized since 2.8 (no unnecessary intermediate result is built up in memory) and it is therefore the preferred way to determine the count. -Internally, [COLLECTION_COUNT()](../functions/miscellaneous.md#collection_count) is called. +Internally, [`COLLECTION_COUNT()`](../functions/miscellaneous.md#collection_count) is called. In earlier versions with `COLLECT ... WITH COUNT INTO` available (since 2.4), -you may use the following code instead of *LENGTH()* for better performance: +you may use the following code instead of `LENGTH()` for better performance: ```aql FOR doc IN collection diff --git a/site/content/3.13/aql/examples-and-query-patterns/dynamic-attribute-names.md b/site/content/3.13/aql/examples-and-query-patterns/dynamic-attribute-names.md index 7bca32fa3a..59efe9f163 100644 --- a/site/content/3.13/aql/examples-and-query-patterns/dynamic-attribute-names.md +++ b/site/content/3.13/aql/examples-and-query-patterns/dynamic-attribute-names.md @@ -115,7 +115,7 @@ The results of the subquery are then made available to the main query and will be returned. But the attribute names in the result are still `name` and `value`, so we're not there yet. -So let us also employ AQL's [ZIP()](../functions/document-object.md#zip) function, +So let us also employ AQL's [`ZIP()`](../functions/document-object.md#zip) function, which can create an object from two arrays: - the first parameter to `ZIP()` is an array with the attribute names diff --git a/site/content/3.13/aql/functions/arangosearch.md b/site/content/3.13/aql/functions/arangosearch.md index f5dd1e31bf..2478beb468 100644 --- a/site/content/3.13/aql/functions/arangosearch.md +++ b/site/content/3.13/aql/functions/arangosearch.md @@ -606,7 +606,7 @@ enabled. The `PHRASE()` function will otherwise not find anything. #### Object tokens - `{IN_RANGE: [low, high, includeLow, includeHigh]}`: - see [IN_RANGE()](#in_range). *low* and *high* can only be strings. + see [`IN_RANGE()`](#in_range). *low* and *high* can only be strings. - `{LEVENSHTEIN_MATCH: [token, maxDistance, transpositions, maxTerms, prefix]}`: - `token` (string): a string to search - `maxDistance` (number): maximum Levenshtein / Damerau-Levenshtein distance @@ -621,14 +621,14 @@ enabled. The `PHRASE()` function will otherwise not find anything. remainders of the strings. This option can improve performance in cases where there is a known common prefix. The default value is an empty string (introduced in v3.7.13, v3.8.1). -- `{STARTS_WITH: [prefix]}`: see [STARTS_WITH()](#starts_with). +- `{STARTS_WITH: [prefix]}`: see [`STARTS_WITH()`](#starts_with). Array brackets are optional - `{TERM: [token]}`: equal to `token` but without Analyzer tokenization. Array brackets are optional - `{TERMS: [token1, ..., tokenN]}`: one of `token1, ..., tokenN` can be found in specified position. Inside an array the object syntax can be replaced with the object field value, e.g., `[..., [token1, ..., tokenN], ...]`. -- `{WILDCARD: [token]}`: see [LIKE()](#like). +- `{WILDCARD: [token]}`: see [`LIKE()`](#like). Array brackets are optional An array token inside an array can be used in the `TERMS` case only. @@ -906,7 +906,7 @@ Match documents with a [Damerau-Levenshtein distance](https://en.wikipedia.org/w lower than or equal to `distance` between the stored attribute value and `target`. It can optionally match documents using a pure Levenshtein distance. -See [LEVENSHTEIN_DISTANCE()](string.md#levenshtein_distance) +See [`LEVENSHTEIN_DISTANCE()`](string.md#levenshtein_distance) if you want to calculate the edit distance of two strings. - **path** (attribute path expression\|string): the path of the attribute to @@ -1323,7 +1323,7 @@ _n_-grams for search highlighting purposes. attributes: - **name** (array): the attribute and array element path as an array of strings and numbers. You can pass this name to the - [VALUE()](document-object.md) to dynamically look up the value. + [`VALUE()`](document-object.md) to dynamically look up the value. - **offsets** (array): an array of arrays with the matched positions, capped to the specified limits. Each inner array has two elements with the start offset and the length of a match. diff --git a/site/content/3.13/aql/functions/array.md b/site/content/3.13/aql/functions/array.md index e9d27c7017..74cfa4e788 100644 --- a/site/content/3.13/aql/functions/array.md +++ b/site/content/3.13/aql/functions/array.md @@ -34,7 +34,7 @@ Add all elements of an array to another array. All values are added at the end o array (right side). It can also be used to append a single element to an array. It is not necessary to wrap -it in an array (unless it is an array itself). You may also use [PUSH()](#push) instead. +it in an array (unless it is an array itself). You may also use [`PUSH()`](#push) instead. - **anyArray** (array): array with elements of arbitrary type - **values** (array\|any): array, whose elements shall be added to `anyArray` @@ -211,9 +211,8 @@ FOR v, e, p IN 1..3 OUTBOUND 'places/Toronto' GRAPH 'kShortestPathsGraph' Return the intersection of all arrays specified. The result is an array of values that occur in all arguments. -Other set operations are [UNION()](#union), -[MINUS()](#minus) and -[OUTERSECTION()](#outersection). +Other set operations are [`UNION()`](#union), [`MINUS()`](#minus) and +[`OUTERSECTION()`](#outersection). - **arrays** (array, *repeatable*): an arbitrary number of arrays as multiple arguments (at least 2) @@ -320,7 +319,7 @@ Determine the number of elements in an array. - **anyArray** (array): array with elements of arbitrary type - returns **length** (number): the number of array elements in *anyArray*. -*LENGTH()* can also determine the [number of attribute keys](document-object.md#length) +`LENGTH()` can also determine the [number of attribute keys](document-object.md#length) of an object / document, the [amount of documents](miscellaneous.md#length) in a collection and the [character length](string.md#length) of a string. @@ -382,9 +381,8 @@ RETURN LENGTH( {a:1, b:2, c:3, d:4, e:{f:5,g:6}} ) Return the difference of all arrays specified. -Other set operations are [UNION()](#union), -[INTERSECTION()](#intersection) and -[OUTERSECTION()](#outersection). +Other set operations are [`UNION()`](#union), [`INTERSECTION()`](#intersection) +and [`OUTERSECTION()`](#outersection). - **arrays** (array, *repeatable*): an arbitrary number of arrays as multiple arguments (at least 2) @@ -447,9 +445,8 @@ RETURN NTH( [ "foo", "bar", "baz" ], -1 ) Return the values that occur only once across all arrays specified. -Other set operations are [UNION()](#union), -[MINUS()](#minus) and -[INTERSECTION()](#intersection). +Other set operations are [`UNION()`](#union), [`MINUS()`](#minus) and +[`INTERSECTION()`](#intersection). - **arrays** (array, *repeatable*): an arbitrary number of arrays as multiple arguments (at least 2) @@ -472,9 +469,9 @@ RETURN OUTERSECTION( [ 1, 2, 3 ], [ 2, 3, 4 ], [ 3, 4, 5 ] ) Remove the last element of *array*. -To append an element (right side), see [PUSH()](#push).\ -To remove the first element, see [SHIFT()](#shift).\ -To remove an element at an arbitrary position, see [REMOVE_NTH()](#remove_nth). +To append an element (right side), see [`PUSH()`](#push).\ +To remove the first element, see [`SHIFT()`](#shift).\ +To remove an element at an arbitrary position, see [`REMOVE_NTH()`](#remove_nth). - **anyArray** (array): an array with elements of arbitrary type - returns **newArray** (array): *anyArray* without the last element. If it's already @@ -517,7 +514,7 @@ the [`IN` operator](../operators.md#comparison-operators), for example, `3 IN [1, 2, 3]` instead of `POSITION([1, 2, 3], 3)`. To determine if or at which position a string occurs in another string, see the -[CONTAINS() string function](string.md#contains). +[`CONTAINS()` string function](string.md#contains). **Examples** @@ -566,9 +563,9 @@ existence, you may use the `IN` operator instead of calling `POSITION()`, like Append *value* to *anyArray* (right side). -To remove the last element, see [POP()](#pop).\ -To prepend a value (left side), see [UNSHIFT()](#unshift).\ -To append multiple elements, see [APPEND()](#append). +To remove the last element, see [`POP()`](#pop).\ +To prepend a value (left side), see [`UNSHIFT()`](#unshift).\ +To append multiple elements, see [`APPEND()`](#append). - **anyArray** (array): array with elements of arbitrary type - **value** (any): an element of arbitrary type @@ -579,7 +576,7 @@ To append multiple elements, see [APPEND()](#append). Note: The *unique* flag only controls if *value* is added if it's already present in *anyArray*. Duplicate elements that already exist in *anyArray* will not be -removed. To make an array unique, use the [UNIQUE()](#unique) function. +removed. To make an array unique, use the [`UNIQUE()`](#unique) function. **Examples** @@ -605,8 +602,8 @@ RETURN PUSH([ 1, 2, 2, 3 ], 2, true) Remove the element at *position* from the *anyArray*. -To remove the first element, see [SHIFT()](#shift).\ -To remove the last element, see [POP()](#pop). +To remove the first element, see [`SHIFT()`](#shift).\ +To remove the last element, see [`POP()`](#pop). - **anyArray** (array): array with elements of arbitrary type - **position** (number): the position of the element to remove. Positions start @@ -785,9 +782,9 @@ RETURN REVERSE ( [2,4,6,8,10] ) Remove the first element of *anyArray*. -To prepend an element (left side), see [UNSHIFT()](#unshift).\ -To remove the last element, see [POP()](#pop).\ -To remove an element at an arbitrary position, see [REMOVE_NTH()](#remove_nth). +To prepend an element (left side), see [`UNSHIFT()`](#unshift).\ +To remove the last element, see [`POP()`](#pop).\ +To remove an element at an arbitrary position, see [`REMOVE_NTH()`](#remove_nth). - **anyArray** (array): array with elements with arbitrary type - returns **newArray** (array): *anyArray* without the left-most element. If *anyArray* @@ -923,9 +920,8 @@ RETURN SORTED_UNIQUE( [ 8,4,2,10,6,2,8,6,4 ] ) Return the union of all arrays specified. -Other set operations are [MINUS()](#minus), -[INTERSECTION()](#intersection) and -[OUTERSECTION()](#outersection). +Other set operations are [`MINUS()`](#minus), [`INTERSECTION()`](#intersection) +and [`OUTERSECTION()`](#outersection). - **arrays** (array, *repeatable*): an arbitrary number of arrays as multiple arguments (at least 2) @@ -946,9 +942,8 @@ RETURN UNION( ``` Note: No duplicates will be removed. In order to remove duplicates, please use -either [UNION_DISTINCT()](#union_distinct) -or apply [UNIQUE()](#unique) on the -result of *UNION()*: +either [`UNION_DISTINCT()`](#union_distinct) or apply [`UNIQUE()`](#unique) on the +result of `UNION()`: ```aql --- @@ -1013,8 +1008,8 @@ RETURN UNIQUE( [ 1,2,2,3,3,3,4,4,4,4,5,5,5,5,5 ] ) Prepend *value* to *anyArray* (left side). -To remove the first element, see [SHIFT()](#shift).\ -To append a value (right side), see [PUSH()](#push). +To remove the first element, see [`SHIFT()`](#shift).\ +To append a value (right side), see [`PUSH()`](#push). - **anyArray** (array): array with elements of arbitrary type - **value** (any): an element of arbitrary type @@ -1025,7 +1020,7 @@ To append a value (right side), see [PUSH()](#push). Note: The *unique* flag only controls if *value* is added if it's already present in *anyArray*. Duplicate elements that already exist in *anyArray* will not be -removed. To make an array unique, use the [UNIQUE()](#unique) function. +removed. To make an array unique, use the [`UNIQUE()`](#unique) function. **Examples** diff --git a/site/content/3.13/aql/functions/bit.md b/site/content/3.13/aql/functions/bit.md index 01d1470e77..bca40a82f6 100644 --- a/site/content/3.13/aql/functions/bit.md +++ b/site/content/3.13/aql/functions/bit.md @@ -98,7 +98,7 @@ BIT_DECONSTRUCT(2147484675) // [0, 1, 10, 31] Converts a bitstring (consisting of digits `0` and `1`) into a number. -To convert a number into a bitstring, see [BIT_TO_STRING()](#bit_to_string). +To convert a number into a bitstring, see [`BIT_TO_STRING()`](#bit_to_string). - **bitstring** (string): string sequence consisting of `0` and `1` characters - returns **number** (number\|null): the parsed number @@ -269,7 +269,7 @@ BIT_TEST(255, 8) // false Converts a numeric input value into a bitstring, consisting of `0` and `1`. -To convert a bitstring into a number, see [BIT_FROM_STRING()](#bit_from_string). +To convert a bitstring into a number, see [`BIT_FROM_STRING()`](#bit_from_string). - **number** (number): the number to stringify - returns **bitstring** (string\|null): bitstring generated from the input value diff --git a/site/content/3.13/aql/functions/date.md b/site/content/3.13/aql/functions/date.md index 29e68835cc..ae7065b415 100644 --- a/site/content/3.13/aql/functions/date.md +++ b/site/content/3.13/aql/functions/date.md @@ -1076,7 +1076,7 @@ Add `amount` given in `unit` to `date` and return the calculated date. - **date** (number\|string): numeric timestamp or ISO 8601 date time string - **amount** (number\|string): number of `unit`s to add (positive value) or subtract (negative value). It is recommended to use positive values only, - and use [DATE_SUBTRACT()](#date_subtract) for subtractions instead. + and use [`DATE_SUBTRACT()`](#date_subtract) for subtractions instead. - **unit** (string): either of the following to specify the time unit to add or subtract (case-insensitive): - `"y"`, `"year"`, `"years"` @@ -1161,7 +1161,7 @@ DATE_ADD("2000-01-01", "P1Y2M3W4DT5H6M7.89S") // add a bit of everything Subtract `amount` given in `unit` from `date` and return the calculated date. -It works the same as [DATE_ADD()](#date_add), except that it subtracts. It is +It works the same as [`DATE_ADD()`](#date_add), except that it subtracts. It is equivalent to calling `DATE_ADD()` with a negative amount, except that `DATE_SUBTRACT()` can also subtract ISO durations. Note that negative ISO durations are not supported (i.e. starting with `-P`, like `-P1Y`). @@ -1169,7 +1169,7 @@ durations are not supported (i.e. starting with `-P`, like `-P1Y`). - **date** (number\|string): numeric timestamp or ISO 8601 date time string - **amount** (number\|string): number of `unit`s to subtract (positive value) or add (negative value). It is recommended to use positive values only, - and use [DATE_ADD()](#date_add) for additions instead. + and use [`DATE_ADD()`](#date_add) for additions instead. - **unit** (string): either of the following to specify the time unit to add or subtract (case-insensitive): - `"y"`, `"year"`, `"years"` @@ -1374,7 +1374,7 @@ with are "ignored". The query returns every document with `date` ranging from `2015-05-15T00:00:00.000Z` to `2015-05-15T23:99:99.999Z`. It would also include `2015-05-15T24:00:00.000Z`, but that date is actually `2015-05-16T00:00:00.000Z` and can only occur if inserted manually (you may want to pass dates through -[DATE_ISO8601()](#date_iso8601) to ensure a correct date representation). +[`DATE_ISO8601()`](#date_iso8601) to ensure a correct date representation). Leap days in leap years (29th of February) must be always handled manually, if you require so (e.g. birthday checks): diff --git a/site/content/3.13/aql/functions/document-object.md b/site/content/3.13/aql/functions/document-object.md index 27eb228dd5..78f47b1b0a 100644 --- a/site/content/3.13/aql/functions/document-object.md +++ b/site/content/3.13/aql/functions/document-object.md @@ -187,7 +187,7 @@ RETURN [ Keep only the attributes `attributeName` to `attributeNameN` of `document`. All other attributes will be removed from the result. -To do the opposite, see [UNSET()](#unset). +To do the opposite, see [`UNSET()`](#unset). - **document** (object): a document / object - **attributeNames** (string, *repeatable*): an arbitrary number of attribute @@ -272,7 +272,7 @@ RETURN KEEP(doc, ["foo", "baz"]) Recursively preserve the attributes `attributeName1` to `attributeNameN` from `document` and its sub-documents. All other attributes will be removed. -To do the opposite, use [UNSET_RECURSIVE()](#unset_recursive). +To do the opposite, use [`UNSET_RECURSIVE()`](#unset_recursive). - **document** (object): a document / object - **attributeNames** (string, *repeatable*): an arbitrary number of attribute @@ -415,7 +415,7 @@ with any number of attributes each. An attribute value of `null` will match documents with an explicit attribute value of `null` as well as documents with this attribute missing (implicitly `null`). -Only [HAS()](#has) can differentiate between an attribute being absent and having +Only [`HAS()`](#has) can differentiate between an attribute being absent and having a stored `null` value. An empty object `{}` will match all documents. Be careful not to ask for all @@ -485,7 +485,7 @@ If document attribute keys are ambiguous, the merged result will contain the val of the documents contained later in the argument list. Note that merging will only be done for top-level attributes. If you wish to -merge sub-attributes, use [MERGE_RECURSIVE()](#merge_recursive) instead. +merge sub-attributes, use [`MERGE_RECURSIVE()`](#merge_recursive) instead. - **documents** (object, *repeatable*): an arbitrary number of documents as multiple arguments (at least 2) @@ -801,7 +801,7 @@ RETURN TRANSLATE(42, { "42": true } ) Remove the attributes `attributeName1` to `attributeNameN` from `document`. All other attributes will be preserved. -To do the opposite, see [KEEP()](#keep). +To do the opposite, see [`KEEP()`](#keep). - **document** (object): a document / object - **attributeNames** (string, *repeatable*): an arbitrary number of attribute @@ -887,7 +887,7 @@ RETURN UNSET(doc, ["foo", "bar"]) Recursively remove the attributes `attributeName1` to `attributeNameN` from `document` and its sub-documents. All other attributes will be preserved. -To do the opposite, use [KEEP_RECURSIVE()](#keep_recursive). +To do the opposite, use [`KEEP_RECURSIVE()`](#keep_recursive). - **document** (object): a document / object - **attributeNames** (string, *repeatable*): an arbitrary number of attribute diff --git a/site/content/3.13/aql/functions/fulltext.md b/site/content/3.13/aql/functions/fulltext.md index 3a3b67cce8..54a0cd35bc 100644 --- a/site/content/3.13/aql/functions/fulltext.md +++ b/site/content/3.13/aql/functions/fulltext.md @@ -21,7 +21,7 @@ It is recommended to use [Inverted indexes](../../index-and-search/indexing/work Return all documents from collection *coll*, for which the attribute *attribute* matches the fulltext search phrase *query*, optionally capped to *limit* results. -**Note**: the *FULLTEXT()* function requires the collection *coll* to have a +**Note**: the `FULLTEXT()` function requires the collection *coll* to have a fulltext index on *attribute*. If no fulltext index is available, this function will fail with an error at runtime. It doesn't fail when explaining the query however. @@ -32,7 +32,7 @@ will fail with an error at runtime. It doesn't fail when explaining the query ho to at most this number of documents - returns **docArray** (array): an array of documents -*FULLTEXT()* is not meant to be used as an argument to `FILTER`, +`FULLTEXT()` is not meant to be used as an argument to `FILTER`, but rather to be used as the expression of a `FOR` statement: ```aql diff --git a/site/content/3.13/aql/functions/geo.md b/site/content/3.13/aql/functions/geo.md index 3608e48472..bc4558ee74 100644 --- a/site/content/3.13/aql/functions/geo.md +++ b/site/content/3.13/aql/functions/geo.md @@ -806,7 +806,7 @@ RETURN GEO_POLYGON([ `GEO_MULTIPOLYGON(polygons) → geoJson` Construct a GeoJSON MultiPolygon. Needs at least two Polygons inside. -See [GEO_POLYGON()](#geo_polygon) and [GeoJSON MultiPolygon](#multipolygon) +See [`GEO_POLYGON()`](#geo_polygon) and [GeoJSON MultiPolygon](#multipolygon) for the rules of Polygon and MultiPolygon construction. - **polygons** (array): an array of arrays of arrays of `[longitude, latitude]` pairs diff --git a/site/content/3.13/aql/functions/miscellaneous.md b/site/content/3.13/aql/functions/miscellaneous.md index 24860be1bf..6702cd7c7b 100644 --- a/site/content/3.13/aql/functions/miscellaneous.md +++ b/site/content/3.13/aql/functions/miscellaneous.md @@ -124,7 +124,7 @@ only for **already stored** database documents. Therefore, `COLLECTION_COUNT(coll) → count` -Determine the amount of documents in a collection. [LENGTH()](#length) +Determine the amount of documents in a collection. [`LENGTH()`](#length) is preferred. ### COLLECTIONS() @@ -378,12 +378,12 @@ RETURN DOCUMENT( CONCAT("persons/", @key) ) Determine the amount of documents in a collection. -It calls [COLLECTION_COUNT()](#collection_count) internally. +It calls [`COLLECTION_COUNT()`](#collection_count) internally. - **coll** (collection): a collection (not string) - returns **documentCount** (number): the total amount of documents in *coll* -*LENGTH()* can also determine the [number of elements](array.md#length) in an array, +`LENGTH()` can also determine the [number of elements](array.md#length) in an array, the [number of attribute keys](document-object.md#length) of an object / document and the [character length](string.md#length) of a string. @@ -504,11 +504,11 @@ RETURN MINHASH_ERROR(400) See the following string functions: -- [CRC32()](string.md#crc32) -- [FNV64()](string.md#fnv64) -- [MD5()](string.md#md5) -- [SHA1()](string.md#sha1) -- [SHA512()](string.md#sha512) +- [`CRC32()`](string.md#crc32) +- [`FNV64()`](string.md#fnv64) +- [`MD5()`](string.md#md5) +- [`SHA1()`](string.md#sha1) +- [`SHA512()`](string.md#sha512) ## Function calling diff --git a/site/content/3.13/aql/functions/numeric.md b/site/content/3.13/aql/functions/numeric.md index 5cf4649852..a85dbed38c 100644 --- a/site/content/3.13/aql/functions/numeric.md +++ b/site/content/3.13/aql/functions/numeric.md @@ -108,8 +108,8 @@ This is an alias for [`AVERAGE()`](#average). Return the integer closest but not less than *value*. -To round downward, see [FLOOR()](#floor).\ -To round to the nearest integer value, see [ROUND()](#round). +To round downward, see [`FLOOR()`](#floor).\ +To round to the nearest integer value, see [`ROUND()`](#round). - **value** (number): any number - returns **roundedValue** (number): the value rounded to the ceiling @@ -146,8 +146,8 @@ COS(RADIANS(45)) // 0.7071067811865476 Return the [cosine similarity](https://en.wikipedia.org/wiki/Cosine_similarity) between *x* and *y*. -To calculate the distance, see [L1_DISTANCE()](#l1_distance) and -[L2_DISTANCE()](#l2_distance). +To calculate the distance, see [`L1_DISTANCE()`](#l1_distance) and +[`L2_DISTANCE()`](#l2_distance). - **x** (array): first input array - **y** (array): second input array @@ -293,8 +293,8 @@ EXP2(0) // 1 Return the integer closest but not greater than *value*. -To round upward, see [CEIL()](#ceil).\ -To round to the nearest integer value, see [ROUND()](#round). +To round upward, see [`CEIL()`](#ceil).\ +To round to the nearest integer value, see [`ROUND()`](#round). - **value** (number): any number - returns **roundedValue** (number): the value rounded downward @@ -364,7 +364,7 @@ LOG10(0) // null Return the [Manhattan distance](https://en.wikipedia.org/wiki/Taxicab_geometry) between *x* and *y*. -To calculate the similarity, see [COSINE_SIMILARITY()](#cosine_similarity). +To calculate the similarity, see [`COSINE_SIMILARITY()`](#cosine_similarity). - **x** (array): first input array - **y** (array): second input array @@ -390,7 +390,7 @@ L1_DISTANCE([1.5], [3]) // 1.5 Return the [Euclidean distance](https://en.wikipedia.org/wiki/Euclidean_distance) between *x* and *y*. -To calculate the similarity, see [COSINE_SIMILARITY()](#cosine_similarity). +To calculate the similarity, see [`COSINE_SIMILARITY()`](#cosine_similarity). - **x** (array): first input array - **y** (array): second input array @@ -623,10 +623,9 @@ ROUND(-2.50) // -2 ROUND(-2.51) // -3 ``` -Rounding towards zero, also known as *trunc()* in C/C++, can be achieved with +Rounding towards zero, also known as `trunc()` in C/C++, can be achieved with a combination of the [ternary operator](../operators.md#ternary-operator), -[CEIL()](#ceil) -and [FLOOR()](#floor): +[`CEIL()`](#ceil) and [`FLOOR()`](#floor): ```aql value >= 0 ? FLOOR(value) : CEIL(value) @@ -662,7 +661,7 @@ SQRT(9) // 3 SQRT(2) // 1.4142135623730951 ``` -Other roots can be calculated with [POW()](#pow) like `POW(value, 1/n)`: +Other roots can be calculated with [`POW()`](#pow) like `POW(value, 1/n)`: ```aql // 4th root of 8*8*8*8 = 4096 diff --git a/site/content/3.13/aql/functions/string.md b/site/content/3.13/aql/functions/string.md index 40950819b7..a1546e7a86 100644 --- a/site/content/3.13/aql/functions/string.md +++ b/site/content/3.13/aql/functions/string.md @@ -233,7 +233,7 @@ Check whether the string `search` is contained in the string `text`. The string matching performed by `CONTAINS()` is case-sensitive. To determine if or at which position a value is included in an **array**, see the -[POSITION() array function](array.md#position). +[`POSITION()` array function](array.md#position). - **text** (string): the haystack - **search** (string): the needle @@ -434,7 +434,7 @@ RETURN FNV64("foobar") Converts a numeric IPv4 address value into its string representation. - **numericAddress** (number): a numeric representation of an IPv4 address, for - example produced by [IPV4_TO_NUMBER()](#ipv4_to_number). The number must be + example produced by [`IPV4_TO_NUMBER()`](#ipv4_to_number). The number must be an unsigned integer between 0 and 4294967295 (both inclusive). - returns **stringAddress** (string): the string representation of the IPv4 address. If the input `numberAddress` is not a valid representation of an @@ -693,9 +693,9 @@ RETURN JSON_STRINGIFY( [1, {'2': .5}] ) Return the `n` leftmost characters of the string `value`. -To return the rightmost characters, see [RIGHT()](#right).\ +To return the rightmost characters, see [`RIGHT()`](#right).\ To take a part from an arbitrary position off the string, -see [SUBSTRING()](#substring). +see [`SUBSTRING()`](#substring). - **value** (string): a string - **n** (number): how many characters to return @@ -901,8 +901,8 @@ RETURN LOWER("AVOcado") Return the string `value` with whitespace stripped from the start only. -To strip from the end only, see [RTRIM()](#rtrim).\ -To strip both sides, see [TRIM()](#trim). +To strip from the end only, see [`RTRIM()`](#rtrim).\ +To strip both sides, see [`TRIM()`](#trim). - **value** (string): a string - **chars** (string, *optional*): override the characters that should @@ -966,7 +966,7 @@ between `input` and `target` using _n_-grams with minimum and maximum length of The similarity is calculated by counting how long the longest sequence of matching _n_-grams is, divided by the **longer argument's** total _n_-gram count. Partially matching _n_-grams are counted, whereas -[NGRAM_SIMILARITY()](#ngram_similarity) counts only fully matching _n_-grams. +[`NGRAM_SIMILARITY()`](#ngram_similarity) counts only fully matching _n_-grams. The _n_-grams for both input and target are calculated on the fly, not involving Analyzers. @@ -1002,9 +1002,9 @@ between `input` and `target` using _n_-grams with minimum and maximum length of The similarity is calculated by counting how long the longest sequence of matching _n_-grams is, divided by **target's** total _n_-gram count. Only fully matching _n_-grams are counted, whereas -[NGRAM_POSITIONAL_SIMILARITY()](#ngram_positional_similarity) counts partially +[`NGRAM_POSITIONAL_SIMILARITY()`](#ngram_positional_similarity) counts partially matching _n_-grams too. This behavior matches the similarity measure used in -[NGRAM_MATCH()](arangosearch.md#ngram_match). +[`NGRAM_MATCH()`](arangosearch.md#ngram_match). The _n_-grams for both input and target are calculated on the fly, not involving Analyzers. @@ -1305,9 +1305,9 @@ RETURN REVERSE("电脑坏了") Return the `length` rightmost characters of the string `value`. -To return the leftmost characters, see [LEFT()](#left).\ +To return the leftmost characters, see [`LEFT()`](#left).\ To take a part from an arbitrary position off the string, -see [SUBSTRING()](#substring). +see [`SUBSTRING()`](#substring). - **value** (string): a string - **length** (number): how many characters to return @@ -1338,8 +1338,8 @@ RETURN RIGHT("foobar", 10) Return the string `value` with whitespace stripped from the end only. -To strip from the start only, see [LTRIM()](#ltrim).\ -To strip both sides, see [TRIM()](#trim). +To strip from the start only, see [`LTRIM()`](#ltrim).\ +To strip both sides, see [`TRIM()`](#trim). - **value** (string): a string - **chars** (string, *optional*): override the characters that should @@ -1693,8 +1693,8 @@ RETURN SUBSTITUTE("the quick brown foxx", { Return a substring of `value`. -To return the rightmost characters, see [RIGHT()](#right).\ -To return the leftmost characters, see [LEFT()](#left). +To return the rightmost characters, see [`RIGHT()`](#right).\ +To return the leftmost characters, see [`LEFT()`](#left). - **value** (string): a string - **offset** (number): start at this character of the string. Offsets start at 0. @@ -1868,7 +1868,7 @@ FOR doc IN viewName It will match `{ "text": "Lorem ipsum, dolor sit amet." }` for instance. If you want to search for tokens in a particular order, use -[PHRASE()](arangosearch.md#phrase) instead. +[`PHRASE()`](arangosearch.md#phrase) instead. If an array of strings is passed as first argument, then each string is tokenized individually and an array with the same nesting as the input array @@ -1981,8 +1981,7 @@ RETURN [ Return the string `value` with whitespace stripped from the start and/or end. The optional `type` parameter specifies from which parts of the string the -whitespace is stripped. [LTRIM()](#ltrim) -and [RTRIM()](#rtrim) are preferred +whitespace is stripped. [`LTRIM()`](#ltrim) and [`RTRIM()`](#rtrim) are preferred however. - **value** (string): a string diff --git a/site/content/3.13/aql/functions/type-check-and-cast.md b/site/content/3.13/aql/functions/type-check-and-cast.md index 843e5af0e1..81b3bb9870 100644 --- a/site/content/3.13/aql/functions/type-check-and-cast.md +++ b/site/content/3.13/aql/functions/type-check-and-cast.md @@ -16,8 +16,8 @@ aborts. Type casts can also be performed upon request by invoking a type cast function. This is called explicit type casting. AQL offers several functions for this. Each of the these functions takes an operand of any data type and returns a result -value with the type corresponding to the function name. For example, *TO_NUMBER()* -will return a numeric value. +value with the type corresponding to the function name. For example, `TO_NUMBER()` +returns a numeric value. ## Type casting functions @@ -123,7 +123,7 @@ Take an input *value* of any type and convert it into an array value. the original value as its single element - Arrays keep their original value - Objects / documents are converted to an array containing their attribute - **values** as array elements, just like [VALUES()](document-object.md#values) + **values** as array elements, just like [`VALUES()`](document-object.md#values) ```aql TO_ARRAY(null) // [] @@ -154,7 +154,7 @@ checked for, and false otherwise. Check whether *value* is *null*. Identical to `value == null`. -To test if an attribute exists, see [HAS()](document-object.md#has) instead. +To test if an attribute exists, see [`HAS()`](document-object.md#has) instead. - **value** (any): value to test - returns **bool** (boolean): *true* if *value* is `null`, diff --git a/site/content/3.13/aql/fundamentals/accessing-data-from-collections.md b/site/content/3.13/aql/fundamentals/accessing-data-from-collections.md index 1800836748..a757e89208 100644 --- a/site/content/3.13/aql/fundamentals/accessing-data-from-collections.md +++ b/site/content/3.13/aql/fundamentals/accessing-data-from-collections.md @@ -54,7 +54,7 @@ This behavior should always be taken into account when writing queries. To distinguish between an explicit `null` value and the implicit `null` value you get if you access a non-existent attribute, you can use the -[`HAS() function`](../functions/document-object.md#has). The following query +[`HAS()` function](../functions/document-object.md#has). The following query only returns documents that have a `name` attribute with a `null` value: ```aql diff --git a/site/content/3.13/aql/fundamentals/subqueries.md b/site/content/3.13/aql/fundamentals/subqueries.md index 5425921452..29a656c7e5 100644 --- a/site/content/3.13/aql/fundamentals/subqueries.md +++ b/site/content/3.13/aql/fundamentals/subqueries.md @@ -66,7 +66,7 @@ RETURN ( RETURN 1 ) [ [ 1 ] ] ``` -To avoid such a nested data structure, [FIRST()](../functions/array.md#first) +To avoid such a nested data structure, [`FIRST()`](../functions/array.md#first) can be used for example: ```aql diff --git a/site/content/3.13/aql/high-level-operations/return.md b/site/content/3.13/aql/high-level-operations/return.md index 487bba6409..c4344e0865 100644 --- a/site/content/3.13/aql/high-level-operations/return.md +++ b/site/content/3.13/aql/high-level-operations/return.md @@ -109,7 +109,7 @@ RETURN MERGE( Keep in mind that if the key expression evaluates to the same value multiple times, only one of the key/value pairs with the duplicate name will survive -[MERGE()](../functions/document-object.md#merge). To avoid this, you can go without +[`MERGE()`](../functions/document-object.md#merge). To avoid this, you can go without dynamic attribute names, use static names instead and return all document properties as attribute values: diff --git a/site/content/3.13/aql/high-level-operations/search.md b/site/content/3.13/aql/high-level-operations/search.md index 794ae8dd39..2948638a6b 100644 --- a/site/content/3.13/aql/high-level-operations/search.md +++ b/site/content/3.13/aql/high-level-operations/search.md @@ -239,7 +239,7 @@ to index all (sub-)attributes of the source documents if desired. ## `SEARCH` with `SORT` The documents emitted from a View can be sorted by attribute values with the -standard [SORT() operation](sort.md), using one or multiple +standard [`SORT()` operation](sort.md), using one or multiple attributes, in ascending or descending order (or a mix thereof). ```aql @@ -272,7 +272,7 @@ FOR doc IN viewName RETURN doc ``` -The [BOOST() function](../functions/arangosearch.md#boost) can be used to +The [`BOOST()` function](../functions/arangosearch.md#boost) can be used to fine-tune the resulting ranking by weighing sub-expressions in `SEARCH` differently. diff --git a/site/content/3.13/aql/operators.md b/site/content/3.13/aql/operators.md index 114f1966e2..b05b8eca21 100644 --- a/site/content/3.13/aql/operators.md +++ b/site/content/3.13/aql/operators.md @@ -92,7 +92,7 @@ more reasonable `! LIKE(doc.attr, "…")`. The regular expression operators `=~` and `!~` expect their left-hand operands to be strings, and their right-hand operands to be strings containing valid regular expressions as specified in the documentation for the AQL function -[REGEX_TEST()](functions/string.md#regex_test). +[`REGEX_TEST()`](functions/string.md#regex_test). ## Array comparison operators @@ -227,7 +227,7 @@ RETURN [-x, +y] // [5, 1] ``` -For exponentiation, there is a [numeric function](functions/numeric.md#pow) *POW()*. +For exponentiation, there is a [numeric function](functions/numeric.md#pow) `POW()`. The syntax `base ** exp` is not supported. For string concatenation, you must use the [`CONCAT()` string function](functions/string.md#concat). @@ -246,7 +246,7 @@ Also see [Common Errors](common-errors.md). The arithmetic operators accept operands of any type. Passing non-numeric values to an arithmetic operator casts the operands to numbers using the type casting rules -applied by the [TO_NUMBER()](functions/type-check-and-cast.md#to_number) function: +applied by the [`TO_NUMBER()`](functions/type-check-and-cast.md#to_number) function: - `null` is converted to `0` - `false` is converted to `0`, `true` is converted to `1` @@ -496,8 +496,8 @@ RETURN ( ``` Note that the elements are not de-duplicated. For a flat array with only unique -elements, a combination of [UNIQUE()](functions/array.md#unique) and -[FLATTEN()](functions/array.md#flatten) is advisable. +elements, a combination of [`UNIQUE()`](functions/array.md#unique) and +[`FLATTEN()`](functions/array.md#flatten) is advisable. ### Inline expressions diff --git a/site/content/3.13/components/tools/arangodump/maskings.md b/site/content/3.13/components/tools/arangodump/maskings.md index 032ea149b4..415262ccd5 100644 --- a/site/content/3.13/components/tools/arangodump/maskings.md +++ b/site/content/3.13/components/tools/arangodump/maskings.md @@ -869,7 +869,7 @@ Masking settings: and time) the earliest date and time is assumed (`2010-06-01T00:00:00.000`). The default value is the current system date and time. - `format` (string, _default: `""`_): the formatting string format is - described in [DATE_FORMAT()](../../../aql/functions/date.md#date_format). + described in [`DATE_FORMAT()`](../../../aql/functions/date.md#date_format). If no format is specified, then the result is an empty string. **Example** diff --git a/site/content/3.13/concepts/data-structure/documents/schema-validation.md b/site/content/3.13/concepts/data-structure/documents/schema-validation.md index 4103722824..d54761bdad 100644 --- a/site/content/3.13/concepts/data-structure/documents/schema-validation.md +++ b/site/content/3.13/concepts/data-structure/documents/schema-validation.md @@ -110,8 +110,8 @@ validation than very simple schemas. The following AQL functions are available to work with schemas: - - [SCHEMA_GET()](../../../aql/functions/miscellaneous.md#schema_get) - - [SCHEMA_VALIDATE()](../../../aql/functions/miscellaneous.md#schema_validate) + - [`SCHEMA_GET()`](../../../aql/functions/miscellaneous.md#schema_get) + - [`SCHEMA_VALIDATE()`](../../../aql/functions/miscellaneous.md#schema_validate) ## Backup and restore diff --git a/site/content/3.13/index-and-search/analyzers.md b/site/content/3.13/index-and-search/analyzers.md index 3424a680b6..51723ded13 100644 --- a/site/content/3.13/index-and-search/analyzers.md +++ b/site/content/3.13/index-and-search/analyzers.md @@ -780,9 +780,9 @@ attributes: (default is 1048576 = 1Mb) Maximum is 33554432U (32Mb) - `returnType` (string): data type of the returned tokens. If the indicated type does not match the actual type then an implicit type conversion is - applied (see [TO_STRING()](../aql/functions/type-check-and-cast.md#to_string), - [TO_NUMBER()](../aql/functions/type-check-and-cast.md#to_number), - [TO_BOOL()](../aql/functions/type-check-and-cast.md#to_bool)) + applied (see [`TO_STRING()`](../aql/functions/type-check-and-cast.md#to_string), + [`TO_NUMBER()`](../aql/functions/type-check-and-cast.md#to_number), + [`TO_BOOL()`](../aql/functions/type-check-and-cast.md#to_bool)) - `"string"` (default): convert emitted tokens to strings - `"number"`: convert emitted tokens to numbers - `"bool"`: convert emitted tokens to booleans diff --git a/site/content/3.13/index-and-search/arangosearch/fuzzy-search.md b/site/content/3.13/index-and-search/arangosearch/fuzzy-search.md index 45c8af2bcb..048f1a49ea 100644 --- a/site/content/3.13/index-and-search/arangosearch/fuzzy-search.md +++ b/site/content/3.13/index-and-search/arangosearch/fuzzy-search.md @@ -171,9 +171,9 @@ total _n_-gram count, which ever of the two is higher (here the left side with There are the following AQL string functions to calculate the [similarity](#similarity-measures) of two arbitrary strings: -- [LEVENSHTEIN_DISTANCE()](../../aql/functions/string.md#levenshtein_distance) -- [NGRAM_SIMILARITY()](../../aql/functions/string.md#ngram_similarity) -- [NGRAM_POSITIONAL_SIMILARITY()](../../aql/functions/string.md#ngram_positional_similarity) +- [`LEVENSHTEIN_DISTANCE()`](../../aql/functions/string.md#levenshtein_distance) +- [`NGRAM_SIMILARITY()`](../../aql/functions/string.md#ngram_similarity) +- [`NGRAM_POSITIONAL_SIMILARITY()`](../../aql/functions/string.md#ngram_positional_similarity) ```aql RETURN [ @@ -184,8 +184,8 @@ RETURN [ ``` To perform fuzzy searches, there are two ArangoSearch functions: -- [LEVENSHTEIN_MATCH()](../../aql/functions/arangosearch.md#levenshtein_match) -- [NGRAM_MATCH()](../../aql/functions/arangosearch.md#ngram_match) +- [`LEVENSHTEIN_MATCH()`](../../aql/functions/arangosearch.md#levenshtein_match) +- [`NGRAM_MATCH()`](../../aql/functions/arangosearch.md#ngram_match) They can be used in conjunction with a View for index-accelerated fuzzy search queries. The string similarity affects the overall `BM25()` / `TFIDF()` score diff --git a/site/content/3.13/operations/administration/reduce-memory-footprint.md b/site/content/3.13/operations/administration/reduce-memory-footprint.md index fd177338ce..070f1ae311 100644 --- a/site/content/3.13/operations/administration/reduce-memory-footprint.md +++ b/site/content/3.13/operations/administration/reduce-memory-footprint.md @@ -468,7 +468,7 @@ In ArangoDB version 3.4 we introduced [streaming cursors](../../release-notes/version-3.4/whats-new-in-3-4.md#streaming-aql-cursors) with somewhat inverted properties: less peak memory usage, longer access to the collections. Streaming is possible on document level, which means that it cannot -be applied to all query parts. For example, a *MERGE()* of all results of a +be applied to all query parts. For example, a `MERGE()` of all results of a subquery cannot be streamed (the result of the operation has to be built up fully). Nonetheless, the surrounding query may be eligible for streaming.