Skip to content

Commit 14351f6

Browse files
matea16gitbudaas51340DavIvekIgnition
authored
Memgraph 3.5 (#1334)
* init * Add the first release notes item * Add docs for STRICT_SYNC replication mode (#1351) * Add docs to 2PC * Update types of cluster --------- Co-authored-by: Matea Pesic <[email protected]> * update text index docs (#1368) Co-authored-by: Matea Pesic <[email protected]> * Start MG charts without root access (#1360) * Support running charts without root access * Update docs table --------- Co-authored-by: Matea Pesic <[email protected]> * Add replication lag (#1357) Co-authored-by: Matea Pesic <[email protected]> * Add custom init containers (#1362) Co-authored-by: Matea Pesic <[email protected]> * Add support for specifying update strategy on HA chart (#1363) Co-authored-by: Matea Pesic <[email protected]> * Add labels support (#1365) Co-authored-by: Matea Pesic <[email protected]> * Auto-index and TTL (#1371) * Auto-index and TTL * Replication fixes * Update pages/querying/time-to-live.mdx --------- Co-authored-by: Matea Pesic <[email protected]> * CREATE and SHOW SNAPSHOTS changes (#1370) Co-authored-by: Matea Pesic <[email protected]> * Add docs for SSO changes (#1373) * SSO docs * typos * Apply suggestions from code review --------- Co-authored-by: Matea Pesic <[email protected]> * K shortest paths (#1369) * touch * Defined algo * details * difference in cypher * update --------- Co-authored-by: matea16 <[email protected]> Co-authored-by: Matea Pesic <[email protected]> * Add convert_c.to_tree to the changelog * Add USER PROFILE to changelog * Added Apoc mappings able and described new functions added: toTree, fromJsonList, toJson, flatten and indexOf (#1374) * update faq (#1354) * update faq (#1354) * Added Apoc mappings able and described new functions added: toTree, fromJsonList, toJson, flatten and indexOf * Added callout where was missing * Apply suggestions from code review Co-authored-by: Matea Pesic <[email protected]> * Added changes based on comments left on review * convert module update * fix deployment issue --------- Co-authored-by: Matea Pesic <[email protected]> Co-authored-by: Andreja Tonev <[email protected]> Co-authored-by: andrejtonev <[email protected]> Co-authored-by: matea16 <[email protected]> * User profiles (#1345) * Added user profile information * PR comments * Update pages/database-management/authentication-and-authorization/user-profiles.mdx --------- Co-authored-by: Matea Pesic <[email protected]> * Existential subqueries (#1358) * Add existential subqueries * Update code example for the reference dataset * Update examples in Expressions page * Update pages/querying/clauses/where.md --------- Co-authored-by: Matea Pesic <[email protected]> * Multi-role user with ability to link roles to specific databases (#1337) * WIP * WIP * env var * auth database * repl/mt database * SHOW ROLES/PRIVILEGES ON * mt fixes * details * Apply suggestions from code review Co-authored-by: Matea Pesic <[email protected]> * recent changes -> as of v3.5 * typo * cleanup * cleanup * cleanup multi-role * cleanup * enterprise page * apply review changes --------- Co-authored-by: Matea Pesic <[email protected]> Co-authored-by: matea16 <[email protected]> * Add database UUID to show storage info (#1359) * Add database uuid to show storage info * Add note for default database * Correct input of show storage info * Apply suggestions from code review --------- Co-authored-by: Matea Pesic <[email protected]> * Added a few chnagelog items * Add most of the memgraph changelog items * Add most of the mage changelog items * Add all possible changelog items * Add documentation for pattern comprehension inside the WHERE clause (#1361) Co-authored-by: Matea Pesic <[email protected]> * Overload show methods for indexes, constraints, vector indexes, triggers, active users (#1364) * Overload show methods of indexes, constraints, vecotr indexes, triggers, active users * Another overload --------- Co-authored-by: Matea Pesic <[email protected]> * Add API reference for ZonedDateTime (#1372) * docs: Add documentation for ZonedDateTime in C and C++ API * Apply suggestions from code review --------- Co-authored-by: Matea Pesic <[email protected]> * math.round (#1376) Co-authored-by: Matea Pesic <[email protected]> * Added all breaking changelog items * Add Lab 3.5 release notes (#1355) * new: Add Lab 3.5 release notes * new: Add updates to the environment variables and SSO expiry * new: Add multi-tenancy pages * new: Add updates to the GraphChat models * add a sentence --------- Co-authored-by: Matea Pesic <[email protected]> Co-authored-by: matea16 <[email protected]> --------- Co-authored-by: Marko Budiselic <[email protected]> Co-authored-by: Andi Skrgat <[email protected]> Co-authored-by: David Ivekovic <[email protected]> Co-authored-by: Gareth Andrew Lloyd <[email protected]> Co-authored-by: andrejtonev <[email protected]> Co-authored-by: Ivan Milinović <[email protected]> Co-authored-by: tonijurjevic96 <[email protected]> Co-authored-by: Andreja Tonev <[email protected]> Co-authored-by: Josipmrden <[email protected]> Co-authored-by: colinbarry <[email protected]> Co-authored-by: Toni <[email protected]>
1 parent de9ab6d commit 14351f6

File tree

64 files changed

+4343
-576
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+4343
-576
lines changed

next-env.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/// <reference types="next" />
22
/// <reference types="next/image-types/global" />
3+
/// <reference path="./.next/types/routes.d.ts" />
34

45
// NOTE: This file should not be edited
56
// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information.

pages/advanced-algorithms.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ If you require procedures designed to solve specific graph problems, there is a
1313
number of advanced algorithms available in Memgraph.
1414

1515
[BFS](/advanced-algorithms/deep-path-traversal#breadth-first-search),
16-
[DFS](/advanced-algorithms/deep-path-traversal#depth-first-search),
17-
[Weighted shortest
18-
path](/advanced-algorithms/deep-path-traversal#weighted-shortest-path),
16+
[DFS](/advanced-algorithms/deep-path-traversal#depth-first-search), [Weighted
17+
shortest path](/advanced-algorithms/deep-path-traversal#weighted-shortest-path),
1918
[All shortest
20-
paths](/advanced-algorithms/deep-path-traversal#all-shortest-paths) are
19+
paths](/advanced-algorithms/deep-path-traversal#all-shortest-paths) and [K
20+
shortest paths](/advanced-algorithms/deep-path-traversal#k-shortest-paths) are
2121
built-in deep path traversal algorithms you can run using their specific
2222
clauses.
2323

pages/advanced-algorithms/available-algorithms.mdx

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ library](/advanced-algorithms/install-mage).
2222
| [Breadth-first search](/advanced-algorithms/deep-path-traversal#breadth-first-search) | C++ | An algorithm for traversing through a graph starting based on nodes' breadth (distance from the source node). |
2323
| [Weighted shortest path](/advanced-algorithms/deep-path-traversal#weighted-shortest-path) | C++ | The weighted shortest path problem is the problem of finding a path between two nodes in a graph such that the sum of the weights of relationships connecting nodes, or the sum of the weight of some node property on the path, is minimized. |
2424
| [All shortest paths](/advanced-algorithms/deep-path-traversal#all-shortest-paths) | C++ | Finding all shortest paths is an expansion of the weighted shortest paths problem. The goal of finding the shortest path is obtaining any minimum sum of weights on the path from one node to the other. |
25+
| [K shortest paths](/advanced-algorithms/deep-path-traversal#k-shortest-paths) | C++ | Returning K shortest paths between 2 nodes in order of shortest to longest paths. |
2526

2627
## Traditional graph algorithms
2728

@@ -84,6 +85,7 @@ If you want to know more and learn how this affects you, read our [announcement]
8485
| Algorithms | Lang | Description |
8586
|------------------------------------------------------------------------------------------|--------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
8687
| [collections](/advanced-algorithms/available-algorithms/collections) | C++ | The collections module is a collection manipulation module that offers functions to work with lists in Cypher queries, allowing operations like filtering, sorting, and modification for efficient data handling. |
88+
| [convert](/advanced-algorithms/available-algorithms/convert) | C++ | The convert module is a data transformation module that offers functions to convert various data structures into different formats, allowing operations like data type transformation and structural modifications for efficient data handling. |
8789
| [create](/advanced-algorithms/available-algorithms/create) | C++ | The create module is a set of powerful tools that provide additional capabilities for creating nodes and relationships in the Memgraph graph database. |
8890
| [csv_utils](/advanced-algorithms/available-algorithms/csv_utils) | C++ | An utility module for creating and deleting CSV files. |
8991
| [date](/advanced-algorithms/available-algorithms/date) | Python | The `date` module provides various utilities to handle date and time operations within the Cypher query language. |
@@ -96,6 +98,7 @@ If you want to know more and learn how this affects you, read our [announcement]
9698
| [label](/advanced-algorithms/available-algorithms/label) | C++ | The `label` module provides an array of utilities for working with labels. |
9799
| [llm_util](/advanced-algorithms/available-algorithms/llm_util) | Python | **Deprecated**. A module that contains procedures describing graphs in a format best suited for large language models (LLMs). |
98100
| [map](/advanced-algorithms/available-algorithms/map) | C++ | The map module offers a versatile toolkit for manipulating collections of key-value pairs, enabling advanced data operations within a graph database context |
101+
| [math](/advanced-algorithms/available-algorithms/math) | C++ | A general math query module providing mathematical operations and utilities. |
99102
| [merge](/advanced-algorithms/available-algorithms/merge) | C++ | A module which provides the capabilities of the `MERGE` Cypher command, merging or creating nodes and relationships as per specified conditions. It ensures precision and coherence in managing interconnected data structure. |
100103
| [meta](/advanced-algorithms/available-algorithms/meta) | C++ | Provides information about graph nodes and relationships. |
101104
| [meta_util](/advanced-algorithms/available-algorithms/meta_util) | Python | A module that contains procedures describing graphs on a meta-level. |
@@ -123,3 +126,55 @@ If you want to know more and learn how this affects you, read our [announcement]
123126
| [elasticsearch](/advanced-algorithms/available-algorithms/elasticsearch_synchronization) | Python | A module used for synchronizing Memgraph and Elasticsearch. |
124127
| [igraph](/advanced-algorithms/available-algorithms/igraphalg) | Python | A module that provides igraph integration with Memgraph and implements many igraph algorithms. |
125128
| [nxalg](/advanced-algorithms/available-algorithms/nxalg) | Python | A module that provides NetworkX integration with Memgraph and implements many NetworkX algorithms. |
129+
130+
131+
## APOC mappings
132+
133+
This table shows the mapping between APOC functions/procedures and their Memgraph equivalents. Use these mappings if you're familiar with Neo4j's APOC library.
134+
135+
| APOC | Description | Memgraph equivalent |
136+
|-------------------------|-------------|---------------------|
137+
| apoc.coll.union | Unites two lists into one, eliminating duplicates | [collections.union()](/advanced-algorithms/available-algorithms/collections#union) |
138+
| apoc.coll.unionAll | Returns the union of two input lists, including duplicates | [collections.union_all()](/advanced-algorithms/available-algorithms/collections#union_all) |
139+
| apoc.coll.removeAll | Removes defined elements from the input list | [collections.remove_all()](/advanced-algorithms/available-algorithms/collections#remove_all) |
140+
| apoc.coll.contains | Verifies the existence of an input value in an input list | [collections.contains()](/advanced-algorithms/available-algorithms/collections#contains) |
141+
| apoc.coll.flatten | Returns flattened list of inputs provided | [collections.flatten()](/advanced-algorithms/available-algorithms/collections#flatten) |
142+
| apoc.coll.pairs | Creates pairs of neighbor elements within an input list | [collections.pairs()](/advanced-algorithms/available-algorithms/collections#pairs) |
143+
| apoc.coll.toSet | Converts the input list to a set | [collections.to_set()](/advanced-algorithms/available-algorithms/collections#to_set) |
144+
| apoc.coll.sum | Calculates the sum of listed elements | [collections.sum()](/advanced-algorithms/available-algorithms/collections#sum) |
145+
| apoc.coll.partition | Partitions the input list into sub-lists of the specified size | [collections.partition()](/advanced-algorithms/available-algorithms/collections#partition) |
146+
| apoc.convert.toTree | Converts values into tree structures | [convert_c.to_tree()](/advanced-algorithms/available-algorithms/convert_c#to_tree) |
147+
| apoc.convert.fromJsonList | Converts a JSON string representation of a list into an actual list object | [json_util.from_json_list()](/advanced-algorithms/available-algorithms/json_util#from_json_list) |
148+
| apoc.convert.toJson | Converts any value to its JSON string representation | [json_util.to_json()](/advanced-algorithms/available-algorithms/json_util#to_json) |
149+
| apoc.create.node | Creates a single node with specified labels and properties | [create.node()](/advanced-algorithms/available-algorithms/create#node) |
150+
| apoc.create.nodes | Creates multiple nodes with specified labels and properties | [create.nodes()](/advanced-algorithms/available-algorithms/create#nodes) |
151+
| apoc.create.removeProperties | Removes properties from nodes | [create.remove_properties()](/advanced-algorithms/available-algorithms/create#remove_properties) |
152+
| apoc.create.removeLabels | Removes labels from nodes | [create.remove_labels()](/advanced-algorithms/available-algorithms/create#remove_labels) |
153+
| apoc.date.convertFormat | Converts date strings between different formats | [date.convert_format()](/advanced-algorithms/available-algorithms/date#convert_format) |
154+
| apoc.label.exists | Checks if a label exists on a node | [label.exists()](/advanced-algorithms/available-algorithms/label#exists) |
155+
| apoc.map.removeKeys | Removes specified keys from a map | [map.remove_keys()](/advanced-algorithms/available-algorithms/map#remove_keys) |
156+
| apoc.map.merge | Merges multiple maps into one | [map.merge()](/advanced-algorithms/available-algorithms/map#merge) |
157+
| apoc.map.fromLists | Creates a map from two lists (keys and values) | [map.from_lists()](/advanced-algorithms/available-algorithms/map#from_lists) |
158+
| apoc.refactor.from | Redirects relationship to use a new start node | [refactor.from()](/advanced-algorithms/available-algorithms/refactor#from) |
159+
| apoc.refactor.to | Redirects relationship to use a new end node | [refactor.to()](/advanced-algorithms/available-algorithms/refactor#to) |
160+
| apoc.refactor.rename.label | Renames a label from old to new for all nodes | [refactor.rename_label()](/advanced-algorithms/available-algorithms/refactor#rename_label) |
161+
| apoc.refactor.rename.nodeProperty | Renames a property from old to new for all nodes | [refactor.rename_node_property()](/advanced-algorithms/available-algorithms/refactor#rename_node_property) |
162+
| apoc.refactor.cloneNodes | Clones specific nodes in the graph | [refactor.clone_nodes()](/advanced-algorithms/available-algorithms/refactor#clone_nodes) |
163+
| apoc.refactor.cloneSubgraph | Clones the subgraph by cloning nodes and relationships | [refactor.clone_subgraph()](/advanced-algorithms/available-algorithms/refactor#clone_subgraph) |
164+
| apoc.refactor.cloneSubgraphFromPaths | Clones subgraph specified by a list of paths | [refactor.clone_subgraph_from_paths()](/advanced-algorithms/available-algorithms/refactor#clone_subgraph_from_paths) |
165+
| apoc.refactor.collapseNode | Collapses a node into a relationship | [refactor.collapse_node()](/advanced-algorithms/available-algorithms/refactor#collapse_node) |
166+
| apoc.refactor.invert | Inverts the direction of a given relationship | [refactor.invert()](/advanced-algorithms/available-algorithms/refactor#invert) |
167+
| apoc.refactor.normalizeAsBoolean | Normalizes properties to true/false values | [refactor.normalize_as_boolean()](/advanced-algorithms/available-algorithms/refactor#normalize_as_boolean) |
168+
| apoc.refactor.extractNode | Creates a node from a relationship | [refactor.extract_node()](/advanced-algorithms/available-algorithms/refactor#extract_node) |
169+
| apoc.refactor.deleteAndReconnect | Deletes nodes and reconnects remaining nodes | [refactor.delete_and_reconnect()](/advanced-algorithms/available-algorithms/refactor#delete_and_reconnect) |
170+
| apoc.refactor.renameType | Changes the relationship type | [refactor.rename_type()](/advanced-algorithms/available-algorithms/refactor#rename_type) |
171+
| apoc.refactor.rename.typeProperty | Renames the property of a relationship | [refactor.rename_type_property()](/advanced-algorithms/available-algorithms/refactor#rename_type_property) |
172+
| apoc.refactor.mergeNodes | Merges properties, labels and relationships for source nodes to target node | [refactor.mergeNodes()](/advanced-algorithms/available-algorithms/refactor#mergenodes) |
173+
| apoc.text.join | Joins all strings into a single one with given delimiter | [text.join()](/advanced-algorithms/available-algorithms/text#join) |
174+
| apoc.text.indexOf | Finds the index of first occurrence of a substring within a string | [text.indexOf()](/advanced-algorithms/available-algorithms/text#indexof) |
175+
| apoc.text.regexGroups | Returns all matched subexpressions of regex on provided text | [text.regexGroups()](/advanced-algorithms/available-algorithms/text#regexgroups) |
176+
| apoc.text.format | Formats strings using the C++ fmt library | [text.format()](/advanced-algorithms/available-algorithms/text#format) |
177+
| apoc.text.replace | Replaces substrings matching regex with replacement | [text.replace()](/advanced-algorithms/available-algorithms/text#replace) |
178+
| apoc.text.regReplace | Replaces substrings matching regex with replacement | [text.regReplace()](/advanced-algorithms/available-algorithms/text#regreplace) |
179+
| apoc.util.md5 | Gets MD5 hash of concatenated string representations | [util_module.md5()](/advanced-algorithms/available-algorithms/util_module#md5) |
180+
| apoc.util.validatePredicate | Raises exception if predicate yields true with parameter interpolation | [mgps.validate_predicate()](/advanced-algorithms/available-algorithms/mgps#validate_predicate) |

pages/advanced-algorithms/available-algorithms/_meta.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ export default {
99
"csv_utils": "csv_utils",
1010
"community_detection_online": "community_detection_online",
1111
"community_detection": "community_detection",
12+
"convert": "convert",
13+
"convert_c": "convert_c",
1214
"do": "do",
1315
"create": "create",
1416
"cugraph": "cugraph",
@@ -33,6 +35,7 @@ export default {
3335
"leiden_community_detection": "leiden_community_detection",
3436
"llm_util": "llm_util",
3537
"map": "map",
38+
"math": "math",
3639
"max_flow": "max_flow",
3740
"merge": "merge",
3841
"meta_util": "meta_util",

0 commit comments

Comments
 (0)