├── .cargo-husky └── hooks │ └── pre-commit ├── .dockerignore ├── .githooks └── pre-commit ├── .github ├── ISSUE_TEMPLATE │ └── bug_report.md ├── pull_request_template.md └── workflows │ ├── daily_build.yml │ ├── manual_cve_scan.yml │ ├── package_mage.yaml │ ├── promote_rc_release.yaml │ ├── release_artifacts.yaml │ ├── reusable_cve_scan.yml │ ├── reusable_package_mage.yaml │ ├── reusable_smoke_tests.yml │ ├── reusable_test.yml │ ├── smoke_tests.yml │ └── test.yml ├── .gitignore ├── .gitmodules ├── .pre-commit-config.yaml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── Dockerfile.cugraph ├── Dockerfile.release ├── Dockerfile.smoke ├── LICENSE ├── README.md ├── cpp ├── .clang-format ├── .clang-tidy ├── .gitignore ├── CMakeLists.txt ├── algo_module │ ├── CMakeLists.txt │ ├── algo_module.cpp │ └── algorithm │ │ ├── algo.cpp │ │ └── algo.hpp ├── betweenness_centrality_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── betweenness_centrality.cpp │ │ └── betweenness_centrality.hpp │ ├── algorithm_online │ │ ├── betweenness_centrality_online.cpp │ │ └── betweenness_centrality_online.hpp │ ├── betweenness_centrality_module.cpp │ ├── betweenness_centrality_online_module.cpp │ ├── betweenness_centrality_online_test.cpp │ └── betweenness_centrality_test.cpp ├── biconnected_components_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── biconnected_components.cpp │ │ └── biconnected_components.hpp │ ├── biconnected_components_module.cpp │ └── biconnected_components_test.cpp ├── bipartite_matching_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── bipartite_matching.cpp │ │ └── bipartite_matching.hpp │ ├── bipartite_matching_module.cpp │ └── bipartite_matching_test.cpp ├── bridges_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── bridges.cpp │ │ └── bridges.hpp │ ├── bridges_module.cpp │ └── bridges_test.cpp ├── collections_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── collections.cpp │ │ └── collections.hpp │ └── collections_module.cpp ├── community_detection_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── louvain.cpp │ │ └── louvain.hpp │ ├── community_detection_module.cpp │ └── grappolo │ │ ├── BasicCommunitiesDetection │ │ ├── CMakeLists.txt │ │ ├── parallelDirectedLouvainMethod.cpp │ │ ├── parallelLouvainMethod.cpp │ │ ├── parallelLouvainMethodApprox-2.cpp │ │ ├── parallelLouvainMethodApprox.cpp │ │ ├── parallelLouvainMethodFastTrackResistance.cpp │ │ ├── parallelLouvainMethodInitialized.cpp │ │ ├── parallelLouvainMethodNoMap.cpp │ │ ├── parallelLouvainMethodNoMapFastTrackResistance.cpp │ │ ├── parallelLouvainMethodScale.cpp │ │ ├── parallelLouvainMethodScaleFastTrackResistance.cpp │ │ ├── runDirectedMultiPhaseBasic.cpp │ │ ├── runMultiPhaseBasic.cpp │ │ ├── runMultiPhaseBasicApprox.cpp │ │ └── runMultiPhaseBasicFastTrackResistance.cpp │ │ ├── CMakeLists.txt │ │ ├── Coloring │ │ ├── CMakeLists.txt │ │ ├── coloringDistanceOne.cpp │ │ ├── coloringMultiHashMaxMin.cpp │ │ ├── coloringUtils.cpp │ │ ├── equitableColoringDistanceOne.cpp │ │ ├── parallelLouvainWithColoring.cpp │ │ ├── parallelLouvainWithColoringNoMap.cpp │ │ ├── runMultiPhaseColoring.cpp │ │ └── vBase.cpp │ │ ├── DefineStructure │ │ ├── RngStream.h │ │ ├── basic_comm.h │ │ ├── basic_util.h │ │ ├── color_comm.h │ │ ├── coloring.h │ │ ├── coloringUtils.h │ │ ├── dataStructureHeap.h │ │ ├── defs.h │ │ ├── input_output.h │ │ ├── sync_comm.h │ │ ├── utilityClusteringFunctions.h │ │ ├── utilityGraphPartitioner.h │ │ ├── utilityNestedDisectionMetis.h │ │ └── utilityStringTokenizer.hpp │ │ ├── FullSyncOptimization │ │ ├── CMakeLists.txt │ │ ├── fullSyncUtility.cpp │ │ ├── parallelLouvainMethodEarlyTerminate.cpp │ │ ├── parallelLouvainMethodFullSync.cpp │ │ ├── parallelLouvainMethodFullSyncEarly.cpp │ │ └── runMultiPhaseSyncType.cpp │ │ ├── LICENSE │ │ └── Utility │ │ ├── CMakeLists.txt │ │ ├── RngStream.cpp │ │ ├── buildNextPhase.cpp │ │ ├── reverseCuthillMcKee.cpp │ │ ├── utilityClusterComparisonMetrics.cpp │ │ ├── utilityClusteringFunctions.cpp │ │ ├── utilityDataStructures.cpp │ │ ├── utilityFunctions.cpp │ │ ├── utilitySparsificationFunctions.cpp │ │ └── vertexFollowing.cpp ├── connectivity_module │ ├── CMakeLists.txt │ └── connectivity_module.cpp ├── create_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── create.cpp │ │ └── create.hpp │ └── create_module.cpp ├── csv_utils_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── csv_utils.cpp │ │ └── csv_utils.hpp │ └── csv_utils_module.cpp ├── cugraph_cmake │ └── cugraph.cmake ├── cugraph_module │ ├── CMakeLists.txt │ ├── README.md │ ├── algorithms │ │ ├── balanced_cut_clustering.cu │ │ ├── betweenness_centrality.cu │ │ ├── graph_generator.cu │ │ ├── hits.cu │ │ ├── katz_centrality.cu │ │ ├── leiden.cu │ │ ├── louvain.cu │ │ ├── pagerank.cu │ │ ├── personalized_pagerank.cu │ │ └── spectral_clustering.cu │ └── mg_cugraph_utility.hpp ├── cycles_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── cycles.cpp │ │ └── cycles.hpp │ ├── cycles_module.cpp │ └── cycles_test.cpp ├── degree_centrality_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── degree_centrality.cpp │ │ └── degree_centrality.hpp │ ├── degree_centrality_module.cpp │ └── degree_centrality_test.cpp ├── distance_calculator │ ├── CMakeLists.txt │ └── distance_calculator.cpp ├── do_module │ ├── CMakeLists.txt │ └── do_module.cpp ├── graph_util_module │ ├── CMakeLists.txt │ ├── algorithms │ │ ├── ancestors.hpp │ │ ├── chain_nodes.hpp │ │ ├── connect_nodes.hpp │ │ ├── descendants.hpp │ │ └── topological_sort.hpp │ └── graph_util_module.cpp ├── katz_centrality_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── katz.cpp │ │ └── katz.hpp │ └── katz_centrality_module.cpp ├── label_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── label.cpp │ │ └── label.hpp │ └── label_module.cpp ├── leiden_community_detection_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── leiden.cpp │ │ └── leiden.hpp │ ├── leiden_community_detection_module.cpp │ └── leiden_utils │ │ ├── leiden_utils.cpp │ │ └── leiden_utils.hpp ├── map_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── map.cpp │ │ └── map.hpp │ └── map_module.cpp ├── merge_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── merge.cpp │ │ └── merge.hpp │ └── merge_module.cpp ├── meta_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── meta.cpp │ │ └── meta.hpp │ └── meta_module.cpp ├── neighbors_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── neighbors.cpp │ │ └── neighbors.hpp │ └── neighbors_module.cpp ├── node_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── node.cpp │ │ └── node.hpp │ └── node_module.cpp ├── node_similarity_module │ ├── CMakeLists.txt │ ├── algorithms │ │ └── node_similarity.hpp │ └── node_similarity_module.cpp ├── nodes_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── nodes.cpp │ │ └── nodes.hpp │ └── nodes_module.cpp ├── pagerank_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── pagerank.cpp │ │ └── pagerank.hpp │ ├── pagerank_module.cpp │ └── pagerank_test.cpp ├── path_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── path.cpp │ │ └── path.hpp │ └── path_module.cpp ├── periodic_module │ ├── CMakeLists.txt │ └── periodic.cpp ├── refactor_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── refactor.cpp │ │ └── refactor.hpp │ └── refactor_module.cpp ├── set_property_module │ ├── CMakeLists.txt │ └── set_property_module.cpp ├── text_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── text.cpp │ │ └── text.hpp │ └── text_module.cpp ├── util_module │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── md5.cpp │ │ ├── md5.hpp │ │ ├── util.cpp │ │ └── util.hpp │ └── util_module.cpp └── uuid_module │ ├── CMakeLists.txt │ └── uuid_module.cpp ├── e2e ├── __init__.py ├── algo_test │ ├── test_astar_cutsom_heur │ │ ├── input.cyp │ │ └── test.yml │ ├── test_astar_temporal_type │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cover1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cover2 │ │ ├── input.cyp │ │ └── test.yml │ └── test_cover3 │ │ ├── input.cyp │ │ └── test.yml ├── ancestors_test │ ├── test_multiple_traverse_ancestors │ │ ├── input.cyp │ │ └── test.yml │ ├── test_multiple_traverse_ancestors_nested │ │ ├── input.cyp │ │ └── test.yml │ ├── test_multiple_traverse_ancestors_nested_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_no_ancestors │ │ ├── input.cyp │ │ └── test.yml │ └── test_one_ancestor │ │ ├── input.cyp │ │ └── test.yml ├── betweenness_centrality_online_test │ ├── test_online_get │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_get_inconsistent │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_get_uninitialized │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_no_parallelization │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_normalization │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_set │ │ ├── input.cyp │ │ └── test.yml │ └── update_group │ │ ├── test_online_create&attach_node │ │ ├── input.cyp │ │ └── test.yml │ │ ├── test_online_create&attach_node_to_chain │ │ ├── input.cyp │ │ └── test.yml │ │ ├── test_online_create_edge_biconnected_graph │ │ ├── input.cyp │ │ └── test.yml │ │ ├── test_online_create_edge_non-biconnected_graph │ │ ├── input.cyp │ │ └── test.yml │ │ ├── test_online_create_node │ │ ├── input.cyp │ │ └── test.yml │ │ ├── test_online_delete_edge_biconnected_graph │ │ ├── input.cyp │ │ └── test.yml │ │ ├── test_online_delete_edge_non-biconnected graph │ │ ├── input.cyp │ │ └── test.yml │ │ ├── test_online_delete_node │ │ ├── input.cyp │ │ └── test.yml │ │ ├── test_online_detach&delete_node │ │ ├── input.cyp │ │ └── test.yml │ │ ├── test_online_detach&delete_node_from_chain │ │ ├── input.cyp │ │ └── test.yml │ │ └── test_online_update_uninitialized │ │ ├── input.cyp │ │ └── test.yml ├── betweenness_centrality_test │ ├── test_chain_directed │ │ ├── input.cyp │ │ └── test.yml │ ├── test_chain_normalized │ │ ├── input.cyp │ │ └── test.yml │ ├── test_chain_undirected │ │ ├── input.cyp │ │ └── test.yml │ ├── test_complete_graph │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_complete_graph │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_large_directed │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_normalized_directed_graph │ │ ├── input.cyp │ │ └── test.yml │ ├── test_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_normalized_directed_graph │ │ ├── input.cyp │ │ └── test.yml │ └── test_two_nodes │ │ ├── input.cyp │ │ └── test.yml ├── biconnected_components_test │ └── test_simple │ │ ├── input.cyp │ │ └── test.yml ├── bipartite_matching_test │ ├── test_chain │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cycle │ │ ├── input.cyp │ │ └── test.yml │ ├── test_empty │ │ ├── input.cyp │ │ └── test.yml │ └── test_hierarchy │ │ ├── input.cyp │ │ └── test.yml ├── bridges_test │ ├── test_chain │ │ ├── input.cyp │ │ └── test.yml │ ├── test_one_bridge │ │ ├── input.cyp │ │ └── test.yml │ └── test_two_bridges │ │ ├── input.cyp │ │ └── test.yml ├── chain_nodes_test │ ├── test_multiple_chain │ │ ├── input.cyp │ │ └── test.yml │ ├── test_no_chain │ │ ├── input.cyp │ │ └── test.yml │ ├── test_one_chain │ │ ├── input.cyp │ │ └── test.yml │ └── test_online_multiple_chain_node_ids │ │ ├── input.cyp │ │ └── test.yml ├── collections_test │ ├── test_avg_different_types │ │ ├── input.cyp │ │ └── test.yml │ ├── test_avg_negative │ │ ├── input.cyp │ │ └── test.yml │ ├── test_avg_positive │ │ ├── input.cyp │ │ └── test.yml │ ├── test_contains1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_contains2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_contains3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_contains4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_contains5 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_containsS_diff_type │ │ ├── input.cyp │ │ └── test.yml │ ├── test_containsS_sorted │ │ ├── input.cyp │ │ └── test.yml │ ├── test_containsS_sorted_false │ │ ├── input.cyp │ │ └── test.yml │ ├── test_containsS_unsorted │ │ ├── input.cyp │ │ └── test.yml │ ├── test_contains_all_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_contains_all_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_contains_all_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_intersection_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_intersection_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_intersection_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_max_diff_types │ │ ├── input.cyp │ │ └── test.yml │ ├── test_max_negatives │ │ ├── input.cyp │ │ └── test.yml │ ├── test_max_positives │ │ ├── input.cyp │ │ └── test.yml │ ├── test_min1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_min2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_min3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_min4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_pairs_allTypes │ │ ├── input.cyp │ │ └── test.yml │ ├── test_pairs_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_pairs_oneType │ │ ├── input.cyp │ │ └── test.yml │ ├── test_partition1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_partition2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_partition3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_partition4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_remove_all_basic │ │ ├── input.cyp │ │ └── test.yml │ ├── test_remove_all_duplicates │ │ ├── input.cyp │ │ └── test.yml │ ├── test_remove_all_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_remove_all_not_exist │ │ ├── input.cyp │ │ └── test.yml │ ├── test_sort_diff_types │ │ ├── input.cyp │ │ └── test.yml │ ├── test_sort_numeric │ │ ├── input.cyp │ │ └── test.yml │ ├── test_sort_string │ │ ├── input.cyp │ │ └── test.yml │ ├── test_split_delim_first │ │ ├── input.cyp │ │ └── test.yml │ ├── test_split_delim_last │ │ ├── input.cyp │ │ └── test.yml │ ├── test_split_empty_list │ │ ├── input.cyp │ │ └── test.yml │ ├── test_split_multiple_delim │ │ ├── input.cyp │ │ └── test.yml │ ├── test_split_no_delim │ │ ├── input.cyp │ │ └── test.yml │ ├── test_sum_longs_big │ │ ├── input.cyp │ │ └── test.yml │ ├── test_sum_longs_doubles │ │ ├── input.cyp │ │ └── test.yml │ ├── test_sum_longs_longlong │ │ ├── input.cyp │ │ └── test.yml │ ├── test_sum_longs_normal │ │ ├── input.cyp │ │ └── test.yml │ ├── test_sum_notlist │ │ ├── input.cyp │ │ └── test.yml │ ├── test_sum_numeric │ │ ├── input.cyp │ │ └── test.yml │ ├── test_sum_string │ │ ├── input.cyp │ │ └── test.yml │ ├── test_to_set1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_to_set2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_union_all1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_union_all2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_union_all3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_union_diff_types │ │ ├── input.cyp │ │ └── test.yml │ ├── test_union_empty │ │ ├── input.cyp │ │ └── test.yml │ └── test_union_overlap │ │ ├── input.cyp │ │ └── test.yml ├── community_detection_test │ ├── test_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_four_components │ │ ├── input.cyp │ │ └── test.yml │ ├── test_four_components_isolated │ │ ├── input.cyp │ │ └── test.yml │ ├── test_four_components_with_weight │ │ ├── input.cyp │ │ └── test.yml │ ├── test_graph_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_graph_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_graph_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_graph_4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_simple_graph │ │ ├── input.cyp │ │ └── test.yml │ └── test_subgraph │ │ ├── input.cyp │ │ └── test.yml ├── connect_nodes_test │ ├── test_multiple_connections │ │ ├── input.cyp │ │ └── test.yml │ ├── test_multiple_connections_and_alone_nodes │ │ ├── input.cyp │ │ └── test.yml │ ├── test_no_connections │ │ ├── input.cyp │ │ └── test.yml │ └── test_one_connection │ │ ├── input.cyp │ │ └── test.yml ├── cycles_test │ ├── test_chain │ │ ├── input.cyp │ │ └── test.yml │ ├── test_empty │ │ ├── input.cyp │ │ └── test.yml │ └── test_multi_cycle │ │ ├── input.cyp │ │ └── test.yml ├── date_test │ ├── test_add │ │ ├── input.cyp │ │ └── test.yml │ ├── test_add_different_unit │ │ ├── input.cyp │ │ └── test.yml │ ├── test_add_incorrect_first_unit │ │ ├── input.cyp │ │ └── test.yml │ ├── test_add_incorrect_second_unit │ │ ├── input.cyp │ │ └── test.yml │ ├── test_add_temporal_type_interoperation │ │ ├── input.cyp │ │ └── test.yml │ ├── test_add_to_negative │ │ ├── input.cyp │ │ └── test.yml │ ├── test_format1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_format2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_format3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_parse1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_parse2 │ │ ├── input.cyp │ │ └── test.yml │ └── test_parse3 │ │ ├── input.cyp │ │ └── test.yml ├── degree_centrality_test │ ├── test_7_nodes_out_centrality │ │ ├── input.cyp │ │ └── test.yml │ ├── test_7_nodes_subgraph_in_centrality │ │ ├── input.cyp │ │ └── test.yml │ ├── test_7_nodes_undirected │ │ ├── input.cyp │ │ └── test.yml │ ├── test_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_empty_subgraph │ │ ├── input.cyp │ │ └── test.yml │ └── test_wrong_type │ │ ├── input.cyp │ │ └── test.yml ├── descendants_test │ ├── test_multiple_traverse_descendants │ │ ├── input.cyp │ │ └── test.yml │ ├── test_multiple_traverse_descendants_nested │ │ ├── input.cyp │ │ └── test.yml │ ├── test_multiple_traverse_descendants_nested_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_no_descendants │ │ ├── input.cyp │ │ └── test.yml │ └── test_one_descendant │ │ ├── input.cyp │ │ └── test.yml ├── distance_calculator_test │ ├── test_distance_multiple │ │ ├── input.cyp │ │ └── test.yml │ ├── test_distance_multiple_km │ │ ├── input.cyp │ │ └── test.yml │ └── test_distance_single │ │ ├── input.cyp │ │ └── test.yml ├── do_test │ ├── complex_condition_group │ │ ├── test_do_case_complex_condition │ │ │ ├── input.cyp │ │ │ └── test.yml │ │ └── test_do_when_complex_condition │ │ │ ├── input.cyp │ │ │ └── test.yml │ ├── disallowed_query_group │ │ ├── test_do_case │ │ │ ├── input.cyp │ │ │ └── test.yml │ │ └── test_do_when │ │ │ ├── input.cyp │ │ │ └── test.yml │ ├── do_case_group │ │ ├── test_run_else_query │ │ │ ├── input.cyp │ │ │ └── test.yml │ │ ├── test_run_first_if_query_with_true │ │ │ ├── input.cyp │ │ │ └── test.yml │ │ ├── test_simple │ │ │ ├── input.cyp │ │ │ └── test.yml │ │ ├── test_unpaired_conditionals │ │ │ ├── input.cyp │ │ │ └── test.yml │ │ └── test_wrong_type_conditionals │ │ │ ├── input.cyp │ │ │ └── test.yml │ ├── do_when_group │ │ ├── test_run_else │ │ │ ├── input.cyp │ │ │ └── test.yml │ │ └── test_run_if │ │ │ ├── input.cyp │ │ │ └── test.yml │ ├── graph_types_group │ │ ├── test_return_node │ │ │ ├── input.cyp │ │ │ └── test.yml │ │ ├── test_return_path │ │ │ ├── input.cyp │ │ │ └── test.yml │ │ └── test_return_relationship │ │ │ ├── input.cyp │ │ │ └── test.yml │ ├── parameterization_group │ │ ├── test_do_case_params │ │ │ ├── input.cyp │ │ │ └── test.yml │ │ ├── test_do_when_params │ │ │ ├── input.cyp │ │ │ └── test.yml │ │ └── test_params_&_strings │ │ │ ├── input.cyp │ │ │ └── test.yml │ ├── return_nothing_group │ │ ├── test_do_case │ │ │ ├── input.cyp │ │ │ └── test.yml │ │ └── test_do_when │ │ │ ├── input.cyp │ │ │ └── test.yml │ ├── test_strings_containing_quotes │ │ ├── input.cyp │ │ └── test.yml │ └── type_conversion_group │ │ ├── test_return_node_relationship │ │ ├── input.cyp │ │ └── test.yml │ │ └── test_return_path │ │ ├── input.cyp │ │ └── test.yml ├── export_import_deprecated │ └── test_online_export_import │ │ ├── input.cyp │ │ └── test.yml ├── export_util_test │ ├── test_csv_graph_exporting_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_csv_graph_exporting_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_csv_query │ │ ├── input.cyp │ │ └── test.yml │ ├── test_export_cypher_all_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_export_cypher_all_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_export_cypher_all_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_export_json_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_export_json_graph_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_export_json_graph_2 │ │ ├── input.cyp │ │ └── test.yml │ └── test_export_json_graph_3 │ │ ├── input.cyp │ │ └── test.yml ├── graph_coloring_test │ ├── test_convergence_callback │ │ ├── input.cyp │ │ └── test.yml │ ├── test_graph_init_algorithms │ │ ├── input.cyp │ │ └── test.yml │ ├── test_graph_one_node │ │ ├── input.cyp │ │ └── test.yml │ ├── test_graph_parallel │ │ ├── input.cyp │ │ └── test.yml │ ├── test_graph_without_weight │ │ ├── input.cyp │ │ └── test.yml │ ├── test_large_graph │ │ ├── input.cyp │ │ └── test.yml │ ├── test_multiple_mutation │ │ ├── input.cyp │ │ └── test.yml │ ├── test_random_mutation │ │ ├── input.cyp │ │ └── test.yml │ └── test_subgraph_without_weight │ │ ├── input.cyp │ │ └── test.yml ├── graphml_test │ └── test_export │ │ ├── input.cyp │ │ └── test.yml ├── hits_test │ ├── test_cugraph_10_nodes │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_10_nodes_undirected │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_15_nodes │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_5_nodes │ │ ├── input.cyp │ │ └── test.yml │ └── test_cugraph_empty │ │ ├── input.cyp │ │ └── test.yml ├── igraphalg_test │ ├── test_all_shortest_path_length_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_all_shortest_path_length_no_path │ │ ├── input.cyp │ │ └── test.yml │ ├── test_all_shortest_path_length_weighted │ │ ├── input.cyp │ │ └── test.yml │ ├── test_all_shortest_path_lengths_unweighted │ │ ├── input.cyp │ │ └── test.yml │ ├── test_leiden_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_leiden_exception │ │ ├── input.cyp │ │ └── test.yml │ ├── test_leiden_initial_membership │ │ ├── input.cyp │ │ └── test.yml │ ├── test_leiden_node_weights │ │ ├── input.cyp │ │ └── test.yml │ ├── test_leiden_valid │ │ ├── input.cyp │ │ └── test.yml │ ├── test_max_flow_bidirectional_edge │ │ ├── input.cyp │ │ └── test.yml │ ├── test_max_flow_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_max_flow_multiple_components │ │ ├── input.cyp │ │ └── test.yml │ ├── test_max_flow_no_flow │ │ ├── input.cyp │ │ └── test.yml │ ├── test_max_flow_normal │ │ ├── input.cyp │ │ └── test.yml │ ├── test_min_cut_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_min_cut_undirected │ │ ├── input.cyp │ │ └── test.yml │ ├── test_min_cut_unweighted │ │ ├── input.cyp │ │ └── test.yml │ ├── test_min_cut_weighted │ │ ├── input.cyp │ │ └── test.yml │ ├── test_min_span_tree_directed │ │ ├── input.cyp │ │ └── test.yml │ ├── test_min_span_tree_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_min_span_tree_undirected │ │ ├── input.cyp │ │ └── test.yml │ ├── test_min_span_tree_weighted │ │ ├── input.cyp │ │ └── test.yml │ ├── test_pagerank_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_pagerank_invalid_implementation_option │ │ ├── input.cyp │ │ └── test.yml │ ├── test_pagerank_normal_directed │ │ ├── input.cyp │ │ └── test.yml │ ├── test_pagerank_normal_undirected │ │ ├── input.cyp │ │ └── test.yml │ ├── test_pagerank_weighted │ │ ├── input.cyp │ │ └── test.yml │ ├── test_shortest_path_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_shortest_path_length_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_shortest_path_length_no_path │ │ ├── input.cyp │ │ └── test.yml │ ├── test_shortest_path_length_unweighted │ │ ├── input.cyp │ │ └── test.yml │ ├── test_shortest_path_length_weighted │ │ ├── input.cyp │ │ └── test.yml │ ├── test_shortest_path_no_path │ │ ├── input.cyp │ │ └── test.yml │ ├── test_shortest_path_undirected │ │ ├── input.cyp │ │ └── test.yml │ ├── test_shortest_path_unweighted │ │ ├── input.cyp │ │ └── test.yml │ ├── test_shortest_path_weighted │ │ ├── input.cyp │ │ └── test.yml │ ├── test_simple_paths │ │ ├── input.cyp │ │ └── test.yml │ ├── test_simple_paths_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_simple_paths_no_path │ │ ├── input.cyp │ │ └── test.yml │ ├── test_topological_sort_cycle │ │ ├── input.cyp │ │ └── test.yml │ ├── test_topological_sort_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_topological_sort_invalid_mode_exception │ │ ├── input.cyp │ │ └── test.yml │ └── test_topological_sort_valid │ │ ├── input.cyp │ │ └── test.yml ├── json_util_test │ └── test_load_from_url │ │ ├── input.cyp │ │ └── test.yml ├── katz_test │ ├── test_cugraph_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_large_random_graph │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_small_random_graph │ │ ├── input.cyp │ │ └── test.yml │ ├── test_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_large_random_graph │ │ ├── input.cyp │ │ └── test.yml │ └── test_small_random_graph │ │ ├── input.cyp │ │ └── test.yml ├── kmeans_test │ └── test_kmeans_small │ │ ├── input.cyp │ │ └── test.yml ├── label_test │ ├── test_exists_false │ │ ├── input.cyp │ │ └── test.yml │ ├── test_exists_not_node │ │ ├── input.cyp │ │ └── test.yml │ └── test_exists_true │ │ ├── input.cyp │ │ └── test.yml ├── leiden_community_detection_test │ ├── test_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_four_components │ │ ├── input.cyp │ │ └── test.yml │ ├── test_four_components_isolated │ │ ├── input.cyp │ │ └── test.yml │ ├── test_four_components_with_weight │ │ ├── input.cyp │ │ └── test.yml │ ├── test_graph_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_graph_2 │ │ ├── input.cyp │ │ └── test.yml │ └── test_subgraph │ │ ├── input.cyp │ │ └── test.yml ├── leiden_cugraph_test │ ├── test_cugraph_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_simple_10_nodes │ │ ├── input.cyp │ │ └── test.yml │ └── test_cugraph_simple_5_nodes │ │ ├── input.cyp │ │ └── test.yml ├── link_prediction_test │ ├── test_online_cuda_training │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_dataset_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_disconnected_graph │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_duplicate_connection │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_get_training_results_no_train │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_no_edges │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_no_validation_set │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_predict_no_train_no_load │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_same_edge_type_on_more_type_triplets │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_same_edge_type_on_more_type_triplets_mult_labels │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_small_chain_graph │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_train_predict_heterogeneous_graph │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_train_predict_homogeneous_graph │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_two_nodes_directed_edge │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_user_specified_target_edge_type │ │ ├── input.cyp │ │ └── test.yml │ └── test_online_user_specified_target_relation │ │ ├── input.cyp │ │ └── test.yml ├── llm_util_test │ ├── test_schema_default_with_relationship_props │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_default_without_relationship_props │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_error_argument │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_prompt_ready_ignore_case │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_prompt_ready_with_relationship_props │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_prompt_ready_without_relationship_props │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_raw_ignore_case │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_raw_node_properties_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_raw_node_properties_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_raw_node_properties_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_raw_node_properties_4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_raw_relationship_properties_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_raw_relationship_properties_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_raw_relationship_properties_3 │ │ ├── input.cyp │ │ └── test.yml │ └── test_schema_raw_relationships │ │ ├── input.cyp │ │ └── test.yml ├── louvain_test │ ├── test_cugraph_5_nodes_undirected │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_four_components │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_four_components_isolated │ │ ├── input.cyp │ │ └── test.yml │ └── test_cugraph_simple_graph │ │ ├── input.cyp │ │ └── test.yml ├── map_test │ ├── test_flatten1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_flatten2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_flatten3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_fromLists1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_fromLists2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_fromLists3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_fromPairs_diff_types │ │ ├── input.cyp │ │ └── test.yml │ ├── test_fromPairs_key_dupl │ │ ├── input.cyp │ │ └── test.yml │ ├── test_fromPairs_key_not_str │ │ ├── input.cyp │ │ └── test.yml │ ├── test_fromPairs_not_pairs │ │ ├── input.cyp │ │ └── test.yml │ ├── test_from_nodes2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_from_nodes_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_from_values_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_from_values_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_from_values_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_merge │ │ ├── input.cyp │ │ └── test.yml │ ├── test_merge_duplicate_key │ │ ├── input.cyp │ │ └── test.yml │ ├── test_merge_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeKey_exists │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeKey_not_exist │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeKey_recursion │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeKeys1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeKeys2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeKeys3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeKeys4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeKeys5 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeKeys6 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_set_key_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_set_key_2 │ │ ├── input.cyp │ │ └── test.yml │ └── test_set_key_3 │ │ ├── input.cyp │ │ └── test.yml ├── max_flow_test │ ├── test_bidirectional_edge │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cycle │ │ ├── input.cyp │ │ └── test.yml │ ├── test_edge_without_property │ │ ├── input.cyp │ │ └── test.yml │ ├── test_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_multiple_components │ │ ├── input.cyp │ │ └── test.yml │ ├── test_no_flow │ │ ├── input.cyp │ │ └── test.yml │ ├── test_normal │ │ ├── input.cyp │ │ └── test.yml │ ├── test_path_recursive_return │ │ ├── input.cyp │ │ └── test.yml │ └── test_paths │ │ ├── input.cyp │ │ └── test.yml ├── meta_online_test │ ├── test_online_stats_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_stats_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_stats_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_stats_4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_stats_5 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_stats_detach_delete │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_stats_update_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_stats_update_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_stats_update_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_stats_update_4 │ │ ├── input.cyp │ │ └── test.yml │ └── test_online_stats_update_5 │ │ ├── input.cyp │ │ └── test.yml ├── meta_test │ ├── test_stats_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_stats_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_stats_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_stats_4 │ │ ├── input.cyp │ │ └── test.yml │ └── test_stats_5 │ │ ├── input.cyp │ │ └── test.yml ├── meta_util_test │ ├── test_schema_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_nodes_labels │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_nodes_properties │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_nodes_size │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_relationships_count │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_relationships_labels │ │ ├── input.cyp │ │ └── test.yml │ ├── test_schema_relationships_properties │ │ ├── input.cyp │ │ └── test.yml │ └── test_schema_relationships_size │ │ ├── input.cyp │ │ └── test.yml ├── neighbors_test │ ├── test_athop │ │ ├── input.cyp │ │ └── test.yml │ ├── test_athop_cycle │ │ ├── input.cyp │ │ └── test.yml │ ├── test_athop_direction │ │ ├── input.cyp │ │ └── test.yml │ ├── test_athop_empty_type │ │ ├── input.cyp │ │ └── test.yml │ ├── test_byhop │ │ ├── input.cyp │ │ └── test.yml │ ├── test_byhop_direction │ │ ├── input.cyp │ │ └── test.yml │ └── test_byhop_multiple │ │ ├── input.cyp │ │ └── test.yml ├── node2vec_test │ ├── test_get_embeddings │ │ ├── input.cyp │ │ └── test.yml │ └── test_set_embedings │ │ ├── input.cyp │ │ └── test.yml ├── node_classification_online_test │ ├── test_online_class_label_no_0 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_load_non_existing_model │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_predict │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_reset │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_save_and_load │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_save_without_initialized_model │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_set_parameters │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_set_parameters_incorrect_type │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_train_GAT_with_three_layers │ │ ├── input.cyp │ │ └── test.yml │ └── test_online_train_SAGE_with_two_layers │ │ ├── input.cyp │ │ └── test.yml ├── node_similarity_test │ ├── test_incompatible_lengths_cosine │ │ ├── input.cyp │ │ └── test.yml │ ├── test_incompatible_lengths_jaccard │ │ ├── input.cyp │ │ └── test.yml │ ├── test_incompatible_lengths_overlap │ │ ├── input.cyp │ │ └── test.yml │ ├── test_incompatible_vector_lengths_cosine │ │ ├── input.cyp │ │ └── test.yml │ ├── test_invalid_first_argument │ │ ├── input.cyp │ │ └── test.yml │ ├── test_invalid_second_argument │ │ ├── input.cyp │ │ └── test.yml │ ├── test_list_list_cosine_c │ │ ├── input.cyp │ │ └── test.yml │ ├── test_list_list_cosine_p │ │ ├── input.cyp │ │ └── test.yml │ ├── test_list_list_jaccard_c │ │ ├── input.cyp │ │ └── test.yml │ ├── test_list_list_jaccard_p │ │ ├── input.cyp │ │ └── test.yml │ ├── test_list_list_overlap_c │ │ ├── input.cyp │ │ └── test.yml │ ├── test_list_list_overlap_p │ │ ├── input.cyp │ │ └── test.yml │ ├── test_no_neighbors_cosine │ │ ├── input.cyp │ │ └── test.yml │ ├── test_no_neighbors_jaccard │ │ ├── input.cyp │ │ └── test.yml │ ├── test_no_neighbors_overlap │ │ ├── input.cyp │ │ └── test.yml │ ├── test_no_property_cosine │ │ ├── input.cyp │ │ └── test.yml │ ├── test_one_has_no_neighbors_cosine │ │ ├── input.cyp │ │ └── test.yml │ ├── test_one_has_no_neighbors_jaccard │ │ ├── input.cyp │ │ └── test.yml │ ├── test_one_has_no_neighbors_overlap │ │ ├── input.cyp │ │ └── test.yml │ ├── test_two_nodes_cosine_p │ │ ├── input.cyp │ │ └── test.yml │ ├── test_two_nodes_jaccard_p │ │ ├── input.cyp │ │ └── test.yml │ └── test_two_nodes_overlap_p │ │ ├── input.cyp │ │ └── test.yml ├── node_test │ ├── test_degree_in1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_degree_in2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_degree_in3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_degree_out1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_degree_out2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_degree_out3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rel-exists_in │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rel-exists_in_false │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rel-exists_in_or_out │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rel-exists_in_or_out_false │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rel-exists_multiple │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rel-exists_no_pattern │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rel-exists_no_pattern_false │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rel-exists_out │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rel-exists_out_false │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationship_types_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationship_types_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationship_types_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationshipsExist1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationshipsExist2 │ │ ├── input.cyp │ │ └── test.yml │ └── test_relationshipsExist3 │ │ ├── input.cyp │ │ └── test.yml ├── nodes_test │ ├── test_relationship_types_id │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationship_types_ids │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationship_types_node │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationship_types_nodes │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationships_exist1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationships_exist2 │ │ ├── input.cyp │ │ └── test.yml │ └── test_relationships_exist3 │ │ ├── input.cyp │ │ └── test.yml ├── pagerank_test │ ├── test_chain │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_influential_node │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_influential_node_transfer │ │ ├── input.cyp │ │ └── test.yml │ ├── test_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_influential_node │ │ ├── input.cyp │ │ └── test.yml │ └── test_influential_node_transfer │ │ ├── input.cyp │ │ └── test.yml ├── path_test │ ├── test_create_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_create_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_create_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_elements_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_elements_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_expand1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_expand2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_expand3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_expand4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_subgraph_all_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_subgraph_all_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_subgraph_all_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_subgraph_nodes_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_subgraph_nodes_2 │ │ ├── input.cyp │ │ └── test.yml │ └── test_subgraph_nodes_3 │ │ ├── input.cyp │ │ └── test.yml ├── periodic_delete_test │ ├── test_periodic_delete_batch_argument_not_int │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_delete_batch_size_negative │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_delete_everything │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_delete_invalid_edge_type_config │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_delete_invalid_labels_config │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_delete_no_batch_argument │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_delete_on_just_edges │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_delete_on_just_nodes │ │ ├── input.cyp │ │ └── test.yml │ └── test_periodic_delete_on_specific_label │ │ ├── input.cyp │ │ └── test.yml ├── periodic_iterate_test │ ├── test_periodic_iterate_invalid_batch_argument │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_iterate_invalid_batch_argument_negative │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_iterate_invalid_batch_argument_value │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_iterate_node_inputs │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_iterate_node_inputs_multiple_batches │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_iterate_primitive_inputs │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_iterate_primitive_inputs_multiple_batches │ │ ├── input.cyp │ │ └── test.yml │ ├── test_periodic_iterate_show_number_of_executed_batches │ │ ├── input.cyp │ │ └── test.yml │ └── test_periodic_iterate_show_number_of_executed_batches_second │ │ ├── input.cyp │ │ └── test.yml ├── personalized_pagerank_test │ ├── test_cugraph_10_nodes │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cugraph_15_nodes │ │ ├── input.cyp │ │ └── test.yml │ └── test_cugraph_5_nodes │ │ ├── input.cyp │ │ └── test.yml ├── pytest.ini ├── refactor_test │ ├── test_clone_subgraph_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_clone_subgraph_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_clone_subgraph_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_extract_node_id │ │ ├── input.cyp │ │ └── test.yml │ ├── test_extract_node_ids │ │ ├── input.cyp │ │ └── test.yml │ ├── test_extract_node_rel │ │ ├── input.cyp │ │ └── test.yml │ ├── test_extract_node_rels │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_categorize_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_categorize_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_categorize_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rename_label │ │ ├── input.cyp │ │ └── test.yml │ └── test_rename_property_nodes │ │ ├── input.cyp │ │ └── test.yml ├── rsmgp_example_test │ └── test_simple │ │ ├── input.cyp │ │ └── test.yml ├── set_property_test │ ├── test_copy_property_node_2_node │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_node_2_node_invalid_node_type │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_node_2_node_invalid_node_type_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_node_2_node_sizes_not_match │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_node_2_rel │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_node_2_rel_invalid_node_type │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_node_2_rel_invalid_rel_type │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_node_2_rel_sizes_not_match │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_rel_2_node │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_rel_2_node_invalid_node_type │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_rel_2_node_invalid_rel_type │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_rel_2_node_sizes_not_match │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_rel_2_rel │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_rel_2_rel_invalid_node_type │ │ ├── input.cyp │ │ └── test.yml │ ├── test_copy_property_rel_2_rel_invalid_rel_type_2 │ │ ├── input.cyp │ │ └── test.yml │ └── test_copy_property_rel_2_rel_sizes_not_match │ │ ├── input.cyp │ │ └── test.yml ├── temporal_test │ ├── test_date │ │ ├── input.cyp │ │ └── test.yml │ ├── test_datetime │ │ ├── input.cyp │ │ └── test.yml │ ├── test_duration │ │ ├── input.cyp │ │ └── test.yml │ └── test_time │ │ ├── input.cyp │ │ └── test.yml ├── test_module.py ├── text_test │ ├── test_format_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_format_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_join_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_join_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_join_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_regex_groups_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_regex_groups_2 │ │ ├── input.cyp │ │ └── test.yml │ └── test_regex_groups_3 │ │ ├── input.cyp │ │ └── test.yml ├── tgn_test │ ├── test_online_self_supervised_big_batch_graph_attn_identity_last_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_self_supervised_big_batch_graph_attn_identity_mean_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_self_supervised_big_batch_graph_sum_identity_last_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_self_supervised_big_batch_graph_sum_identity_mean_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_self_supervised_multiple_batches_embeddings_calculation_graph_attn_identity_last_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_self_supervised_multiple_batches_embeddings_calculation_graph_attn_identity_last_rnn │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_self_supervised_multiple_batches_embeddings_calculation_graph_attn_identity_mean_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_self_supervised_multiple_batches_embeddings_calculation_graph_sum_identity_last_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_self_supervised_multiple_batches_embeddings_calculation_graph_sum_identity_last_rnn │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_self_supervised_multiple_batches_embeddings_calculation_graph_sum_identity_mean_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_self_supervised_small_batch_graph_attn_identity_last_gru_train_eval │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_supervised_big_batch_graph_attn_identity_last_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_supervised_big_batch_graph_attn_identity_mean_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_supervised_big_batch_graph_sum_identity_last_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_supervised_big_batch_graph_sum_identity_mean_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_supervised_multiple_batches_embeddings_calculation_graph_attn_identity_last_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_supervised_multiple_batches_embeddings_calculation_graph_attn_identity_last_rnn │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_supervised_multiple_batches_embeddings_calculation_graph_attn_identity_mean_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_supervised_multiple_batches_embeddings_calculation_graph_sum_identity_last_gru │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_supervised_multiple_batches_embeddings_calculation_graph_sum_identity_last_rnn │ │ ├── input.cyp │ │ └── test.yml │ └── test_online_supervised_multiple_batches_embeddings_calculation_graph_sum_identity_mean_gru │ │ ├── input.cyp │ │ └── test.yml ├── topological_sort_test │ ├── test_2_disjoint_nodes │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cyclic_graph │ │ ├── input.cyp │ │ └── test.yml │ ├── test_cyclic_graph_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_dependency_nodes │ │ ├── input.cyp │ │ └── test.yml │ ├── test_dependency_nodes_nested │ │ ├── input.cyp │ │ └── test.yml │ ├── test_no_nodes_empty_sort │ │ ├── input.cyp │ │ └── test.yml │ └── test_one_node_sort │ │ ├── input.cyp │ │ └── test.yml ├── union_find_test │ ├── test_cartesian │ │ ├── input.cyp │ │ └── test.yml │ ├── test_incompatible_lengths │ │ ├── input.cyp │ │ └── test.yml │ ├── test_invalid_mode │ │ ├── input.cyp │ │ └── test.yml │ ├── test_invalid_nodes_1st_argument │ │ ├── input.cyp │ │ └── test.yml │ ├── test_invalid_nodes_2nd_argument │ │ ├── input.cyp │ │ └── test.yml │ └── test_pairwise │ │ ├── input.cyp │ │ └── test.yml ├── util_module_online_test │ └── test_online_util1 │ │ ├── input.cyp │ │ └── test.yml ├── util_module_test │ ├── util_func_test1 │ │ ├── input.cyp │ │ └── test.yml │ ├── util_func_test2 │ │ ├── input.cyp │ │ └── test.yml │ ├── util_func_test3 │ │ ├── input.cyp │ │ └── test.yml │ ├── util_func_test_int │ │ ├── input.cyp │ │ └── test.yml │ ├── util_func_test_string │ │ ├── input.cyp │ │ └── test.yml │ ├── util_test1 │ │ ├── input.cyp │ │ └── test.yml │ ├── util_test2 │ │ ├── input.cyp │ │ └── test.yml │ ├── util_test3 │ │ ├── input.cyp │ │ └── test.yml │ ├── util_test_int │ │ ├── input.cyp │ │ └── test.yml │ └── util_test_string │ │ ├── input.cyp │ │ └── test.yml ├── uuid_test │ └── test_generation │ │ ├── input.cyp │ │ └── test.yml ├── vrp_test │ ├── test_invalid_coordinate_field │ │ ├── input.cyp │ │ └── test.yml │ ├── test_invalid_number_of_vehicles │ │ ├── input.cyp │ │ └── test.yml │ ├── test_no_latitude_specified │ │ ├── input.cyp │ │ └── test.yml │ └── test_no_longitude_specified │ │ ├── input.cyp │ │ └── test.yml ├── weakly_connected_components_test │ ├── test_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_adding_components │ │ ├── input.cyp │ │ └── test.yml │ ├── test_online_adding_components_no_setup │ │ ├── input.cyp │ │ └── test.yml │ ├── test_single_component │ │ ├── input.cyp │ │ └── test.yml │ └── test_two_components │ │ ├── input.cyp │ │ └── test.yml └── xml_test │ ├── load_test1 │ ├── input.cyp │ └── test.yml │ ├── load_test2 │ ├── input.cyp │ └── test.yml │ ├── load_test3 │ ├── input.cyp │ └── test.yml │ ├── parse_test1 │ ├── input.cyp │ └── test.yml │ ├── parse_test2 │ ├── input.cyp │ └── test.yml │ └── parse_test3 │ ├── input.cyp │ └── test.yml ├── e2e_correctness ├── algo_test │ ├── test_astar_normal │ │ ├── config.yml │ │ ├── input.cyp │ │ └── test.yml │ ├── test_astar_normal_double │ │ ├── config.yml │ │ ├── input.cyp │ │ └── test.yml │ ├── test_astar_rel_filter │ │ ├── config.yml │ │ ├── input.cyp │ │ └── test.yml │ ├── test_path_all_simple_paths_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_path_all_simple_paths_10 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_path_all_simple_paths_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_path_all_simple_paths_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_path_all_simple_paths_4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_path_all_simple_paths_5 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_path_all_simple_paths_6 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_path_all_simple_paths_7 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_path_all_simple_paths_8 │ │ ├── input.cyp │ │ └── test.yml │ └── test_path_all_simple_paths_9 │ │ ├── input.cyp │ │ └── test.yml ├── conftest.py ├── create_test │ ├── test_node │ │ ├── input.cyp │ │ └── test.yml │ ├── test_node_double_label │ │ ├── input.cyp │ │ └── test.yml │ ├── test_node_null_prop │ │ ├── input.cyp │ │ └── test.yml │ ├── test_nodes1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_nodes2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_nodes3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationship_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationship_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationship_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeLabel_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeLabel_exists │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeLabel_not_exists │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeProperty1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeProperty2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeProperty3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_removeProperty4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_remove_rel_properties_id │ │ ├── input.cyp │ │ └── test.yml │ ├── test_remove_rel_properties_ids │ │ ├── input.cyp │ │ └── test.yml │ ├── test_remove_rel_properties_relationship │ │ ├── input.cyp │ │ └── test.yml │ ├── test_remove_rel_properties_relationships │ │ ├── input.cyp │ │ └── test.yml │ ├── test_setProperties │ │ ├── input.cyp │ │ └── test.yml │ ├── test_setProperties_empty │ │ ├── input.cyp │ │ └── test.yml │ ├── test_setProperties_list │ │ ├── input.cyp │ │ └── test.yml │ ├── test_setProperty1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_setProperty2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_setProperty3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_setProperty4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_setRelProperty_change │ │ ├── input.cyp │ │ └── test.yml │ ├── test_setRelProperty_new │ │ ├── input.cyp │ │ └── test.yml │ ├── test_set_rel_properties_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_set_rel_properties_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_set_rel_properties_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_set_rel_properties_id │ │ ├── input.cyp │ │ └── test.yml │ ├── test_set_rel_properties_ids │ │ ├── input.cyp │ │ └── test.yml │ ├── test_set_rel_properties_relationship │ │ ├── input.cyp │ │ └── test.yml │ └── test_set_rel_properties_relationships │ │ ├── input.cyp │ │ └── test.yml ├── merge_test │ ├── test_node1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_node2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_node3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_node4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_node5 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_node6 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationship_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_relationship_2 │ │ ├── input.cyp │ │ └── test.yml │ └── test_relationship_3 │ │ ├── input.cyp │ │ └── test.yml ├── nodes_test │ ├── test_delete_id │ │ ├── input.cyp │ │ └── test.yml │ ├── test_delete_ids │ │ ├── input.cyp │ │ └── test.yml │ ├── test_delete_node │ │ ├── input.cyp │ │ └── test.yml │ ├── test_delete_nodes │ │ ├── input.cyp │ │ └── test.yml │ ├── test_link1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_link2 │ │ ├── input.cyp │ │ └── test.yml │ └── test_link3 │ │ ├── input.cyp │ │ └── test.yml ├── path_test │ ├── test_combine_1 │ │ ├── config.yml │ │ ├── input.cyp │ │ └── test.yml │ ├── test_combine_2 │ │ ├── config.yml │ │ ├── input.cyp │ │ └── test.yml │ ├── test_path_expand1 │ │ ├── config.yml │ │ ├── input.cyp │ │ └── test.yml │ ├── test_slice_1 │ │ ├── config.yml │ │ ├── input.cyp │ │ └── test.yml │ ├── test_slice_2 │ │ ├── config.yml │ │ ├── input.cyp │ │ └── test.yml │ └── test_slice_3 │ │ ├── config.yml │ │ ├── input.cyp │ │ └── test.yml ├── pytest.ini ├── query_neo_mem.py ├── refactor_test │ ├── test_clone_nodes1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_clone_nodes2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_clone_nodes3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_clone_nodes4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_clone_subgraph_path_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_clone_subgraph_path_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_clone_subgraph_path_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_collapse_node1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_collapse_node2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_collapse_node3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_delete_and_reconnect_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_delete_and_reconnect_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_delete_and_reconnect_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_delete_and_reconnect_4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_delete_and_reconnect_5 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_delete_and_reconnect_6 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_delete_and_reconnect_7 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_delete_and_reconnect_8 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_from_different │ │ ├── input.cyp │ │ └── test.yml │ ├── test_from_same │ │ ├── input.cyp │ │ └── test.yml │ ├── test_from_same_endpoints │ │ ├── input.cyp │ │ └── test.yml │ ├── test_from_to_endpoints │ │ ├── input.cyp │ │ └── test.yml │ ├── test_invert1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_invert2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_invert3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_normalize_as_boolean_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_normalize_as_boolean_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_normalize_as_boolean_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_normalize_as_boolean_4 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_normalize_as_boolean_5 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rename_label │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rename_property_nodes │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rename_type_1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rename_type_2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rename_type_3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rename_type_prop1 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rename_type_prop2 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_rename_type_prop3 │ │ ├── input.cyp │ │ └── test.yml │ ├── test_to_different │ │ ├── input.cyp │ │ └── test.yml │ └── test_to_same │ │ ├── input.cyp │ │ └── test.yml └── test_modules.py ├── get_memgraph_tag.sh ├── get_tag.sh ├── img ├── graph_input.png ├── graph_output.png └── wizard.png ├── licences └── grappolo │ └── LICENSE ├── make-dev-container.sh ├── manual_package.sh ├── manual_test.sh ├── print_image_size.sh ├── python ├── .coveragerc ├── .flake8 ├── date.py ├── elastic_search_serialization.py ├── export_util.py ├── graph_analyzer.py ├── graph_coloring.py ├── igraphalg.py ├── import_util.py ├── json_util.py ├── kmeans.py ├── link_prediction.py ├── llm_util.py ├── mage │ ├── __init__.py │ ├── constraint_programming │ │ ├── __init__.py │ │ ├── solver.py │ │ └── vrp_cp_solver.py │ ├── date │ │ ├── constants.py │ │ └── unit_conversion.py │ ├── elastic_search_serialization │ │ └── elastic_search_util.py │ ├── export_import_util │ │ ├── __init__.py │ │ └── parameters.py │ ├── geography │ │ ├── __init__.py │ │ ├── distance_calculator.py │ │ ├── travelling_salesman.py │ │ └── vehicle_routing.py │ ├── graph_coloring_module │ │ ├── __init__.py │ │ ├── algorithms │ │ │ ├── algorithm.py │ │ │ ├── greedy │ │ │ │ ├── LDO.py │ │ │ │ ├── SDO.py │ │ │ │ └── random.py │ │ │ └── meta_heuristics │ │ │ │ ├── parallel_algorithm.py │ │ │ │ └── quantum_annealing.py │ │ ├── components │ │ │ ├── chain_chunk.py │ │ │ ├── chain_population.py │ │ │ ├── correlation_population.py │ │ │ ├── individual.py │ │ │ └── population.py │ │ ├── error_functions │ │ │ ├── conflict_error.py │ │ │ └── error.py │ │ ├── exceptions.py │ │ ├── graph.py │ │ ├── iteration_callbacks │ │ │ ├── callback_actions │ │ │ │ ├── action.py │ │ │ │ └── simple_tunneling.py │ │ │ ├── convergence_callback.py │ │ │ ├── iteration_callback.py │ │ │ └── matplotlib_callback.py │ │ ├── operators │ │ │ └── mutations │ │ │ │ ├── MIS_mutation.py │ │ │ │ ├── multiple_mutation.py │ │ │ │ ├── mutation.py │ │ │ │ ├── random_mutation.py │ │ │ │ └── simple_mutation.py │ │ ├── parameters.py │ │ └── utils │ │ │ ├── available_colors.py │ │ │ ├── generate_individuals.py │ │ │ ├── parameters_utils.py │ │ │ └── validation.py │ ├── link_prediction │ │ ├── __init__.py │ │ ├── constants.py │ │ ├── factory.py │ │ ├── link_prediction_util.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── gat.py │ │ │ └── graph_sage.py │ │ └── predictors │ │ │ ├── DotPredictor.py │ │ │ ├── MLPPredictor.py │ │ │ └── __init__.py │ ├── llm_util │ │ ├── __init__.py │ │ └── parameters.py │ ├── max_flow │ │ ├── __init__.py │ │ └── bfs_weight_min_max.py │ ├── meta_util │ │ ├── __init__.py │ │ └── parameters.py │ ├── node2vec │ │ ├── __init__.py │ │ ├── graph.py │ │ └── second_order_random_walk.py │ ├── node_classification │ │ ├── __init__.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── gat.py │ │ │ ├── gatjk.py │ │ │ ├── gatv2.py │ │ │ ├── inductive_model.py │ │ │ ├── sage.py │ │ │ └── train_model.py │ │ └── utils │ │ │ ├── __init__.py │ │ │ ├── extract_from_database.py │ │ │ └── metrics.py │ ├── tgn │ │ ├── constants.py │ │ ├── definitions │ │ │ ├── events.py │ │ │ ├── instances.py │ │ │ ├── layers.py │ │ │ ├── memory.py │ │ │ ├── memory_updater.py │ │ │ ├── message_aggregator.py │ │ │ ├── message_function.py │ │ │ ├── messages.py │ │ │ ├── raw_message_store.py │ │ │ ├── temporal_neighborhood.py │ │ │ ├── tgn.py │ │ │ └── time_encoding.py │ │ └── helper │ │ │ └── simple_mlp.py │ └── union_find │ │ ├── __init__.py │ │ ├── disjoint_set.py │ │ └── node.py ├── max_flow.py ├── meta_util.py ├── mgp_igraph.py ├── mgp_networkx.py ├── migrate.py ├── node2vec.py ├── node_classification.py ├── nxalg.py ├── pytest.ini ├── requirements.txt ├── set_cover.py ├── temporal.py ├── tests │ ├── date │ │ ├── __init__.py │ │ └── test_unit_conversion.py │ ├── distance_calculator │ │ ├── __init__.py │ │ └── test_distance_calculator.py │ ├── elastic_search │ │ ├── __init__.py │ │ └── test_elastic_search.py │ ├── graph_coloring │ │ ├── __init__.py │ │ ├── test_LDO.py │ │ ├── test_SDO.py │ │ ├── test_avaliable_colors.py │ │ ├── test_chain_chunk.py │ │ ├── test_chain_population.py │ │ ├── test_conflict_error.py │ │ ├── test_convergence_callback.py │ │ ├── test_graph.py │ │ ├── test_individual.py │ │ ├── test_operators.py │ │ ├── test_population.py │ │ └── test_random.py │ ├── node2vec │ │ ├── __init__.py │ │ ├── test_basic_graph.py │ │ └── test_second_order_random_walk.py │ ├── requirements.txt │ ├── union_find │ │ ├── __init__.py │ │ ├── constants.py │ │ ├── test_find.py │ │ ├── test_init.py │ │ └── test_union.py │ └── vrp │ │ ├── __init__.py │ │ └── test_vrp_constraint_programming.py ├── tgn.py ├── tsp.py ├── union_find.py ├── utils │ ├── math_functions.py │ └── subquery.py ├── vrp.py └── xml_module.py ├── run_e2e_correctness_tests.sh ├── rust ├── .gitignore ├── README.md ├── rsmgp-example │ ├── .gitignore │ ├── Cargo.toml │ └── src │ │ └── lib.rs └── rsmgp-sys │ ├── .gitignore │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── mgp │ ├── mg_procedure.h │ └── mg_procedure.syms │ └── src │ ├── edge │ ├── mod.rs │ └── tests.rs │ ├── lib.rs │ ├── list │ ├── mod.rs │ └── tests.rs │ ├── map │ ├── mod.rs │ └── tests.rs │ ├── memgraph │ ├── mod.rs │ └── tests.rs │ ├── mgp.rs │ ├── path │ ├── mod.rs │ └── tests.rs │ ├── property │ ├── mod.rs │ └── tests.rs │ ├── result │ ├── mod.rs │ └── tests.rs │ ├── rsmgp.rs │ ├── temporal │ ├── mod.rs │ └── tests.rs │ ├── testing.rs │ ├── value │ ├── mod.rs │ └── tests.rs │ └── vertex │ ├── mod.rs │ └── tests.rs ├── scripts ├── aggregate_build_tests.py ├── cve_message.py ├── daily_build_vars.py ├── extract-image-filesystem.sh ├── get_cve_image_url.py ├── scan_apt.py ├── scan_languages.py ├── scan_memgraph.py ├── test-mirrors.sh ├── update_cve_db.py ├── verify_download_url.sh └── workflow_image_setup.py ├── setup ├── smoke-release-testing ├── .gitignore ├── README.md ├── config │ └── k8s-ha-values.yaml ├── dockerd-entrypoint.sh ├── experiment.bash ├── flags.py ├── init.bash ├── init_mac.bash ├── init_workflow.bash ├── inspect_files.bash ├── mgconsole │ ├── README.md │ ├── auth_roles.bash │ ├── backwards.bash │ ├── basic_auth.bash │ ├── dynamic_algos.bash │ ├── edge_type_operations.bash │ ├── expressions.bash │ ├── functions.bash │ ├── ha.bash │ ├── impersonate.bash │ ├── indices.bash │ ├── k8s.bash │ ├── label_operations.bash │ ├── monitoring.bash │ ├── multi_tenancy.bash │ ├── query.bash │ ├── query_modules.bash │ ├── regex.bash │ ├── session_trace.bash │ ├── show_schema.bash │ ├── spatial.bash │ ├── storage.bash │ ├── streams.bash │ ├── template.bash │ ├── ttl.bash │ ├── type_constraints.bash │ └── vector_search.bash ├── python │ ├── gqla.py │ └── neo.py ├── query_modules │ └── basic.cpp ├── requirements.txt ├── test.bash ├── utils.bash └── validator.py ├── test_e2e ├── test_e2e_correctness.py └── test_unit /.dockerignore: -------------------------------------------------------------------------------- 1 | *.egg-info 2 | .git 3 | .cache 4 | htmlcov 5 | dist 6 | **/__pycache__ 7 | cpp/build 8 | Dockerfile* 9 | .dockerignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "cpp/memgraph"] 2 | path = cpp/memgraph 3 | url = https://github.com/memgraph/memgraph.git 4 | tag = v2.19.0 5 | -------------------------------------------------------------------------------- /cpp/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | Language: Cpp 3 | BasedOnStyle: Google 4 | Standard: "c++20" 5 | UseTab: Never 6 | DerivePointerAlignment: false 7 | PointerAlignment: Right 8 | ColumnLimit: 120 9 | IncludeBlocks: Preserve 10 | -------------------------------------------------------------------------------- /cpp/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | memgraph/ 3 | -------------------------------------------------------------------------------- /cpp/algo_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(algo_src 2 | algo_module.cpp 3 | algorithm/algo.cpp) 4 | 5 | add_query_module(algo 1 "${algo_src}") 6 | -------------------------------------------------------------------------------- /cpp/collections_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(collections_src 2 | collections_module.cpp 3 | algorithm/collections.cpp) 4 | 5 | add_query_module(collections 1 "${collections_src}") 6 | -------------------------------------------------------------------------------- /cpp/create_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(create_module_src 2 | create_module.cpp 3 | algorithm/create.cpp) 4 | 5 | add_query_module(create 1 "${create_module_src}") 6 | -------------------------------------------------------------------------------- /cpp/csv_utils_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(csv_utils_src 2 | csv_utils_module.cpp 3 | algorithm/csv_utils.cpp) 4 | 5 | add_query_module(csv_utils 1 "${csv_utils_src}") 6 | -------------------------------------------------------------------------------- /cpp/distance_calculator/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(distance_calculator_src 2 | distance_calculator.cpp) 3 | 4 | add_query_module(distance_calculator 1 "${distance_calculator_src}") 5 | 6 | -------------------------------------------------------------------------------- /cpp/do_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Add all module files related to graph util module 2 | set(do_module_src 3 | do_module.cpp) 4 | 5 | add_query_module(do 1 "${do_module_src}") 6 | 7 | target_link_libraries(do PRIVATE fmt::fmt) 8 | -------------------------------------------------------------------------------- /cpp/graph_util_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Add all module files related to graph util module 2 | set(graph_util_src 3 | graph_util_module.cpp) 4 | 5 | add_query_module(graph_util 1 "${graph_util_src}") 6 | 7 | -------------------------------------------------------------------------------- /cpp/label_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(label_module_src 2 | label_module.cpp 3 | algorithm/label.cpp) 4 | 5 | add_query_module(label 1 "${label_module_src}") 6 | -------------------------------------------------------------------------------- /cpp/map_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(map_module_src 2 | map_module.cpp 3 | algorithm/map.cpp) 4 | 5 | add_query_module(map 1 "${map_module_src}") 6 | 7 | target_link_libraries(map PRIVATE fmt::fmt) 8 | -------------------------------------------------------------------------------- /cpp/merge_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(merge_src 2 | merge_module.cpp 3 | algorithm/merge.cpp) 4 | 5 | add_query_module(merge 1 "${merge_src}") 6 | -------------------------------------------------------------------------------- /cpp/meta_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(meta_module_src 2 | meta_module.cpp 3 | algorithm/meta.cpp) 4 | 5 | add_query_module(meta 1 "${meta_module_src}") 6 | -------------------------------------------------------------------------------- /cpp/neighbors_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(neighbors_module_src 2 | neighbors_module.cpp 3 | algorithm/neighbors.cpp) 4 | 5 | add_query_module(neighbors 1 "${neighbors_module_src}") 6 | 7 | target_link_libraries(neighbors PRIVATE fmt::fmt) 8 | -------------------------------------------------------------------------------- /cpp/node_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(node_module_src 2 | node_module.cpp 3 | algorithm/node.cpp) 4 | 5 | add_query_module(node 1 "${node_module_src}") 6 | -------------------------------------------------------------------------------- /cpp/nodes_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(nodes_module_src 2 | nodes_module.cpp 3 | algorithm/nodes.cpp) 4 | 5 | add_query_module(nodes 1 "${nodes_module_src}") 6 | -------------------------------------------------------------------------------- /cpp/path_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(path_module_src 2 | path_module.cpp 3 | algorithm/path.cpp) 4 | 5 | add_query_module(path 1 "${path_module_src}") 6 | -------------------------------------------------------------------------------- /cpp/refactor_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(refactor_module_src 2 | refactor_module.cpp 3 | algorithm/refactor.cpp) 4 | 5 | add_query_module(refactor 1 "${refactor_module_src}") 6 | 7 | target_link_libraries(refactor PRIVATE fmt::fmt) -------------------------------------------------------------------------------- /cpp/set_property_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include(GNUInstallDirs) 2 | 3 | set(set_property_module_src 4 | set_property_module.cpp) 5 | 6 | add_query_module(set_property 1 "${set_property_module_src}") 7 | 8 | target_link_libraries(set_property PRIVATE fmt::fmt) 9 | -------------------------------------------------------------------------------- /cpp/text_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(text_module_src 2 | text_module.cpp 3 | algorithm/text.cpp) 4 | 5 | add_query_module(text 1 "${text_module_src}") 6 | target_link_libraries(text PRIVATE fmt::fmt) 7 | -------------------------------------------------------------------------------- /cpp/util_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(util_module_src 2 | util_module.cpp 3 | algorithm/util.cpp 4 | algorithm/md5.cpp) 5 | 6 | add_query_module(util_module 1 "${util_module_src}") 7 | -------------------------------------------------------------------------------- /cpp/uuid_module/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(uuid_module_src 2 | uuid_module.cpp) 3 | 4 | add_query_module(uuid_generator 1 ${uuid_module_src}) 5 | 6 | target_link_libraries(uuid_generator PRIVATE uuid) 7 | -------------------------------------------------------------------------------- /e2e/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/__init__.py -------------------------------------------------------------------------------- /e2e/algo_test/test_cover1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog),(h:Human),(ho:House), (d)-[l:LOVES]->(h),(h)-[:LIVES_IN]->(ho),(d)-[se:SELF_REL]->(d) 2 | -------------------------------------------------------------------------------- /e2e/algo_test/test_cover2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog),(h:Human),(ho:House), (d)-[l:LOVES]->(h),(h)-[:LIVES_IN]->(ho),(d)-[se:SELF_REL]->(d) 2 | -------------------------------------------------------------------------------- /e2e/algo_test/test_cover2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (d:Dog) 3 | CALL algo.cover([d]) YIELD rel RETURN rel; 4 | 5 | output: 6 | - rel: {'label': 'SELF_REL','properties': {}} 7 | -------------------------------------------------------------------------------- /e2e/algo_test/test_cover3/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (d:Dog {name: "Rex" ,id:0}) WITH d UNWIND range(0, 1000) AS id MERGE (h:Human {name: "Humie" + id, id:id}) MERGE (d)-[l:LOVES {id:id, how:"very"}]->(h); 2 | -------------------------------------------------------------------------------- /e2e/algo_test/test_cover3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (n) 3 | WITH collect(n) AS list 4 | CALL algo.cover(list) YIELD rel RETURN count(rel) AS count; 5 | 6 | output: 7 | - count: 1001 8 | -------------------------------------------------------------------------------- /e2e/ancestors_test/test_multiple_traverse_ancestors/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO]->(:B {id:2})-[:CONNECTED_TO]->(:C {id:3}); 2 | -------------------------------------------------------------------------------- /e2e/ancestors_test/test_multiple_traverse_ancestors/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (c:C) 3 | CALL graph_util.ancestors(c) YIELD ancestors 4 | UNWIND ancestors as ancestor 5 | RETURN ancestor.id AS id 6 | 7 | output: 8 | - id: 2 9 | - id: 1 10 | -------------------------------------------------------------------------------- /e2e/ancestors_test/test_multiple_traverse_ancestors_nested/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO]->(:B {id:2})-[:CONNECTED_TO]->(:C {id:3}); 2 | MATCH (b:B) MERGE (:D {id:4})-[:CONNECTED_TO]->(b); 3 | -------------------------------------------------------------------------------- /e2e/ancestors_test/test_multiple_traverse_ancestors_nested_2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO]->(:B {id:2})-[:CONNECTED_TO]->(:C {id:3}); 2 | MATCH (b:B) MERGE (e:E {id:5})<-[:CONNECTED_TO]-(:D {id:4})-[:CONNECTED_TO]->(b); 3 | -------------------------------------------------------------------------------- /e2e/ancestors_test/test_no_ancestors/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A); 2 | CREATE (:B); 3 | MATCH (a:A), (b:B) MERGE (a)-[:CONNECTED_TO]->(b); 4 | -------------------------------------------------------------------------------- /e2e/ancestors_test/test_no_ancestors/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a:A) 3 | CALL graph_util.ancestors(a) YIELD ancestors 4 | RETURN size(ancestors) AS size 5 | 6 | output: 7 | - size: 0 8 | -------------------------------------------------------------------------------- /e2e/ancestors_test/test_one_ancestor/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1}); 2 | CREATE (:B {id:2}); 3 | MATCH (a:A), (b:B) MERGE (a)-[:CONNECTED_TO]->(b); 4 | -------------------------------------------------------------------------------- /e2e/ancestors_test/test_one_ancestor/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (b:B) 3 | CALL graph_util.ancestors(b) YIELD ancestors 4 | UNWIND ancestors as ancestor 5 | RETURN ancestor.id AS id 6 | 7 | output: 8 | - id: 1 9 | -------------------------------------------------------------------------------- /e2e/betweenness_centrality_test/test_cugraph_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/betweenness_centrality_test/test_cugraph_empty/input.cyp -------------------------------------------------------------------------------- /e2e/betweenness_centrality_test/test_cugraph_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL cugraph.betweenness_centrality.get() 3 | YIELD *; 4 | 5 | output: [] 6 | -------------------------------------------------------------------------------- /e2e/betweenness_centrality_test/test_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/betweenness_centrality_test/test_empty/input.cyp -------------------------------------------------------------------------------- /e2e/betweenness_centrality_test/test_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL betweenness_centrality.get(FALSE,FALSE) 3 | YIELD node, betweenness_centrality 4 | RETURN betweenness_centrality, node.id AS node_id; 5 | 6 | output: [] -------------------------------------------------------------------------------- /e2e/betweenness_centrality_test/test_two_nodes/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Node {id: 0}) MERGE (b:Node {id: 1}) CREATE (a)-[:RELATION]->(b); -------------------------------------------------------------------------------- /e2e/bipartite_matching_test/test_chain/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL bipartite_matching.max() YIELD maximum_bipartite_matching 3 | RETURN maximum_bipartite_matching 4 | 5 | output: 6 | - maximum_bipartite_matching: 2 7 | -------------------------------------------------------------------------------- /e2e/bipartite_matching_test/test_cycle/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL bipartite_matching.max() YIELD maximum_bipartite_matching 3 | RETURN maximum_bipartite_matching 4 | 5 | output: 6 | - maximum_bipartite_matching: 3 7 | -------------------------------------------------------------------------------- /e2e/bipartite_matching_test/test_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/bipartite_matching_test/test_empty/input.cyp -------------------------------------------------------------------------------- /e2e/bipartite_matching_test/test_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL bipartite_matching.max() YIELD maximum_bipartite_matching 3 | RETURN maximum_bipartite_matching 4 | 5 | output: 6 | - maximum_bipartite_matching: 0 7 | -------------------------------------------------------------------------------- /e2e/bipartite_matching_test/test_hierarchy/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL bipartite_matching.max() YIELD maximum_bipartite_matching 3 | RETURN maximum_bipartite_matching 4 | 5 | output: 6 | - maximum_bipartite_matching: 2 7 | -------------------------------------------------------------------------------- /e2e/bridges_test/test_one_bridge/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL bridges.get() YIELD node_from, node_to 3 | RETURN node_from.id AS from_id, node_to.id AS to_id 4 | ORDER BY from_id, to_id 5 | 6 | output: 7 | - from_id: 1 8 | to_id: 6 9 | -------------------------------------------------------------------------------- /e2e/chain_nodes_test/test_multiple_chain/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1}), (:B {id:2}), (:C {id:3}), (:D {id:4}); 2 | -------------------------------------------------------------------------------- /e2e/chain_nodes_test/test_multiple_chain/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (n) 3 | WITH collect(n) as nodes 4 | CALL graph_util.chain_nodes(nodes, "CONNECTED_TO") YIELD connections 5 | RETURN size(connections) as size 6 | 7 | output: 8 | - size: 3 9 | -------------------------------------------------------------------------------- /e2e/chain_nodes_test/test_no_chain/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1}); 2 | -------------------------------------------------------------------------------- /e2e/chain_nodes_test/test_no_chain/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a) 3 | WITH collect(a) as nodes 4 | CALL graph_util.chain_nodes(nodes, "CONNECTED_TO") YIELD connections 5 | RETURN size(connections) AS size; 6 | 7 | output: 8 | - size: 0 9 | -------------------------------------------------------------------------------- /e2e/chain_nodes_test/test_one_chain/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1}), (:B {id:2}); 2 | -------------------------------------------------------------------------------- /e2e/chain_nodes_test/test_one_chain/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (n) 3 | WITH collect(n) as nodes 4 | CALL graph_util.chain_nodes(nodes, "CONNECTED_TO") YIELD connections 5 | RETURN size(connections) as size 6 | 7 | output: 8 | - size: 1 9 | -------------------------------------------------------------------------------- /e2e/collections_test/test_avg_different_types/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_avg_different_types/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_avg_different_types/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.avg([-5, 5, 2.2, -8.6, 0, 1.0]) AS average; 3 | output: 4 | - average: -0.8999999999999999 5 | -------------------------------------------------------------------------------- /e2e/collections_test/test_avg_negative/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_avg_negative/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_avg_negative/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.avg([5, 5, 6, 7, -5]) AS average; 3 | output: 4 | - average: 3.6 5 | -------------------------------------------------------------------------------- /e2e/collections_test/test_avg_positive/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_avg_positive/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_avg_positive/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.avg([1, 2, 3]) AS average; 3 | output: 4 | - average: 2.0 5 | -------------------------------------------------------------------------------- /e2e/collections_test/test_contains1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (dog:Dog)-[loves:Loves]->(human:Human) 2 | CREATE(player:Player)-[scores:Scores]->(goal:Goal) 3 | -------------------------------------------------------------------------------- /e2e/collections_test/test_contains1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.contains([1,2,3,4,5], 4) AS output; 3 | 4 | output: 5 | - output: true 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_contains2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (dog:Dog)-[loves:Loves]->(human:Human) 2 | CREATE(player:Player)-[scores:Scores]->(goal:Goal) 3 | -------------------------------------------------------------------------------- /e2e/collections_test/test_contains2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.contains([1,2,3,4,5], [3,4]) AS output; 3 | 4 | output: 5 | - output: false 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_contains3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (dog:Dog)-[loves:Loves]->(human:Human) 2 | CREATE(player:Player)-[scores:Scores]->(goal:Goal) 3 | -------------------------------------------------------------------------------- /e2e/collections_test/test_contains4/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (dog:Dog)-[loves:Loves]->(human:Human) 2 | CREATE(player:Player)-[scores:Scores]->(goal:Goal) 3 | -------------------------------------------------------------------------------- /e2e/collections_test/test_contains4/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (l:Player)-[r]->(g:Goal) 3 | MATCH (n:Dog)-[k]->(t:Human) 4 | WITH collect(DISTINCT r) AS collectedR, k 5 | RETURN collections.contains(collectedR, k) AS output; 6 | output: 7 | - output: false 8 | -------------------------------------------------------------------------------- /e2e/collections_test/test_contains5/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (dog:Dog)-[loves:Loves]->(human:Human) 2 | CREATE(player:Player)-[scores:Scores]->(goal:Goal) 3 | -------------------------------------------------------------------------------- /e2e/collections_test/test_contains5/test.yml: -------------------------------------------------------------------------------- 1 | 2 | query: > 3 | MATCH p = ()-[*]->() 4 | WITH collect(p) AS paths 5 | MATCH q = (:Dog)-[*]->(:Human) 6 | RETURN collections.contains(paths, q) AS output; 7 | output: 8 | - output: true 9 | -------------------------------------------------------------------------------- /e2e/collections_test/test_containsS_diff_type/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_containsS_diff_type/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_containsS_diff_type/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.contains_sorted([1, 2, 'z', 's', 5, 6], 2) AS contains; 3 | 4 | exception: > 5 | Values have to be of the same type 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_containsS_sorted/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_containsS_sorted/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_containsS_sorted/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.contains_sorted([1, 2, 3.3, 4.4, 5, 6], 5) AS contains; 3 | 4 | output: 5 | - contains: true 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_containsS_sorted_false/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_containsS_sorted_false/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_containsS_sorted_false/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.contains_sorted([1, 2, 3, 4, 5, 6], 7) AS contains; 3 | 4 | output: 5 | - contains: false 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_containsS_unsorted/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_containsS_unsorted/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_containsS_unsorted/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.contains_sorted(['a', 'b', 'c', 'd', 'e', 'g', 'f'], 'f') AS contains; 3 | 4 | output: 5 | - contains: false 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_contains_all_1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_contains_all_1/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_contains_all_1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.contains_all([1, 2, 3, "pero"], [1, 1, 1, 1, 2, 3]) 3 | AS contained; 4 | output: 5 | - contained: true 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_contains_all_2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_contains_all_2/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_contains_all_2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.contains_all(["Pero", 1, 2, 3], ["Pero", 3]) 3 | AS contained; 4 | output: 5 | - contained: true 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_contains_all_3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_contains_all_3/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_contains_all_3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.contains_all([false, true], [0, 1]) 3 | AS contained; 4 | output: 5 | - contained: false 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_intersection_1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_intersection_1/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_intersection_1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.intersection([1, 2, 3, 4, 5], [1, 3, 5, 7, 9]) 3 | AS intersection 4 | output: 5 | - intersection: [3, 5, 1] 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_intersection_2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_intersection_2/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_intersection_2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.intersection([1, 2, 3, 4, 5, 1, 2, 3, 4, 5, "PERO", "PeRo"], [1, 3, 5, 7, 9, "PeRo", "pero", 1, 2, 3, 4, 5]) 3 | AS intersection 4 | output: 5 | - intersection: ["PeRo", 4, 3, 5, 2, 1] 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_intersection_3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_intersection_3/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_intersection_3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.intersection([1, 1, 1, 1, 1, 1], [true, false, 0, 0, 0, 0]) 3 | AS intersection; 4 | output: 5 | - intersection: [] 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_max_diff_types/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_max_diff_types/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_max_diff_types/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.max([-1, -2, -3, "s"]) AS max; 3 | 4 | exception: > 5 | Values have to be of the same type 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_max_negatives/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_max_negatives/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_max_negatives/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.max([-1, -2, -3]) AS max; 3 | 4 | output: 5 | - max: -1 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_max_positives/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_max_positives/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_max_positives/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.max([1, 2, 3]) AS max; 3 | 4 | output: 5 | - max: 3 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_min1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog) 2 | CREATE (h:Human) 3 | -------------------------------------------------------------------------------- /e2e/collections_test/test_min1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.min([1,2,3,4,5]) AS min; 3 | 4 | output: 5 | - min: 1 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_min2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog) 2 | CREATE (h:Human) 3 | -------------------------------------------------------------------------------- /e2e/collections_test/test_min2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.min([1.7,1]) AS min; 3 | 4 | output: 5 | - min: 1 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_min3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog) 2 | CREATE (h:Human) 3 | -------------------------------------------------------------------------------- /e2e/collections_test/test_min3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.min(["cc","dd","aa"]) AS min; 3 | 4 | output: 5 | - min: aa 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_min4/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog) 2 | CREATE (h:Human) 3 | -------------------------------------------------------------------------------- /e2e/collections_test/test_min4/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (d:Dog) 3 | MATCH (h:Human) 4 | WITH collections.min([h,d]) AS min 5 | RETURN labels(min); 6 | 7 | output: 8 | - labels(min): ["Dog"] 9 | -------------------------------------------------------------------------------- /e2e/collections_test/test_pairs_allTypes/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO]->(:B {id:2})-[:CONNECTED_TO]->(:C {id:3}); 2 | -------------------------------------------------------------------------------- /e2e/collections_test/test_pairs_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_pairs_empty/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_pairs_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.pairs([]) AS pairs 3 | output: 4 | - pairs: [] 5 | -------------------------------------------------------------------------------- /e2e/collections_test/test_pairs_oneType/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_pairs_oneType/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_pairs_oneType/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.pairs([3, 4, 5, 6, 7, 8]) AS pairs 3 | 4 | output: 5 | - pairs: [[3,4],[4,5],[5,6],[6,7],[7,8],[8,null]] 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_partition1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_partition1/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_partition1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL collections.partition([1,2,3,4,5], 2) YIELD result RETURN result; 3 | 4 | output: 5 | - result: [1,2] 6 | - result: [3,4] 7 | - result: [5] 8 | -------------------------------------------------------------------------------- /e2e/collections_test/test_partition2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_partition2/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_partition2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL collections.partition([],3) YIELD result RETURN result; 3 | 4 | output: [] 5 | -------------------------------------------------------------------------------- /e2e/collections_test/test_partition3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_partition3/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_partition3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL collections.partition([1,2,3,4,5,"aa",["lista"]],3) YIELD result RETURN result; 3 | 4 | output: 5 | - result: [1,2,3] 6 | - result: [4,5,"aa"] 7 | - result: [["lista"]] 8 | -------------------------------------------------------------------------------- /e2e/collections_test/test_partition4/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_partition4/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_partition4/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL collections.partition([1,2,3,4,5], 8) YIELD result RETURN result; 3 | 4 | output: 5 | - result: [1,2,3,4,5] 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_remove_all_basic/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_remove_all_basic/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_remove_all_basic/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.remove_all([1, 2, 3, 4, 5], [1, 2, 3]) AS removed 3 | 4 | output: 5 | - removed: [4, 5] 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_remove_all_duplicates/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_remove_all_duplicates/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_remove_all_duplicates/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.remove_all([1, 2, 3, 4, 5, 1, 2], [1, 2, 3]) AS removed 3 | 4 | output: 5 | - removed: [4, 5] 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_remove_all_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_remove_all_empty/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_remove_all_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.remove_all([1, 2, 3, 4, 5], []) AS removed 3 | 4 | output: 5 | - removed: [4, 3, 2, 5, 1] 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_remove_all_not_exist/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_remove_all_not_exist/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_remove_all_not_exist/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.remove_all([1, 2, 3, 4, 5], [1, 2, 3, 7]) AS removed 3 | 4 | output: 5 | - removed: [4, 5] 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_sort_diff_types/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_sort_diff_types/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_sort_diff_types/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.sort(["abd", "aba", "abc", 5]) AS sorted 3 | 4 | exception: > 5 | Values have to be of the same type 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_sort_numeric/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_sort_numeric/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_sort_numeric/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.sort([1, 4, 2.3, -5]) AS sorted 3 | 4 | output: 5 | - sorted: [ 6 | -5, 7 | 1, 8 | 2.3, 9 | 4 10 | ] 11 | -------------------------------------------------------------------------------- /e2e/collections_test/test_sort_string/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_sort_string/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_sort_string/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.sort(["abd", "aba", "abc"]) AS sorted 3 | 4 | output: 5 | - sorted: [ 6 | "aba", 7 | "abc", 8 | "abd" 9 | ] 10 | -------------------------------------------------------------------------------- /e2e/collections_test/test_split_delim_first/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_split_delim_first/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_split_delim_last/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_split_delim_last/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_split_delim_last/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL collections.split([2, 4, "0", 9, 0], 0) YIELD splitted 3 | RETURN splitted 4 | 5 | output: 6 | - splitted: [ 7 | 2, 8 | 4, 9 | "0", 10 | 9 11 | ] 12 | -------------------------------------------------------------------------------- /e2e/collections_test/test_split_empty_list/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_split_empty_list/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_split_empty_list/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL collections.split([], 7) YIELD splitted 3 | RETURN splitted 4 | 5 | output: 6 | - splitted: [] 7 | -------------------------------------------------------------------------------- /e2e/collections_test/test_split_multiple_delim/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO]->(:B {id:2})-[:CONNECTED_TO]->(:C {id:3}); 2 | -------------------------------------------------------------------------------- /e2e/collections_test/test_split_no_delim/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_split_no_delim/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_longs_big/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_sum_longs_big/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_longs_big/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.sum_longs([10000000000000000, 1]) 3 | AS sum; 4 | output: 5 | - sum: 10000000000000001 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_longs_doubles/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_sum_longs_doubles/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_longs_doubles/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.sum_longs([1000000000000000, 1.9, 1.9]) 3 | AS sum; 4 | output: 5 | - sum: 1000000000000002 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_longs_longlong/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_sum_longs_longlong/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_longs_longlong/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.sum_longs([123456789123, -213546879213, 987654321987]) 3 | AS sum; 4 | output: 5 | - sum: 897564231897 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_longs_normal/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_sum_longs_normal/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_longs_normal/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.sum_longs([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) 3 | AS sum; 4 | output: 5 | - sum: 55 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_notlist/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_sum_notlist/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_notlist/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.sum(2) AS sum 3 | 4 | exception: > 5 | 'collections.sum' argument named 'inputList' at position 0 must be of type LIST OF ANY. 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_numeric/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO]->(:B {id:2})-[:CONNECTED_TO]->(:C {id:3}); 2 | -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_numeric/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (c:C) 3 | RETURN collections.sum([1, 2.3, -3, c.id]) AS sum 4 | 5 | output: 6 | - sum: 3.3 7 | -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_string/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_sum_string/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_sum_string/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.sum([1, 2, 'a']) AS sum 3 | 4 | exception: > 5 | One of the list elements is not a number. 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_to_set1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_to_set1/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_to_set1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | WITH collections.to_set([1,1,2,1,3,4,1]) AS result UNWIND result AS element RETURN element ORDER BY element ASC; 3 | 4 | output: 5 | - element: 1 6 | - element: 2 7 | - element: 3 8 | - element: 4 9 | -------------------------------------------------------------------------------- /e2e/collections_test/test_to_set2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_to_set2/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_to_set2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.to_set([]) AS result; 3 | 4 | output: 5 | - result: [] 6 | -------------------------------------------------------------------------------- /e2e/collections_test/test_union_all1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (dog:Dog)-[loves:Loves]->(human:Human) 2 | CREATE(player:Player)-[scores:Scores]->(goal:Goal) 3 | -------------------------------------------------------------------------------- /e2e/collections_test/test_union_all1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.union_all([1,2,3,4,5], [3,[3,6,7],5,6,"a"]) AS return_list; 3 | 4 | output: 5 | - return_list: [1, 2, 3, 4, 5, 3, [3, 6, 7], 5, 6, "a"] 6 | 7 | -------------------------------------------------------------------------------- /e2e/collections_test/test_union_all2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (dog:Dog)-[loves:Loves]->(human:Human) 2 | CREATE(player:Player)-[scores:Scores]->(goal:Goal) 3 | -------------------------------------------------------------------------------- /e2e/collections_test/test_union_all2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.union_all([1,2,3,4,5], [3,4,5,6,7]) AS return_list; 3 | 4 | output: 5 | - return_list: [1, 2, 3, 4, 5, 3, 4, 5, 6, 7] 6 | 7 | -------------------------------------------------------------------------------- /e2e/collections_test/test_union_all3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (dog:Dog)-[loves:Loves]->(human:Human) 2 | CREATE(player:Player)-[scores:Scores]->(goal:Goal) 3 | -------------------------------------------------------------------------------- /e2e/collections_test/test_union_diff_types/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_union_diff_types/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_union_diff_types/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.union([0, "s", 4.4], [2, "ib"]) AS union; 3 | 4 | output: 5 | - union: [ 6 | "ib", 7 | 2, 8 | 4.4, 9 | "s", 10 | 0 11 | ] 12 | -------------------------------------------------------------------------------- /e2e/collections_test/test_union_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_union_empty/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_union_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.union([], []) AS union 3 | 4 | 5 | output: 6 | - union: [] 7 | -------------------------------------------------------------------------------- /e2e/collections_test/test_union_overlap/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/collections_test/test_union_overlap/input.cyp -------------------------------------------------------------------------------- /e2e/collections_test/test_union_overlap/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN collections.union([0, 1, 2, 3], [2, 2, 3, 4, 5]) AS union 3 | 4 | output: 5 | - union: [ 6 | 4, 7 | 3, 8 | 5, 9 | 2, 10 | 1, 11 | 0 12 | ] 13 | -------------------------------------------------------------------------------- /e2e/community_detection_test/test_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/community_detection_test/test_empty/input.cyp -------------------------------------------------------------------------------- /e2e/community_detection_test/test_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL community_detection.get() YIELD node, community_id 3 | RETURN node.id AS node_id, community_id 4 | ORDER BY node_id ASC 5 | 6 | output: [] 7 | -------------------------------------------------------------------------------- /e2e/connect_nodes_test/test_multiple_connections/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO {id:1}]->(:B {id:2}); 2 | CREATE (:A {id:3})-[:CONNECTED_TO {id:2}]->(:B {id:4}); 3 | CREATE (:A {id:5})-[:CONNECTED_TO {id:3}]->(:B {id:6}); 4 | -------------------------------------------------------------------------------- /e2e/connect_nodes_test/test_multiple_connections_and_alone_nodes/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO {id:1}]->(:B {id:2}); 2 | CREATE (:A {id:3})-[:CONNECTED_TO {id:2}]->(:B {id:4}); 3 | CREATE (:A {id:5})-[:CONNECTED_TO {id:3}]->(:B {id:6}); 4 | CREATE (:C), (:D); 5 | -------------------------------------------------------------------------------- /e2e/connect_nodes_test/test_no_connections/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1}); 2 | -------------------------------------------------------------------------------- /e2e/connect_nodes_test/test_no_connections/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a:A) 3 | WITH collect(a) as nodes 4 | CALL graph_util.connect_nodes(nodes) YIELD connections 5 | RETURN size(connections) AS size; 6 | 7 | output: 8 | - size: 0 9 | -------------------------------------------------------------------------------- /e2e/connect_nodes_test/test_one_connection/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO {id:1}]->(:B {id:2}); 2 | -------------------------------------------------------------------------------- /e2e/cycles_test/test_chain/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL cycles.get() YIELD cycle_id, node 3 | RETURN cycle_id, node.id AS node_id 4 | ORDER BY cycle_id, node_id 5 | 6 | output: [] -------------------------------------------------------------------------------- /e2e/cycles_test/test_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/cycles_test/test_empty/input.cyp -------------------------------------------------------------------------------- /e2e/cycles_test/test_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL cycles.get() YIELD cycle_id, node 3 | RETURN cycle_id, node.id AS node_id 4 | ORDER BY cycle_id, node_id 5 | 6 | output: [] 7 | -------------------------------------------------------------------------------- /e2e/date_test/test_add/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/date_test/test_add/input.cyp -------------------------------------------------------------------------------- /e2e/date_test/test_add/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN date.add(100, "d", 30, "d") AS sum; 3 | 4 | output: 5 | - sum: 130 6 | -------------------------------------------------------------------------------- /e2e/date_test/test_add_different_unit/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/date_test/test_add_different_unit/input.cyp -------------------------------------------------------------------------------- /e2e/date_test/test_add_different_unit/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN date.add(100, "d", 24, "h") AS sum; 3 | 4 | output: 5 | - sum: 101 6 | -------------------------------------------------------------------------------- /e2e/date_test/test_add_incorrect_first_unit/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/date_test/test_add_incorrect_first_unit/input.cyp -------------------------------------------------------------------------------- /e2e/date_test/test_add_incorrect_first_unit/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN date.add(100, "incorrect_unit", 66, "m") AS sum; 3 | 4 | exception: > 5 | The unit incorrect_unit is not correct. 6 | -------------------------------------------------------------------------------- /e2e/date_test/test_add_incorrect_second_unit/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/date_test/test_add_incorrect_second_unit/input.cyp -------------------------------------------------------------------------------- /e2e/date_test/test_add_incorrect_second_unit/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN date.add(100, "h", 66, "incorrect_unit") AS sum; 3 | 4 | exception: > 5 | The unit incorrect_unit is not correct. 6 | -------------------------------------------------------------------------------- /e2e/date_test/test_add_temporal_type_interoperation/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/date_test/test_add_temporal_type_interoperation/input.cyp -------------------------------------------------------------------------------- /e2e/date_test/test_add_to_negative/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/date_test/test_add_to_negative/input.cyp -------------------------------------------------------------------------------- /e2e/date_test/test_add_to_negative/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN date.add(50, "m", -1, "h") AS sum; 3 | 4 | output: 5 | - sum: -10 6 | -------------------------------------------------------------------------------- /e2e/date_test/test_format1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/date_test/test_format1/input.cyp -------------------------------------------------------------------------------- /e2e/date_test/test_format1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL date.format(74976, "h", "%Y/%m/%d %H:%M:%S %Z", "Mexico/BajaNorte") YIELD formatted 3 | RETURN formatted 4 | 5 | output: 6 | - formatted: "1978/07/21 17:00:00 PDT" 7 | -------------------------------------------------------------------------------- /e2e/date_test/test_format2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/date_test/test_format2/input.cyp -------------------------------------------------------------------------------- /e2e/date_test/test_format2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL date.format(74976002900, "ms", "%Y/%m/%d %H:%M:%S %Z", "Australia/Broken_Hill") YIELD formatted 3 | RETURN formatted 4 | 5 | output: 6 | - formatted: "1972/05/18 04:10:02 ACST" 7 | -------------------------------------------------------------------------------- /e2e/date_test/test_format3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/date_test/test_format3/input.cyp -------------------------------------------------------------------------------- /e2e/date_test/test_format3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL date.format(7491, "d", "%Y/%m/%d %H:%M:%S %z", "Brazil/DeNoronha") YIELD formatted 3 | RETURN formatted 4 | 5 | output: 6 | - formatted: "1990/07/05 22:00:00 -0200" 7 | -------------------------------------------------------------------------------- /e2e/date_test/test_parse1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/date_test/test_parse1/input.cyp -------------------------------------------------------------------------------- /e2e/date_test/test_parse1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL date.parse("2023/08/03 14:30:00", "h", "%Y/%m/%d %H:%M:%S", "Europe/Zagreb") YIELD parsed 3 | RETURN parsed 4 | 5 | output: 6 | - parsed: 469740 7 | -------------------------------------------------------------------------------- /e2e/date_test/test_parse2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/date_test/test_parse2/input.cyp -------------------------------------------------------------------------------- /e2e/date_test/test_parse2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL date.parse("21 June, 2018", "d", "%d %B, %Y", "US/Samoa") YIELD parsed 3 | RETURN parsed 4 | 5 | output: 6 | - parsed: 17703 7 | -------------------------------------------------------------------------------- /e2e/date_test/test_parse3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/date_test/test_parse3/input.cyp -------------------------------------------------------------------------------- /e2e/date_test/test_parse3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL date.parse("14-Feb-1985 01:02:03", "s", "%d-%b-%Y %H:%M:%S", "Pacific/Chatham") YIELD parsed 3 | RETURN parsed 4 | 5 | output: 6 | - parsed: 477141423 7 | -------------------------------------------------------------------------------- /e2e/degree_centrality_test/test_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/degree_centrality_test/test_empty/input.cyp -------------------------------------------------------------------------------- /e2e/degree_centrality_test/test_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL degree_centrality.get() YIELD node, degree 3 | RETURN node.id AS node, degree 4 | ORDER BY node ASC 5 | 6 | output: [] 7 | -------------------------------------------------------------------------------- /e2e/degree_centrality_test/test_empty_subgraph/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL degree_centrality.get_subgraph([], []) YIELD node, degree 3 | RETURN node.id AS node, degree 4 | ORDER BY node ASC 5 | 6 | output: [] 7 | -------------------------------------------------------------------------------- /e2e/degree_centrality_test/test_wrong_type/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL degree_centrality.get("not_existing") YIELD node, degree 3 | RETURN node.id AS node, degree 4 | ORDER BY degree DESC, node ASC 5 | 6 | exception: > 7 | The algorithm type is not supported 8 | -------------------------------------------------------------------------------- /e2e/descendants_test/test_multiple_traverse_descendants/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO]->(:B {id:2})-[:CONNECTED_TO]->(:C {id:3}); 2 | -------------------------------------------------------------------------------- /e2e/descendants_test/test_multiple_traverse_descendants_nested/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO]->(:B {id:2})-[:CONNECTED_TO]->(:C {id:3}); 2 | MATCH (b:B) MERGE (b)-[:CONNECTED_TO]->(:D {id:4}); 3 | -------------------------------------------------------------------------------- /e2e/descendants_test/test_multiple_traverse_descendants_nested_2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO]->(:B {id:2})-[:CONNECTED_TO]->(:C {id:3}); 2 | MATCH (b:B) MERGE (b)-[:CONNECTED_TO]->(:D {id:4})<-[:CONNECTED_TO]-(:E {id:5}); 3 | -------------------------------------------------------------------------------- /e2e/descendants_test/test_no_descendants/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A); 2 | CREATE (:B); 3 | MATCH (a:A), (b:B) MERGE (a)-[:CONNECTED_TO]->(b); 4 | -------------------------------------------------------------------------------- /e2e/descendants_test/test_no_descendants/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (b:B) 3 | CALL graph_util.descendants(b) YIELD descendants 4 | RETURN size(descendants) AS size 5 | 6 | output: 7 | - size: 0 8 | -------------------------------------------------------------------------------- /e2e/descendants_test/test_one_descendant/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1}); 2 | CREATE (:B {id:2}); 3 | MATCH (a:A), (b:B) MERGE (a)-[:CONNECTED_TO]->(b); 4 | -------------------------------------------------------------------------------- /e2e/descendants_test/test_one_descendant/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a:A) 3 | CALL graph_util.descendants(a) YIELD descendants 4 | UNWIND descendants as descendant 5 | RETURN descendant.id AS id 6 | 7 | output: 8 | - id: 2 9 | -------------------------------------------------------------------------------- /e2e/distance_calculator_test/test_distance_multiple/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Node {lat: 44.1194 , lng: 15.2314}) MERGE (b:Node {lat: 45.8150, lng: 15.9819}) CREATE (a)-[:CONNECTED_TO]->(b); 2 | -------------------------------------------------------------------------------- /e2e/distance_calculator_test/test_distance_multiple_km/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Node {lat: 44.1194 , lng: 15.2314}) MERGE (b:Node {lat: 45.8150, lng: 15.9819}) CREATE (a)-[:CONNECTED_TO]->(b); 2 | -------------------------------------------------------------------------------- /e2e/distance_calculator_test/test_distance_single/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Node {lat: 44.1194 , lng: 15.2314}) MERGE (b:Node {lat: 45.8150, lng: 15.9819}) CREATE (a)-[:CONNECTED_TO]->(b); 2 | -------------------------------------------------------------------------------- /e2e/distance_calculator_test/test_distance_single/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a)-[]->(b) 3 | CALL distance_calculator.single(a, b) YIELD distance 4 | RETURN distance; 5 | 6 | output: 7 | - distance: 197568.16 8 | -------------------------------------------------------------------------------- /e2e/do_test/disallowed_query_group/test_do_case/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/do_test/disallowed_query_group/test_do_case/input.cyp -------------------------------------------------------------------------------- /e2e/do_test/disallowed_query_group/test_do_when/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/do_test/disallowed_query_group/test_do_when/input.cyp -------------------------------------------------------------------------------- /e2e/do_test/do_case_group/test_simple/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL do.case([TRUE, "MATCH (n) RETURN n;"], "RETURN 1") 3 | YIELD value 4 | WITH collect(value.n) as nodes 5 | RETURN SIZE(nodes) AS n_nodes; 6 | 7 | output: 8 | - n_nodes: 6 9 | -------------------------------------------------------------------------------- /e2e/do_test/do_case_group/test_unpaired_conditionals/input.cyp: -------------------------------------------------------------------------------- 1 | MATCH (n) DETACH DELETE n; 2 | -------------------------------------------------------------------------------- /e2e/do_test/do_case_group/test_unpaired_conditionals/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL do.case([TRUE]) 3 | YIELD *; 4 | 5 | exception: > 6 | The `conditionals` parameter of `do.case` must be structured as follows: [BOOLEAN, STRING, BOOLEAN, STRING, …​]. 7 | -------------------------------------------------------------------------------- /e2e/do_test/do_case_group/test_wrong_type_conditionals/input.cyp: -------------------------------------------------------------------------------- 1 | MATCH (n) DETACH DELETE n; 2 | -------------------------------------------------------------------------------- /e2e/do_test/do_case_group/test_wrong_type_conditionals/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL do.case([TRUE, 2]) 3 | YIELD *; 4 | 5 | exception: > 6 | The `conditionals` parameter of `do.case` must must be structured as follows: [BOOLEAN, STRING, BOOLEAN, STRING, …​]. 7 | -------------------------------------------------------------------------------- /e2e/do_test/parameterization_group/test_do_case_params/input.cyp: -------------------------------------------------------------------------------- 1 | MATCH (n) DETACH DELETE n; 2 | CREATE (a: Node {id: 0}); 3 | -------------------------------------------------------------------------------- /e2e/do_test/parameterization_group/test_do_when_params/input.cyp: -------------------------------------------------------------------------------- 1 | MATCH (n) DETACH DELETE n; 2 | CREATE (a: Node {id: 0}); 3 | -------------------------------------------------------------------------------- /e2e/do_test/parameterization_group/test_params_&_strings/input.cyp: -------------------------------------------------------------------------------- 1 | MATCH (n) DETACH DELETE n; 2 | CREATE (a: Node {id: 0, prop: "$id: 0"}); 3 | -------------------------------------------------------------------------------- /e2e/do_test/return_nothing_group/test_do_case/input.cyp: -------------------------------------------------------------------------------- 1 | MATCH (n) DETACH DELETE n; -------------------------------------------------------------------------------- /e2e/do_test/return_nothing_group/test_do_case/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL do.case([TRUE, "MATCH (n: Node) WHERE n.id < 10 AND n.id >= 10 RETURN *;"], 3 | "", 4 | {id: 0}) 5 | YIELD *; 6 | 7 | output: [] 8 | -------------------------------------------------------------------------------- /e2e/do_test/return_nothing_group/test_do_when/input.cyp: -------------------------------------------------------------------------------- 1 | MATCH (n) DETACH DELETE n; -------------------------------------------------------------------------------- /e2e/do_test/return_nothing_group/test_do_when/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL do.when(TRUE, 3 | "MATCH (n: Node) WHERE n.id < 10 AND n.id >= 10 RETURN *;", 4 | "") 5 | YIELD *; 6 | 7 | output: [] 8 | -------------------------------------------------------------------------------- /e2e/do_test/test_strings_containing_quotes/input.cyp: -------------------------------------------------------------------------------- 1 | MATCH (n) DETACH DELETE n; 2 | CREATE (a: Node {id: 0, message: "say \"something 'nice'\" here"}); 3 | CREATE (a: Node {id: 1, message: "say \"something 'else'\" here"}); 4 | -------------------------------------------------------------------------------- /e2e/do_test/test_strings_containing_quotes/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL do.case([TRUE, "MATCH (n {message: \"say \\\"something 'nice'\\\" here\"}) RETURN n;"], 3 | "") 4 | YIELD value 5 | RETURN value.n.id AS nice_id; 6 | 7 | output: 8 | - nice_id: 0 9 | -------------------------------------------------------------------------------- /e2e/do_test/type_conversion_group/test_return_path/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL do.case([TRUE, "MATCH p = ()-[*2]-() RETURN p LIMIT 1;"], "RETURN 1") 3 | YIELD value 4 | RETURN size(value.p) AS path_size; 5 | 6 | output: 7 | - path_size: 2 8 | -------------------------------------------------------------------------------- /e2e/export_util_test/test_csv_graph_exporting_1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog {prop1: 10, prop2: "string"})-[l:LOVES {prop_rel1: 10, prop_rel2: "value"}]->(h:Human {prop1: "QUOTE"}) 2 | CREATE (p:Plane)-[f:FLIES {height : "10000"}]->(de:destination {name: "Zadar"}) 3 | -------------------------------------------------------------------------------- /e2e/export_util_test/test_csv_graph_exporting_2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog {prop1: 10, prop2: "string"})-[l:LOVES {prop_rel1: 10, prop_rel2: "value"}]->(h:Human {prop1: "QUOTE"}) 2 | CREATE (p:Plane)-[f:FLIES {height : "10000"}]->(de:destination {name: "Zadar"}) 3 | -------------------------------------------------------------------------------- /e2e/export_util_test/test_export_cypher_all_1/input.cyp: -------------------------------------------------------------------------------- 1 | queries: > 2 | CREATE (ivan: Intern {name: 'Ivan'}) CREATE (idora: Intern {name:'Idora'}) 3 | nodes: | 4 | MATCH (key) RETURN key; 5 | relationships: | 6 | MATCH (n)-[key]-() RETURN key; 7 | -------------------------------------------------------------------------------- /e2e/export_util_test/test_export_cypher_all_1/test.yml: -------------------------------------------------------------------------------- 1 | export: > 2 | CALL export_util.cypher_all(_exportfile) YIELD path RETURN path; 3 | import: > 4 | CALL import_util.cypher(_exportfile); 5 | -------------------------------------------------------------------------------- /e2e/export_util_test/test_export_cypher_all_2/test.yml: -------------------------------------------------------------------------------- 1 | export: > 2 | CALL export_util.cypher_all(_exportfile) YIELD path RETURN path; 3 | import: > 4 | CALL import_util.cypher(_exportfile); 5 | -------------------------------------------------------------------------------- /e2e/export_util_test/test_export_cypher_all_3/test.yml: -------------------------------------------------------------------------------- 1 | export: > 2 | CALL export_util.cypher_all(_exportfile) YIELD path RETURN path; 3 | import: > 4 | CALL import_util.cypher(_exportfile); 5 | -------------------------------------------------------------------------------- /e2e/export_util_test/test_export_json_1/test.yml: -------------------------------------------------------------------------------- 1 | export: > 2 | CALL export_util.json(_exportfile) YIELD path RETURN path; 3 | import: > 4 | CALL import_util.json(_exportfile); 5 | -------------------------------------------------------------------------------- /e2e/export_util_test/test_export_json_graph_2/test.yml: -------------------------------------------------------------------------------- 1 | export: > 2 | MATCH (d:Dog)-[l]->(h:Human) CALL export_util.json_graph([d, h], [l], _exportfile) YIELD path RETURN path; 3 | import: > 4 | CALL import_util.json(_exportfile); 5 | -------------------------------------------------------------------------------- /e2e/export_util_test/test_export_json_graph_3/test.yml: -------------------------------------------------------------------------------- 1 | export: > 2 | MATCH (d:Dog)-[l]->(h:Human) MATCH (p:Plane)-[f]->(de:Destination) CALL export_util.json_graph([d, h, de], [l], _exportfile) YIELD path RETURN path; 3 | import: > 4 | CALL import_util.json(_exportfile); 5 | -------------------------------------------------------------------------------- /e2e/graph_coloring_test/test_graph_one_node/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Cell {name: "Cell_0", id: 0}); 2 | -------------------------------------------------------------------------------- /e2e/graph_coloring_test/test_graph_one_node/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL graph_coloring.color_graph( 3 | {no_of_colors: 1}) 4 | YIELD node, color 5 | RETURN node.id AS id, color; 6 | output: 7 | - id: 0 8 | color: 0 9 | -------------------------------------------------------------------------------- /e2e/graph_coloring_test/test_graph_without_weight/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL graph_coloring.color_graph() YIELD node, color 3 | RETURN COUNT(node.id) AS id_count, COUNT(color) AS color_count; 4 | 5 | output: 6 | - id_count: 5 7 | color_count: 5 8 | -------------------------------------------------------------------------------- /e2e/graph_coloring_test/test_large_graph/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL graph_coloring.color_graph() YIELD node, color 3 | RETURN COUNT(node.id) AS id_count, COUNT(color) AS color_count; 4 | 5 | output: 6 | - id_count: 200 7 | color_count: 200 8 | -------------------------------------------------------------------------------- /e2e/graphml_test/test_export/test.yml: -------------------------------------------------------------------------------- 1 | export: > 2 | CALL export_util.graphml(_exportfile, {useTypes: True}) YIELD status RETURN status; 3 | 4 | import: > 5 | CALL import_util.graphml(_exportfile, {readLabels: True}) YIELD status RETURN status; 6 | -------------------------------------------------------------------------------- /e2e/hits_test/test_cugraph_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/hits_test/test_cugraph_empty/input.cyp -------------------------------------------------------------------------------- /e2e/hits_test/test_cugraph_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL cugraph.hits.get() YIELD authorities, hubs, node 3 | RETURN authorities, hubs, node.id as node_id 4 | ORDER BY node_id ASC; 5 | 6 | output: [] 7 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_all_shortest_path_length_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/igraphalg_test/test_all_shortest_path_length_empty/input.cyp -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_all_shortest_path_length_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL igraphalg.all_shortest_path_lengths() 3 | YIELD * 4 | RETURN *; 5 | 6 | output: [] 7 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_leiden_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/igraphalg_test/test_leiden_empty/input.cyp -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_leiden_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL igraphalg.community_leiden("CPM",NULL,0.6) 3 | YIELD * 4 | RETURN * 5 | 6 | output: [] 7 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_leiden_node_weights/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL igraphalg.community_leiden("CPM",NULL,1.0,0.1,NULL,2,[0.1,0.1,1.0,1.0]) 3 | YIELD node, community_id 4 | RETURN COUNT(node) AS count; 5 | 6 | output: 7 | - count: 6 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_max_flow_bidirectional_edge/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL igraphalg.maxflow(source, sink) 4 | YIELD max_flow RETURN max_flow; 5 | 6 | output: 7 | - max_flow: 20 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_max_flow_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/igraphalg_test/test_max_flow_empty/input.cyp -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_max_flow_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL igraphalg.maxflow(source, sink) 4 | YIELD max_flow RETURN max_flow; 5 | 6 | output: [] 7 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_max_flow_multiple_components/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 7}) 3 | CALL igraphalg.maxflow(source, sink) 4 | YIELD max_flow RETURN max_flow; 5 | 6 | output: 7 | - max_flow: 0 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_max_flow_no_flow/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 5}), (sink {id: 0}) 3 | CALL igraphalg.maxflow(source, sink) 4 | YIELD max_flow RETURN max_flow; 5 | 6 | output: 7 | - max_flow: 0 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_max_flow_normal/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL igraphalg.maxflow(source, sink) 4 | YIELD max_flow RETURN max_flow; 5 | 6 | output: 7 | - max_flow: 12 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_min_cut_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/igraphalg_test/test_min_cut_empty/input.cyp -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_min_cut_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL igraphalg.mincut(source, sink, "weight") 4 | YIELD * 5 | RETURN *; 6 | 7 | output: [] 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_min_span_tree_directed/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL igraphalg.spanning_tree(NULL,True) 3 | YIELD tree 4 | RETURN extract(path IN tree | extract (node in path | node.id)) AS tree; 5 | 6 | output: 7 | - tree: [[0,1],[2,0],[3,1],[4,2],[5,3]] 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_min_span_tree_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/igraphalg_test/test_min_span_tree_empty/input.cyp -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_min_span_tree_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL igraphalg.spanning_tree(NULL,True) 3 | YIELD * 4 | RETURN *; 5 | 6 | output: 7 | - tree: [] 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_min_span_tree_undirected/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL igraphalg.spanning_tree() 3 | YIELD tree 4 | RETURN extract(path IN tree | extract (node in path | node.id)) AS tree; 5 | 6 | output: 7 | - tree: [[0,1],[0,2],[1,3],[2,4],[3,5]] 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_min_span_tree_weighted/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL igraphalg.spanning_tree("weight") 3 | YIELD tree 4 | RETURN extract(path IN tree | extract (node in path | node.id)) AS tree; 5 | 6 | output: 7 | - tree: [[0,1],[1,2],[1,3],[3,4],[3,5]] 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_pagerank_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/igraphalg_test/test_pagerank_empty/input.cyp -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_pagerank_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL igraphalg.pagerank(0.85,NULL,True) YIELD node, rank 3 | RETURN node.id as node_id, rank 4 | ORDER BY node_id ASC 5 | 6 | output: [] 7 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_shortest_path_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/igraphalg_test/test_shortest_path_empty/input.cyp -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_shortest_path_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL igraphalg.get_shortest_path(source, sink) 4 | YIELD * 5 | RETURN *; 6 | 7 | output: [] 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_shortest_path_length_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/igraphalg_test/test_shortest_path_length_empty/input.cyp -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_shortest_path_length_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL igraphalg.shortest_path_length(source, sink,"weight") 4 | YIELD * 5 | RETURN *; 6 | 7 | output: [] 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_shortest_path_length_no_path/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 5}), (sink {id: 0}) 3 | CALL igraphalg.shortest_path_length(source, sink,"weight") 4 | YIELD length RETURN toString(length) as length; 5 | 6 | output: 7 | - length: inf 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_shortest_path_length_unweighted/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL igraphalg.shortest_path_length(source, sink) 4 | YIELD length RETURN length; 5 | 6 | output: 7 | - length: 3.0 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_shortest_path_length_weighted/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL igraphalg.shortest_path_length(source, sink,"weight") 4 | YIELD length RETURN length; 5 | 6 | output: 7 | - length: 22.0 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_shortest_path_no_path/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 5}), (sink {id: 0}) 3 | CALL igraphalg.get_shortest_path(source, sink,NULL,True) 4 | YIELD path 5 | RETURN extract(node IN path | node.id) AS path; 6 | 7 | output: 8 | - path: [] 9 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_simple_paths_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/igraphalg_test/test_simple_paths_empty/input.cyp -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_simple_paths_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL igraphalg.get_all_simple_paths(source, sink) 4 | YIELD * 5 | RETURN *; 6 | 7 | output: [] 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_simple_paths_no_path/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 5}), (sink {id: 0}) 3 | CALL igraphalg.get_all_simple_paths(source, sink) 4 | YIELD path 5 | RETURN extract(node in path | node.id) AS path; 6 | 7 | output: [] 8 | 9 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_topological_sort_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/igraphalg_test/test_topological_sort_empty/input.cyp -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_topological_sort_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL igraphalg.topological_sort() 3 | YIELD nodes 4 | RETURN extract(node in nodes | node.id) as node_ids 5 | 6 | output: 7 | - node_ids: [] 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_topological_sort_invalid_mode_exception/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL igraphalg.topological_sort("invalid") 3 | YIELD * 4 | RETURN *; 5 | 6 | exception: > 7 | Mode can only be either "out" or "in" 8 | -------------------------------------------------------------------------------- /e2e/igraphalg_test/test_topological_sort_valid/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL igraphalg.topological_sort() 3 | YIELD nodes 4 | RETURN extract(node in nodes | node.id) as node_ids 5 | 6 | output: 7 | - node_ids: [1,2,3,4,5,6,0,7] 8 | -------------------------------------------------------------------------------- /e2e/json_util_test/test_load_from_url/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/json_util_test/test_load_from_url/input.cyp -------------------------------------------------------------------------------- /e2e/katz_test/test_cugraph_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/katz_test/test_cugraph_empty/input.cyp -------------------------------------------------------------------------------- /e2e/katz_test/test_cugraph_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL cugraph.katz_centrality.get() 3 | YIELD *; 4 | 5 | output: [] 6 | -------------------------------------------------------------------------------- /e2e/katz_test/test_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/katz_test/test_empty/input.cyp -------------------------------------------------------------------------------- /e2e/katz_test/test_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL katz_centrality.get() YIELD node, rank 3 | RETURN node.id AS node 4 | ORDER BY rank DESC, node.id ASC 5 | 6 | output: [] 7 | -------------------------------------------------------------------------------- /e2e/label_test/test_exists_false/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (s1:Student {name: 'Ana'}); 2 | -------------------------------------------------------------------------------- /e2e/label_test/test_exists_false/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (s1:Student {name: 'Ana'}) 3 | RETURN label.exists(s1, "Teacher") AS output; 4 | 5 | output: 6 | - output: False 7 | -------------------------------------------------------------------------------- /e2e/label_test/test_exists_not_node/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (s1:Student {name: 'Ana'}) MERGE (s2:Student {name: 'Marija'}) CREATE (s1)-[k:KNOWS]->(s2); 2 | -------------------------------------------------------------------------------- /e2e/label_test/test_exists_not_node/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (:Student)-[k:KNOWS]->(:Student) 3 | RETURN label.exists(k, "Knows") AS output; 4 | 5 | output: 6 | - output: False 7 | -------------------------------------------------------------------------------- /e2e/label_test/test_exists_true/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (s1:Student {name: 'Ana'}); 2 | -------------------------------------------------------------------------------- /e2e/label_test/test_exists_true/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (s1:Student {name: 'Ana'}) 3 | RETURN label.exists(s1, "Student") AS output; 4 | 5 | output: 6 | - output: True 7 | -------------------------------------------------------------------------------- /e2e/leiden_community_detection_test/test_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/leiden_community_detection_test/test_empty/input.cyp -------------------------------------------------------------------------------- /e2e/leiden_cugraph_test/test_cugraph_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/leiden_cugraph_test/test_cugraph_empty/input.cyp -------------------------------------------------------------------------------- /e2e/leiden_cugraph_test/test_cugraph_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL cugraph.leiden.get() 3 | YIELD *; 4 | 5 | output: [] 6 | -------------------------------------------------------------------------------- /e2e/link_prediction_test/test_online_dataset_empty/input.cyp: -------------------------------------------------------------------------------- 1 | queries: 2 | - |- 3 | RETURN 1; 4 | cleanup: |- 5 | CALL link_prediction.reset_parameters() YIELD *; -------------------------------------------------------------------------------- /e2e/link_prediction_test/test_online_disconnected_graph/test.yml: -------------------------------------------------------------------------------- 1 | - query: >- 2 | CALL link_prediction.train() 3 | YIELD training_results, validation_results 4 | RETURN count(training_results) as check; 5 | output: 6 | - check: 1 7 | -------------------------------------------------------------------------------- /e2e/link_prediction_test/test_online_duplicate_connection/test.yml: -------------------------------------------------------------------------------- 1 | # It should work normally when having two connection src->dest nodes 2 | - query: >- 3 | CALL link_prediction.train() 4 | YIELD * 5 | RETURN 0 as check; 6 | output: 7 | - check: 0 8 | -------------------------------------------------------------------------------- /e2e/link_prediction_test/test_online_get_training_results_no_train/input.cyp: -------------------------------------------------------------------------------- 1 | queries: 2 | - |- 3 | RETURN 1; 4 | cleanup: |- 5 | CALL link_prediction.reset_parameters() YIELD *; 6 | -------------------------------------------------------------------------------- /e2e/link_prediction_test/test_online_small_chain_graph/test.yml: -------------------------------------------------------------------------------- 1 | # Just check that it will work on small chain graph. 2 | - query: >- 3 | CALL link_prediction.train() 4 | YIELD * 5 | RETURN 0 as check; 6 | output: 7 | - check: 0 8 | -------------------------------------------------------------------------------- /e2e/llm_util_test/test_schema_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/llm_util_test/test_schema_empty/input.cyp -------------------------------------------------------------------------------- /e2e/llm_util_test/test_schema_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL llm_util.schema() YIELD * RETURN *; 3 | exception: 4 | - Can't generate a graph schema since there is no data in the database. 5 | -------------------------------------------------------------------------------- /e2e/llm_util_test/test_schema_error_argument/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (n); 2 | -------------------------------------------------------------------------------- /e2e/llm_util_test/test_schema_error_argument/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL llm_util.schema('wrong_arg') YIELD * RETURN *; 3 | exception: 4 | - Can't generate a graph schema since the provided output_type is not correct. Please choose raw or prompt_ready. 5 | -------------------------------------------------------------------------------- /e2e/llm_util_test/test_schema_raw_relationship_properties_1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL llm_util.schema('raw') YIELD schema WITH schema.rel_props AS properties RETURN size(properties) AS num_of_properties; 3 | output: 4 | - num_of_properties: 0 5 | -------------------------------------------------------------------------------- /e2e/llm_util_test/test_schema_raw_relationship_properties_2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL llm_util.schema('raw') YIELD schema WITH schema.rel_props AS properties RETURN size(properties) AS num_of_properties; 3 | output: 4 | - num_of_properties: 1 5 | -------------------------------------------------------------------------------- /e2e/louvain_test/test_cugraph_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/louvain_test/test_cugraph_empty/input.cyp -------------------------------------------------------------------------------- /e2e/louvain_test/test_cugraph_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL cugraph.louvain.get() 3 | YIELD *; 4 | 5 | output: [] 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_flatten1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_flatten1/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_flatten2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_flatten2/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_flatten2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.flatten({a:{b:{c:{d:[1,2,3]},e:[1,2,3]}},e:[1,2,3]}) AS result; 3 | 4 | output: 5 | - result: {"a.b.c.d": [1,2,3],"a.b.e": [1,2,3],"e": [1,2,3]} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_flatten3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_flatten3/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_flatten3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.flatten({a:{b:{c:{d:[1,2,3]},e:[1,2,3]},d:{k:{f:{n:1}}}},e:[1,2,3]}) AS result; 3 | 4 | output: 5 | - result: {"a.b.c.d": [1,2,3],"a.b.e": [1,2,3],"a.d.k.f.n": 1,"e": [1,2,3]} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_fromLists1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_fromLists1/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_fromLists1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.from_lists(["name", "surname"],["Pero", "Peric"]) AS result; 3 | 4 | output: 5 | - result: {"name": "Pero","surname": "Peric"} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_fromLists2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_fromLists2/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_fromLists2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.from_lists(["name", "surname","list"],["Pero", "Peric",[1,2,4,5]]) AS result; 3 | 4 | output: 5 | - result: {"list": [1,2,4,5],"name": "Pero","surname": "Peric"} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_fromLists3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_fromLists3/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_fromPairs_diff_types/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_fromPairs_diff_types/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_fromPairs_diff_types/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.from_pairs([["a", 2], ["b", 3], ["c", "c"]]) AS map; 3 | 4 | output: 5 | - map: { 6 | "a": 2, 7 | "b": 3, 8 | "c": "c" 9 | } 10 | -------------------------------------------------------------------------------- /e2e/map_test/test_fromPairs_key_dupl/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_fromPairs_key_dupl/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_fromPairs_key_dupl/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.from_pairs([["b", 2], ["b", 3], ["c", "c"]]) AS map; 3 | 4 | output: 5 | - map: { 6 | "b": 3, 7 | "c": "c" 8 | } 9 | -------------------------------------------------------------------------------- /e2e/map_test/test_fromPairs_key_not_str/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_fromPairs_key_not_str/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_fromPairs_key_not_str/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.from_pairs([[1, 2], ["b", 3], ["c", "c"]]) AS map 3 | 4 | exception: > 5 | All keys have to be type string. 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_fromPairs_not_pairs/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_fromPairs_not_pairs/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_fromPairs_not_pairs/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.from_pairs([["a", 2, 3], ["b", 3], ["c", "c"]]) AS map; 3 | 4 | exception: > 5 | Pairs must consist of 2 elements exactly. 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_from_nodes2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog {name: "Rex", age: 50, id: 0})-[l:LOVES {how: "Much", id: 0}]->(h:Human {name: "Carl",nationality: "Croatian", id: 1}) 2 | -------------------------------------------------------------------------------- /e2e/map_test/test_from_nodes2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL map.from_nodes("Human", "name") YIELD map 3 | RETURN map["Carl"]["properties"]["nationality"] AS nationality; 4 | 5 | output: 6 | - nationality: Croatian 7 | -------------------------------------------------------------------------------- /e2e/map_test/test_from_nodes_1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog {name: "Rex", age: 50, id: 0})-[l:LOVES {how: "Much", id: 0}]->(h:Human {name: "Carl",nationality: "Croatian", id: 1}) 2 | -------------------------------------------------------------------------------- /e2e/map_test/test_from_nodes_1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL map.from_nodes("Dog", "name") YIELD map 3 | RETURN map["Rex"]["properties"]["age"] AS age; 4 | 5 | output: 6 | - age: 50 7 | -------------------------------------------------------------------------------- /e2e/map_test/test_from_values_1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_from_values_1/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_from_values_1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.from_values(["name", "Zdravko", "surname", "Mamac", "Age", 3]) 3 | AS map; 4 | output: 5 | - map: {"surname": "Mamac", "name": "Zdravko","Age": 3} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_from_values_2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_from_values_2/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_from_values_2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.from_values(["name", "Zdravko", "name", "Mamac", "name", 3]) 3 | AS map; 4 | output: 5 | - map: {"name": 3} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_from_values_3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_from_values_3/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_from_values_3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.from_values(["name", "Zdravko", "Name", "Mamac", "NaMe", 3]) 3 | AS map; 4 | output: 5 | - map: {"Name": "Mamac", "name": "Zdravko","NaMe": 3} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_merge/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_merge/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_merge/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.merge({a: "b", c: "d"}, {e: "f", g: "h"}) AS merged 3 | 4 | output: 5 | - merged: {a: "b", c: "d", e: "f", g: "h"} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_merge_duplicate_key/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_merge_duplicate_key/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_merge_duplicate_key/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.merge({a: "b", c: "d"}, {a: "f", g: "h"}) AS merged 3 | 4 | output: 5 | - merged: {a: "f", c: "d", g: "h"} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_merge_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_merge_empty/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_merge_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.merge({}, {}) AS merged 3 | 4 | output: 5 | - merged: {} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_removeKey_exists/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_removeKey_exists/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_removeKey_exists/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.remove_key({c: "b", d: "ba"}, "c") AS removed 3 | 4 | output: 5 | - removed: { 6 | "d": "ba" 7 | } 8 | -------------------------------------------------------------------------------- /e2e/map_test/test_removeKey_not_exist/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_removeKey_not_exist/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_removeKey_not_exist/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.remove_key({c: "b", d: "ba"}, "a") AS removed 3 | 4 | output: 5 | - removed: { 6 | "c": "b", 7 | "d": "ba" 8 | } 9 | -------------------------------------------------------------------------------- /e2e/map_test/test_removeKey_recursion/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_removeKey_recursion/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_removeKey_recursion/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.remove_key({c: "b", d: {e: "ba", c: "h", a: {c: "z"}}}, "c", {recursive: true}) AS removed 3 | 4 | output: 5 | - removed: { 6 | "d": { 7 | "e": "ba" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /e2e/map_test/test_removeKeys1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_removeKeys1/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_removeKeys1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.remove_keys({name:{matija: "matija",ptica: {}}},["matija"],{recursive: true}) AS result; 3 | 4 | output: 5 | - result: {} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_removeKeys2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_removeKeys2/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_removeKeys2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.remove_keys({name:{}},["matija"],{recursive: false}) AS result; 3 | 4 | output: 5 | - result: {"name": {}} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_removeKeys3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_removeKeys3/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_removeKeys3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.remove_keys({name:{}},[],{recursive: true}) As result; 3 | 4 | output: 5 | - result: {} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_removeKeys4/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_removeKeys4/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_removeKeys4/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.remove_keys({a:{b:{c:{d:"pas"}}}},["d"]) AS result; 3 | 4 | 5 | output: 6 | - result : {"a": {"b": {"c": {"d": "pas"}}}} 7 | -------------------------------------------------------------------------------- /e2e/map_test/test_removeKeys5/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_removeKeys5/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_removeKeys5/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.remove_keys({a:{b:{c:{d:"pas"}}}},["d"],{recursive: true}) AS result; 3 | 4 | output: 5 | - result: {} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_removeKeys6/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_removeKeys6/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_removeKeys6/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.remove_keys({a:{b:{c:{d:"pas"},e:"e"}},k:"k"},["d"],{recursive: true}) AS result; 3 | 4 | output: 5 | - result: {"a": {"b": {"e": "e"}},"k": "k"} 6 | -------------------------------------------------------------------------------- /e2e/map_test/test_set_key_1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_set_key_1/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_set_key_1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.set_key( 3 | {name:"Zdravko",country:"Croatia"}, 4 | "name", 5 | 1 6 | ) AS map; 7 | 8 | output: 9 | - map: {"country": "Croatia","name": 1} 10 | -------------------------------------------------------------------------------- /e2e/map_test/test_set_key_2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_set_key_2/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_set_key_2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.set_key( 3 | {name:"Zdravko",country:"Croatia"}, 4 | "name", 5 | "Zoran" 6 | ) AS map; 7 | 8 | output: 9 | - map: {"country": "Croatia","name": "Zoran"} 10 | -------------------------------------------------------------------------------- /e2e/map_test/test_set_key_3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/map_test/test_set_key_3/input.cyp -------------------------------------------------------------------------------- /e2e/map_test/test_set_key_3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN map.set_key( 3 | {name:"Zdravko",country:"Croatia"}, 4 | "surname", 5 | "Mamac" 6 | ) AS map; 7 | 8 | output: 9 | - map: {"country": "Croatia","name": "Zdravko", "surname": "Mamac"} 10 | -------------------------------------------------------------------------------- /e2e/max_flow_test/test_bidirectional_edge/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL max_flow.get_flow(source, sink) 4 | YIELD max_flow RETURN max_flow; 5 | 6 | output: 7 | - max_flow: 20 8 | -------------------------------------------------------------------------------- /e2e/max_flow_test/test_cycle/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL max_flow.get_flow(source, sink) 4 | YIELD max_flow RETURN max_flow; 5 | 6 | output: 7 | - max_flow: 12 8 | -------------------------------------------------------------------------------- /e2e/max_flow_test/test_edge_without_property/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL max_flow.get_flow(source, sink) 4 | YIELD max_flow RETURN max_flow; 5 | 6 | output: 7 | - max_flow: 11 8 | -------------------------------------------------------------------------------- /e2e/max_flow_test/test_empty/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE ({id: 0}), ({id: 5}) 2 | -------------------------------------------------------------------------------- /e2e/max_flow_test/test_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL max_flow.get_flow(source, sink) 4 | YIELD max_flow RETURN max_flow; 5 | 6 | output: 7 | - max_flow: 0 8 | -------------------------------------------------------------------------------- /e2e/max_flow_test/test_multiple_components/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 7}) 3 | CALL max_flow.get_flow(source, sink) 4 | YIELD max_flow RETURN max_flow; 5 | 6 | output: 7 | - max_flow: 0 8 | -------------------------------------------------------------------------------- /e2e/max_flow_test/test_no_flow/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 5}), (sink {id: 0}) 3 | CALL max_flow.get_flow(source, sink) 4 | YIELD max_flow RETURN max_flow; 5 | 6 | output: 7 | - max_flow: 0 8 | -------------------------------------------------------------------------------- /e2e/max_flow_test/test_normal/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL max_flow.get_flow(source, sink) 4 | YIELD max_flow RETURN max_flow; 5 | 6 | output: 7 | - max_flow: 20 8 | -------------------------------------------------------------------------------- /e2e/max_flow_test/test_path_recursive_return/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL max_flow.get_flow(source, sink) 4 | YIELD max_flow RETURN max_flow; 5 | 6 | output: 7 | - max_flow: 20 8 | -------------------------------------------------------------------------------- /e2e/max_flow_test/test_paths/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (source {id: 0}), (sink {id: 5}) 3 | CALL max_flow.get_paths(source, sink) 4 | YIELD path, flow 5 | RETURN count(path) AS count 6 | 7 | output: 8 | - count: 4 9 | -------------------------------------------------------------------------------- /e2e/meta_test/test_stats_1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Movie {one:1, two:2, three:3}); 2 | CREATE (:Series {one:1, two:2, three:3}); 3 | CREATE (:Movie {one:5, two:2, three:3}); 4 | -------------------------------------------------------------------------------- /e2e/meta_util_test/test_schema_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/meta_util_test/test_schema_empty/input.cyp -------------------------------------------------------------------------------- /e2e/meta_util_test/test_schema_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL meta_util.schema() YIELD * RETURN *; 3 | exception: 4 | - Can't generate a graph schema since there is no data in the database. 5 | -------------------------------------------------------------------------------- /e2e/meta_util_test/test_schema_nodes_size/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL meta_util.schema() YIELD nodes, relationships RETURN size(nodes) AS size; 3 | output: 4 | - size: 4 5 | -------------------------------------------------------------------------------- /e2e/meta_util_test/test_schema_relationships_size/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL meta_util.schema() YIELD nodes, relationships RETURN size(relationships) AS size; 3 | output: 4 | - size: 4 5 | -------------------------------------------------------------------------------- /e2e/node2vec_test/test_get_embeddings/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | call node2vec.get_embeddings() yield nodes, embeddings 3 | unwind embeddings as embedding 4 | return count(embedding) as embeddings_num; 5 | 6 | 7 | output: 8 | - embeddings_num: 5 9 | -------------------------------------------------------------------------------- /e2e/node2vec_test/test_set_embedings/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (n) 3 | RETURN COUNT(n.embedding) as embeddings_num; 4 | 5 | 6 | output: 7 | - embeddings_num: 5 8 | -------------------------------------------------------------------------------- /e2e/node_classification_online_test/test_online_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL node_classification.train() YIELD * RETURN *; 3 | 4 | exception: "Graph is empty. " 5 | 6 | -------------------------------------------------------------------------------- /e2e/node_classification_online_test/test_online_load_non_existing_model/test.yml: -------------------------------------------------------------------------------- 1 | - query: > 2 | CALL node_classification.load_model() YIELD *; 3 | 4 | exception: > 5 | "There are no saved models. " 6 | -------------------------------------------------------------------------------- /e2e/node_classification_online_test/test_online_save_without_initialized_model/test.yml: -------------------------------------------------------------------------------- 1 | - query: > 2 | CALL node_classification.save_model() YIELD *; 3 | 4 | exception: "Saving is not enabled until model is not initialized or loaded." 5 | 6 | -------------------------------------------------------------------------------- /e2e/node_classification_online_test/test_online_set_parameters_incorrect_type/test.yml: -------------------------------------------------------------------------------- 1 | - query: > 2 | CALL node_classification.set_model_parameters({hidden_features_size: 10}) YIELD *; 3 | 4 | exception: > 5 | "Input dictionary is not correctly typed." 6 | -------------------------------------------------------------------------------- /e2e/node_classification_online_test/test_online_train_GAT_with_three_layers/test.yml: -------------------------------------------------------------------------------- 1 | - query: > 2 | CALL node_classification.train(10) YIELD epoch RETURN epoch; 3 | 4 | output: 5 | - epoch: 5 6 | - epoch: 10 -------------------------------------------------------------------------------- /e2e/node_classification_online_test/test_online_train_SAGE_with_two_layers/test.yml: -------------------------------------------------------------------------------- 1 | - query: > 2 | CALL node_classification.train(10) YIELD epoch; 3 | 4 | output: 5 | - epoch: 5 6 | - epoch: 10 -------------------------------------------------------------------------------- /e2e/node_test/test_degree_in1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog),(h:Human),(d)-[l:LOVES]->(h),(d)-[o:OWNED_BY]->(h); 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_degree_in1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (h:Human) RETURN node.degree_in(h, "LOVES") AS result; 3 | 4 | output: 5 | - result: 1 6 | -------------------------------------------------------------------------------- /e2e/node_test/test_degree_in2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog),(h:Human),(d)-[l:LOVES]->(h),(d)-[o:OWNED_BY]->(h); 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_degree_in2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (h:Human) RETURN node.degree_in(h) AS result; 3 | 4 | output: 5 | - result: 2 6 | -------------------------------------------------------------------------------- /e2e/node_test/test_degree_in3/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (d:Dog {name: "Rex"}) WITH d UNWIND range(0, 1000) AS id MERGE (h:Human {name: "Humie" + id}) MERGE (h)-[l:LOVES]->(d); 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_degree_in3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (d:Dog) RETURN node.degree_in(d) AS result; 3 | 4 | output: 5 | - result: 1001 6 | -------------------------------------------------------------------------------- /e2e/node_test/test_degree_out1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog),(h:Human),(d)-[l:LOVES]->(h),(d)-[o:OWNED_BY]->(h); 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_degree_out1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (d:Dog) RETURN node.degree_out(d, "LOVES") AS result; 3 | 4 | output: 5 | - result: 1 6 | -------------------------------------------------------------------------------- /e2e/node_test/test_degree_out2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog),(h:Human),(d)-[l:LOVES]->(h),(d)-[o:OWNED_BY]->(h); 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_degree_out2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (d:Dog) RETURN node.degree_out(d) AS result; 3 | 4 | output: 5 | - result: 2 6 | -------------------------------------------------------------------------------- /e2e/node_test/test_degree_out3/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (d:Dog {name: "Rex"}) WITH d UNWIND range(0, 1000) AS id MERGE (h:Human {name: "Humie" + id}) MERGE (d)-[l:LOVES]->(h); 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_degree_out3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (d:Dog) RETURN node.degree_out(d) AS result; 3 | 4 | output: 5 | - result: 1001 6 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_in/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Person {name: "Phoebe"}) MERGE (b:Person {name: "Joey"}) CREATE (a)-[f:FRIENDS]->(b) 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_in/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a:Person {name: 'Joey'}) 3 | CALL node.relationship_exists(a, ["(b) 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_in_false/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a:Person {name: 'Phoebe'}) 3 | CALL node.relationship_exists(a, ["(b) 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_in_or_out/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a:Person {name: 'Phoebe'}) 3 | CALL node.relationship_exists(a, ["FRIENDS"]) YIELD exists 4 | RETURN exists 5 | 6 | output: 7 | - exists: True 8 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_in_or_out_false/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Person {name: "Phoebe"}) MERGE (b:Person {name: "Joey"}) CREATE (a)-[f:LOVERS]->(b) 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_in_or_out_false/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a:Person {name: 'Phoebe'}) 3 | CALL node.relationship_exists(a, ["FRIENDS"]) YIELD exists 4 | RETURN exists 5 | 6 | output: 7 | - exists: False 8 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_multiple/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Person {name: "Phoebe"}) MERGE (b:Person {name: "Joey"}) CREATE (a)-[f:FRIENDS]->(b) 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_multiple/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a:Person {name: 'Phoebe'}) 3 | CALL node.relationship_exists(a, ["(b) 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_no_pattern/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a:Person {name: 'Phoebe'}) 3 | CALL node.relationship_exists(a) YIELD exists 4 | RETURN exists 5 | 6 | output: 7 | - exists: True 8 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_no_pattern_false/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (a:Person {name: "Phoebe"}); 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_no_pattern_false/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a:Person {name: 'Phoebe'}) 3 | CALL node.relationship_exists(a) YIELD exists 4 | RETURN exists 5 | 6 | output: 7 | - exists: False 8 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_out/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Person {name: "Phoebe"}) MERGE (b:Person {name: "Joey"}) CREATE (a)-[f:FRIENDS]->(b) 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_out/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a:Person {name: 'Phoebe'}) 3 | CALL node.relationship_exists(a, ["FRIENDS>"]) YIELD exists 4 | RETURN exists 5 | 6 | output: 7 | - exists: True 8 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_out_false/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Person {name: "Phoebe"}) MERGE (b:Person {name: "Joey"}) CREATE (a)-[f:FRIENDS]->(b) 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_rel-exists_out_false/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a:Person {name: 'Joey'}) 3 | CALL node.relationship_exists(a, ["FRIENDS>"]) YIELD exists 4 | RETURN exists 5 | 6 | output: 7 | - exists: False 8 | -------------------------------------------------------------------------------- /e2e/node_test/test_relationship_types_1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (ivan: Intern {name: 'Ivan'}) CREATE (idora: Intern {name: 'Idora'}) CREATE (matija: Intern {name: 'Matija'}) MERGE (ivan)-[:KNOWS]->(idora) MERGE (matija)-[:HEARS]->(idora) MERGE (matija)-[:SEES]->(ivan); 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_relationship_types_2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (ivan: Intern {name: 'Ivan'}) CREATE (idora: Intern {name: 'Idora'}) CREATE (matija: Intern {name: 'Matija'}) MERGE (ivan)-[:KNOWS]->(idora) MERGE (matija)-[:HEARS]->(idora) MERGE (matija)-[:SEES]->(ivan); 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_relationship_types_3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (ivan: Intern {name: 'Ivan'}) CREATE (idora: Intern {name: 'Idora'}) CREATE (matija: Intern {name: 'Matija'}) MERGE (ivan)-[:KNOWS]->(idora) MERGE (matija)-[:HEARS]->(idora) MERGE (matija)-[:SEES]->(ivan); 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_relationshipsExist1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog {name: "Rex"})-[:KNOWS]->(d2:Dog {name: "Dog30"}); 2 | MATCH (d:Dog {name: "Rex"}), (d2:Dog {name: "Dog30"}) CREATE (d)-[:FOLLOWS]->(d2); 3 | MATCH (d:Dog {name: "Rex"}) CREATE (d)-[:KNOWS]->(d3:Dog {name: "Dog60"}); 4 | -------------------------------------------------------------------------------- /e2e/node_test/test_relationshipsExist2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog)-[r:Loves]->(h:Human); 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_relationshipsExist2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (d:Dog) 3 | CALL node.relationships_exist(d, ["Loves>","Loves"]) YIELD result RETURN result; 4 | output: 5 | - result: {"Loves": true,"Loves>": true} 6 | -------------------------------------------------------------------------------- /e2e/node_test/test_relationshipsExist3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog)-[r:Loves]->(h:Human)-[c:chases]->(d); 2 | -------------------------------------------------------------------------------- /e2e/node_test/test_relationshipsExist3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (h:Human) 3 | CALL node.relationships_exist(h, ["Loves>","chases>"]) YIELD result RETURN result; 4 | output: 5 | - result: {"Loves>": false,"chases>": true} 6 | -------------------------------------------------------------------------------- /e2e/nodes_test/test_relationship_types_id/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (ivan: Intern {name: 'Ivan'}) CREATE (idora: Intern {name: 'Idora'}) CREATE (matija: Intern {name: 'Matija'}) MERGE (ivan)-[:KNOWS]->(idora) MERGE (matija)-[:HEARS]->(idora) MERGE (matija)-[:SEES]->(ivan); 2 | -------------------------------------------------------------------------------- /e2e/nodes_test/test_relationship_types_ids/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (ivan: Intern {name: 'Ivan'}) CREATE (idora: Intern {name: 'Idora'}) CREATE (matija: Intern {name: 'Matija'}) MERGE (ivan)-[:KNOWS]->(idora) MERGE (matija)-[:HEARS]->(idora) MERGE (matija)-[:SEES]->(ivan); 2 | -------------------------------------------------------------------------------- /e2e/nodes_test/test_relationship_types_node/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (ivan: Intern {name: 'Ivan'}) CREATE (idora: Intern {name: 'Idora'}) CREATE (matija: Intern {name: 'Matija'}) MERGE (ivan)-[:KNOWS]->(idora) MERGE (matija)-[:HEARS]->(idora) MERGE (matija)-[:SEES]->(ivan); 2 | -------------------------------------------------------------------------------- /e2e/nodes_test/test_relationship_types_nodes/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (ivan: Intern {name: 'Ivan'}) CREATE (idora: Intern {name: 'Idora'}) CREATE (matija: Intern {name: 'Matija'}) MERGE (ivan)-[:KNOWS]->(idora) MERGE (matija)-[:HEARS]->(idora) MERGE (matija)-[:SEES]->(ivan); 2 | -------------------------------------------------------------------------------- /e2e/nodes_test/test_relationships_exist2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog)-[r:Loves]->(h:Human); 2 | -------------------------------------------------------------------------------- /e2e/nodes_test/test_relationships_exist3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog)-[r:Loves]->(h:Human)-[c:chases]->(d); 2 | -------------------------------------------------------------------------------- /e2e/pagerank_test/test_cugraph_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/pagerank_test/test_cugraph_empty/input.cyp -------------------------------------------------------------------------------- /e2e/pagerank_test/test_cugraph_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL cugraph.pagerank.get() 3 | YIELD *; 4 | 5 | output: [] 6 | -------------------------------------------------------------------------------- /e2e/pagerank_test/test_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/pagerank_test/test_empty/input.cyp -------------------------------------------------------------------------------- /e2e/pagerank_test/test_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL pagerank.get() YIELD node, rank 3 | RETURN node.id AS node, rank 4 | ORDER BY node ASC 5 | 6 | output: [] 7 | -------------------------------------------------------------------------------- /e2e/path_test/test_create_2/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (croatia:Country {name: 'Croatia'}) MERGE (spain:Country {name: 'Spain'}) MERGE (madrid:City {name: 'Madrid'}) MERGE (madrid)-[:IN_COUNTRY]->(spain); 2 | -------------------------------------------------------------------------------- /e2e/path_test/test_create_3/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (croatia:Country {name: 'Croatia'}) MERGE (spain:Country {name: 'Spain'}) MERGE (madrid:City {name: 'Madrid'}) MERGE (madrid)-[:IN_COUNTRY]->(spain); 2 | -------------------------------------------------------------------------------- /e2e/path_test/test_elements_1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1})-[:CONNECTED {id: 1}]->(:Node {id: 2})-[:CONNECTED {id: 2}]->(:Node {id: 3})-[:CONNECTED {id: 3}]->(:Node {id: 4})-[:CONNECTED {id: 4}]->(:Node {id: 5}); 2 | -------------------------------------------------------------------------------- /e2e/path_test/test_elements_2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1})<-[:CONNECTED {id: 1}]-(:Node {id: 2})-[:CONNECTED {id: 2}]->(:Node {id: 3})<-[:CONNECTED {id: 3}]-(:Node {id: 4})-[:CONNECTED {id: 4}]->(:Node {id: 5}); 2 | -------------------------------------------------------------------------------- /e2e/path_test/test_expand4/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (d:Dog), (h:Human) CALL path.expand([d,id(h)],[],[],1,10) YIELD result 3 | RETURN count(result) AS count; 4 | output: 5 | - count: 142 6 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_batch_argument_not_int/input.cyp: -------------------------------------------------------------------------------- 1 | FOREACH (i in range(1, 10) | CREATE ()); 2 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_batch_argument_not_int/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL periodic.delete({batch_size: "a"}) YIELD * RETURN *; 3 | 4 | exception: > 5 | Batch size needs to be an integer! 6 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_batch_size_negative/input.cyp: -------------------------------------------------------------------------------- 1 | FOREACH (i in range(1, 10) | CREATE ()); 2 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_batch_size_negative/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL periodic.delete({batch_size: -1}) YIELD * RETURN *; 3 | 4 | exception: > 5 | Batch size can't be a non-negative integer! 6 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_everything/input.cyp: -------------------------------------------------------------------------------- 1 | FOREACH (i in range(1, 10) | CREATE ()-[:TYPE]->()); 2 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_invalid_edge_type_config/input.cyp: -------------------------------------------------------------------------------- 1 | FOREACH (i in range(1, 10) | CREATE ()); 2 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_invalid_edge_type_config/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL periodic.delete({batch_size: 10, edge_types: [1]}) YIELD * RETURN *; 3 | 4 | exception: > 5 | Invalid config for config parameter edge_types! 6 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_invalid_labels_config/input.cyp: -------------------------------------------------------------------------------- 1 | FOREACH (i in range(1, 10) | CREATE ()); 2 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_invalid_labels_config/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL periodic.delete({batch_size: 10, labels: [1]}) YIELD * RETURN *; 3 | 4 | exception: > 5 | Invalid config for config parameter labels! 6 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_no_batch_argument/input.cyp: -------------------------------------------------------------------------------- 1 | FOREACH (i in range(1, 10) | CREATE ()); 2 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_no_batch_argument/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL periodic.delete({}) YIELD * RETURN *; 3 | 4 | exception: > 5 | Periodic.delete() did not specify config parameter batch_size! 6 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_on_just_edges/input.cyp: -------------------------------------------------------------------------------- 1 | FOREACH (i in range(1, 10) | CREATE ()-[:TYPE]->()); 2 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_on_just_nodes/input.cyp: -------------------------------------------------------------------------------- 1 | FOREACH (i in range(1, 10) | CREATE ()); 2 | -------------------------------------------------------------------------------- /e2e/periodic_delete_test/test_periodic_delete_on_specific_label/input.cyp: -------------------------------------------------------------------------------- 1 | FOREACH (i in range(1, 15) | CREATE (:Node)); 2 | FOREACH (i in range(1, 10) | CREATE (:Node2)); 3 | -------------------------------------------------------------------------------- /e2e/periodic_iterate_test/test_periodic_iterate_invalid_batch_argument/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (); 2 | -------------------------------------------------------------------------------- /e2e/periodic_iterate_test/test_periodic_iterate_invalid_batch_argument/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL periodic.iterate("MATCH (n) RETURN n", "SET n.prop = 1", {}) YIELD success RETURN success; 3 | 4 | exception: > 5 | Configuration parameter batch_size is not set. 6 | -------------------------------------------------------------------------------- /e2e/periodic_iterate_test/test_periodic_iterate_invalid_batch_argument_negative/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (); 2 | -------------------------------------------------------------------------------- /e2e/periodic_iterate_test/test_periodic_iterate_invalid_batch_argument_value/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (); 2 | -------------------------------------------------------------------------------- /e2e/periodic_iterate_test/test_periodic_iterate_node_inputs/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (); 2 | CREATE (); 3 | CALL periodic.iterate("MATCH (n) RETURN n", "SET n.prop = 1", {batch_size: 1000}) YIELD success RETURN success; 4 | -------------------------------------------------------------------------------- /e2e/periodic_iterate_test/test_periodic_iterate_node_inputs/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (n) RETURN n.prop as prop 3 | 4 | output: 5 | - prop: 1 6 | - prop: 1 7 | -------------------------------------------------------------------------------- /e2e/periodic_iterate_test/test_periodic_iterate_node_inputs_multiple_batches/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (); 2 | CREATE (); 3 | CREATE (); 4 | CALL periodic.iterate("MATCH (n) RETURN n", "SET n.prop = 1", {batch_size: 1}) YIELD success RETURN success; 5 | -------------------------------------------------------------------------------- /e2e/periodic_iterate_test/test_periodic_iterate_node_inputs_multiple_batches/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (n) RETURN n.prop as prop 3 | 4 | output: 5 | - prop: 1 6 | - prop: 1 7 | - prop: 1 8 | -------------------------------------------------------------------------------- /e2e/periodic_iterate_test/test_periodic_iterate_show_number_of_executed_batches/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/periodic_iterate_test/test_periodic_iterate_show_number_of_executed_batches/input.cyp -------------------------------------------------------------------------------- /e2e/periodic_iterate_test/test_periodic_iterate_show_number_of_executed_batches_second/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/periodic_iterate_test/test_periodic_iterate_show_number_of_executed_batches_second/input.cyp -------------------------------------------------------------------------------- /e2e/pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | addopts = 3 | -vv --quiet --maxfail=10 4 | python_files = test_module.py 5 | testpaths = . 6 | -------------------------------------------------------------------------------- /e2e/refactor_test/test_rename_label/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node1 {title:"Name", id:0}) CREATE (:Node2 {title:"Name", id:1}) CREATE (:Node1 {id:2}); 2 | -------------------------------------------------------------------------------- /e2e/refactor_test/test_rename_label/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH(n) WHERE n.title = 'Name' WITH collect(n) AS nodes CALL refactor.rename_label("Node1", "Node3", nodes) YIELD nodes_changed RETURN nodes_changed; 3 | output: 4 | - nodes_changed: 1 5 | -------------------------------------------------------------------------------- /e2e/refactor_test/test_rename_property_nodes/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (n) WHERE n:Node1 OR n:Node2 WITH collect(n) as nodes CALL refactor.rename_node_property("title", "description", nodes) YIELD nodes_changed RETURN nodes_changed; 3 | output: 4 | - nodes_changed: 2 5 | -------------------------------------------------------------------------------- /e2e/rsmgp_example_test/test_simple/input.cyp: -------------------------------------------------------------------------------- 1 | MATCH (n) DETACH DELETE n; 2 | CREATE (v1 {age: 29, list: [1]}), (v2:L1 {age: 31.3, list: [2]}), (v3:L2:L3 {name: "Phil"}), (v4:L4:L5:L6 {list: [4, 5]}), (v1)-[:E1]->(v2); 3 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_node_2_node/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1, prop: 'prop1'}); 2 | CREATE (:Node {id: 2, prop: 'prop2'}); 3 | MATCH (n {id: 1}), (m {id: 2}) CALL set_property.copyPropertyNode2Node(n, ['prop'], m, ['prop']) YIELD result RETURN result; 4 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_node_2_node/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (n {id: 1}), (m {id: 2}) 3 | RETURN n.prop AS p1, m.prop as p2; 4 | 5 | output: 6 | - p1: prop1 7 | p2: prop1 8 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_node_2_node_invalid_node_type/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1, prop: 'prop1'}); 2 | CREATE (:Node {id: 2, prop: 'prop2'}); 3 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_node_2_node_invalid_node_type_2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1, prop: 'prop1'}); 2 | CREATE (:Node {id: 2, prop: 'prop2'}); 3 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_node_2_node_sizes_not_match/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1, prop: 'prop1'}); 2 | CREATE (:Node {id: 2, prop: 'prop2'}); 3 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_node_2_rel/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (n {id: 1})-[r]->(m {id: 2}) 3 | RETURN n.prop AS p1, r.prop as p2; 4 | 5 | output: 6 | - p1: prop1 7 | p2: prop1 8 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_node_2_rel_invalid_node_type/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1, prop: 'prop1'})-[:TYPE {prop: 'prop3'}]->(:Node {id: 2, prop: 'prop2'}); 2 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_node_2_rel_invalid_rel_type/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1, prop: 'prop1'})-[:TYPE {prop: 'prop3'}]->(:Node {id: 2, prop: 'prop2'}); 2 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_node_2_rel_sizes_not_match/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1, prop: 'prop1'})-[:TYPE {prop: 'prop3'}]->(:Node {id: 2, prop: 'prop2'}); 2 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_rel_2_node/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (n {id: 1})-[r]->(m {id: 2}) 3 | RETURN r.prop AS p1, n.prop as p2; 4 | 5 | output: 6 | - p1: prop3 7 | p2: prop3 8 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_rel_2_node_invalid_node_type/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1, prop: 'prop1'})-[:TYPE {prop: 'prop3'}]->(:Node {id: 2, prop: 'prop2'}); 2 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_rel_2_node_invalid_rel_type/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1, prop: 'prop1'})-[:TYPE {prop: 'prop3'}]->(:Node {id: 2, prop: 'prop2'}); 2 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_rel_2_node_sizes_not_match/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1, prop: 'prop1'})-[:TYPE {prop: 'prop3'}]->(:Node {id: 2, prop: 'prop2'}); 2 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_rel_2_rel/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (a {id: 1})-[r1]->(b {id: 2}) 3 | MATCH (c {id: 3})-[r2]->(d {id: 4}) 4 | RETURN r1.prop AS p1, r2.prop as p2; 5 | 6 | output: 7 | - p1: prop3 8 | p2: prop3 9 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_rel_2_rel_invalid_node_type/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1, prop: 'prop1'})-[:TYPE {prop: 'prop3'}]->(:Node {id: 2, prop: 'prop2'}); 2 | CREATE (:Node {id: 3, prop: 'prop3'})-[:TYPE {prop: 'prop5'}]->(:Node {id: 4, prop: 'prop4'}); 3 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_rel_2_rel_invalid_rel_type_2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1, prop: 'prop1'})-[:TYPE {prop: 'prop3'}]->(:Node {id: 2, prop: 'prop2'}); 2 | CREATE (:Node {id: 3, prop: 'prop3'})-[:TYPE {prop: 'prop5'}]->(:Node {id: 4, prop: 'prop4'}); 3 | -------------------------------------------------------------------------------- /e2e/set_property_test/test_copy_property_rel_2_rel_sizes_not_match/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1, prop: 'prop1'})-[:TYPE {prop: 'prop3'}]->(:Node {id: 2, prop: 'prop2'}); 2 | CREATE (:Node {id: 3, prop: 'prop3'})-[:TYPE {prop: 'prop5'}]->(:Node {id: 4, prop: 'prop4'}); 3 | -------------------------------------------------------------------------------- /e2e/temporal_test/test_date/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/temporal_test/test_date/input.cyp -------------------------------------------------------------------------------- /e2e/temporal_test/test_date/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL temporal.format(date({year: 2018, month: 2, day: 4}), "ISO") YIELD formatted 3 | RETURN formatted 4 | 5 | output: 6 | - formatted: "2018-02-04" 7 | -------------------------------------------------------------------------------- /e2e/temporal_test/test_datetime/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/temporal_test/test_datetime/input.cyp -------------------------------------------------------------------------------- /e2e/temporal_test/test_duration/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/temporal_test/test_duration/input.cyp -------------------------------------------------------------------------------- /e2e/temporal_test/test_duration/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL temporal.format(duration({minute: 127}), "%H:%M:%S") YIELD formatted 3 | RETURN formatted 4 | 5 | output: 6 | - formatted: "02:07:00" 7 | -------------------------------------------------------------------------------- /e2e/temporal_test/test_time/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/temporal_test/test_time/input.cyp -------------------------------------------------------------------------------- /e2e/temporal_test/test_time/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL temporal.format(localTime({hour: 5, second: 32}), "%H:%M:%S.%f") YIELD formatted 3 | RETURN formatted 4 | 5 | output: 6 | - formatted: "05:00:32.000000" 7 | -------------------------------------------------------------------------------- /e2e/text_test/test_format_1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/text_test/test_format_1/input.cyp -------------------------------------------------------------------------------- /e2e/text_test/test_format_1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL text.format("Memgraph is a {}. Is this {} or {}?", ["graph database", true, false]) YIELD result RETURN result; 3 | output: 4 | - result: "Memgraph is a graph database. Is this true or false?" 5 | -------------------------------------------------------------------------------- /e2e/text_test/test_format_2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/text_test/test_format_2/input.cyp -------------------------------------------------------------------------------- /e2e/text_test/test_format_2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL text.format("Memgraph is a number {} {} in the world.", [1, "graph database"]) YIELD result RETURN result; 3 | output: 4 | - result: "Memgraph is a number 1 graph database in the world." 5 | -------------------------------------------------------------------------------- /e2e/text_test/test_join_1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/text_test/test_join_1/input.cyp -------------------------------------------------------------------------------- /e2e/text_test/test_join_1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL text.join(["idora", "ivan", "matija"], ", ") YIELD string RETURN string; 3 | output: 4 | - string: "idora, ivan, matija" 5 | -------------------------------------------------------------------------------- /e2e/text_test/test_join_2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/text_test/test_join_2/input.cyp -------------------------------------------------------------------------------- /e2e/text_test/test_join_2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL text.join(["idora", "ivan", "matija"], "") YIELD string RETURN string; 3 | output: 4 | - string: "idoraivanmatija" 5 | -------------------------------------------------------------------------------- /e2e/text_test/test_join_3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/text_test/test_join_3/input.cyp -------------------------------------------------------------------------------- /e2e/text_test/test_join_3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL text.join(["idora", " ", "ivan", "", "matija"], ",") YIELD string RETURN string; 3 | output: 4 | - string: "idora, ,ivan,,matija" 5 | -------------------------------------------------------------------------------- /e2e/text_test/test_regex_groups_1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/text_test/test_regex_groups_1/input.cyp -------------------------------------------------------------------------------- /e2e/text_test/test_regex_groups_1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL text.regexGroups("", "") YIELD results RETURN results; 3 | output: 4 | - results: [[]] 5 | -------------------------------------------------------------------------------- /e2e/text_test/test_regex_groups_2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/text_test/test_regex_groups_2/input.cyp -------------------------------------------------------------------------------- /e2e/text_test/test_regex_groups_3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/text_test/test_regex_groups_3/input.cyp -------------------------------------------------------------------------------- /e2e/topological_sort_test/test_2_disjoint_nodes/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1}); 2 | CREATE (:B {id:2}); 3 | -------------------------------------------------------------------------------- /e2e/topological_sort_test/test_2_disjoint_nodes/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL graph_util.topological_sort() YIELD sorted_nodes 3 | UNWIND sorted_nodes AS node 4 | RETURN node.id AS id; 5 | 6 | output: 7 | - id: 2 8 | - id: 1 9 | -------------------------------------------------------------------------------- /e2e/topological_sort_test/test_cyclic_graph/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (a:A)-[:CONNECTED_TO]->(b:B)-[:CONNECTED_TO]->(c:C) 2 | MATCH (c:C), (a:A) MERGE (c)-[:CONNECTED_TO]->(a); 3 | -------------------------------------------------------------------------------- /e2e/topological_sort_test/test_cyclic_graph_2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:D)-[:CONNECTED_TO]->(:E)-[:CONNECTED_TO]->(:F); 2 | CREATE (a:A)-[:CONNECTED_TO]->(b:B)-[:CONNECTED_TO]->(c:C); 3 | MATCH (c:C), (a:A) MERGE (c)-[:CONNECTED_TO]->(a); 4 | -------------------------------------------------------------------------------- /e2e/topological_sort_test/test_dependency_nodes/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO]->(:B {id:2})-[:CONNECTED_TO]->(:C {id:3}); 2 | -------------------------------------------------------------------------------- /e2e/topological_sort_test/test_dependency_nodes/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL graph_util.topological_sort() YIELD sorted_nodes 3 | UNWIND sorted_nodes AS node 4 | RETURN node.id AS id; 5 | 6 | output: 7 | - id: 1 8 | - id: 2 9 | - id: 3 10 | -------------------------------------------------------------------------------- /e2e/topological_sort_test/test_dependency_nodes_nested/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1})-[:CONNECTED_TO]->(:B {id:2})-[:CONNECTED_TO]->(:C {id:3}); 2 | MATCH (b:B) MERGE (:D {id:4})-[:CONNECTED_TO]->(b); 3 | -------------------------------------------------------------------------------- /e2e/topological_sort_test/test_no_nodes_empty_sort/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/topological_sort_test/test_no_nodes_empty_sort/input.cyp -------------------------------------------------------------------------------- /e2e/topological_sort_test/test_no_nodes_empty_sort/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL graph_util.topological_sort() YIELD sorted_nodes 3 | RETURN size(sorted_nodes) AS size 4 | 5 | output: 6 | - size: 0 7 | -------------------------------------------------------------------------------- /e2e/topological_sort_test/test_one_node_sort/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:A {id:1}); 2 | -------------------------------------------------------------------------------- /e2e/topological_sort_test/test_one_node_sort/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL graph_util.topological_sort() YIELD sorted_nodes 3 | UNWIND sorted_nodes AS node 4 | RETURN node.id AS id; 5 | 6 | output: 7 | - id: 1 8 | -------------------------------------------------------------------------------- /e2e/union_find_test/test_invalid_mode/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (m {id: 0}), (n {id: 1}) 3 | CALL union_find.connected(m, n, "invalid_mode") YIELD * 4 | RETURN node1, node2, connected; 5 | 6 | exception: > 7 | Invalid mode of operation specified 8 | -------------------------------------------------------------------------------- /e2e/union_find_test/test_invalid_nodes_1st_argument/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (n {id: 1}) 3 | CALL union_find.connected(0, n, "pairwise") YIELD * 4 | RETURN node1, node2, connected; 5 | 6 | exception: > 7 | Invalid type of first argument 8 | -------------------------------------------------------------------------------- /e2e/union_find_test/test_invalid_nodes_2nd_argument/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (m {id: 0}) 3 | CALL union_find.connected(m, 1, "pairwise") YIELD * 4 | RETURN node1, node2, connected; 5 | 6 | exception: > 7 | Invalid type of second argument 8 | -------------------------------------------------------------------------------- /e2e/util_module_online_test/test_online_util1/input.cyp: -------------------------------------------------------------------------------- 1 | queries: 2 | - |- 3 | RETURN NULL; 4 | - |- 5 | RETURN NULL; 6 | -------------------------------------------------------------------------------- /e2e/util_module_test/util_func_test1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/util_module_test/util_func_test1/input.cyp -------------------------------------------------------------------------------- /e2e/util_module_test/util_func_test1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN util_module.md5(["string",[1,2,3]]) AS result; 3 | 4 | output: 5 | - result: 7c45115a3283a86ecc2ad9b1b678cce0 6 | -------------------------------------------------------------------------------- /e2e/util_module_test/util_func_test2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/util_module_test/util_func_test2/input.cyp -------------------------------------------------------------------------------- /e2e/util_module_test/util_func_test2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN util_module.md5([{key: "value"},[1,2,3]]) AS result; 3 | 4 | output: 5 | - result: 102ea56fa922bd2f80c16f5d2c39e7c2 6 | -------------------------------------------------------------------------------- /e2e/util_module_test/util_func_test3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/util_module_test/util_func_test3/input.cyp -------------------------------------------------------------------------------- /e2e/util_module_test/util_func_test3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN util_module.md5([{key: "value"},[1,2,3],"string",2,3,4,5,false]) AS result; 3 | 4 | output: 5 | - result: 95dbb21989dc7a5aee889b709372e177 6 | -------------------------------------------------------------------------------- /e2e/util_module_test/util_func_test_int/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/util_module_test/util_func_test_int/input.cyp -------------------------------------------------------------------------------- /e2e/util_module_test/util_func_test_int/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN util_module.md5(1) AS result; 3 | 4 | output: 5 | - result: c4ca4238a0b923820dcc509a6f75849b 6 | -------------------------------------------------------------------------------- /e2e/util_module_test/util_func_test_string/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/util_module_test/util_func_test_string/input.cyp -------------------------------------------------------------------------------- /e2e/util_module_test/util_func_test_string/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | RETURN util_module.md5("string") AS result; 3 | 4 | output: 5 | - result: b45cffe084dd3d20d928bee85e7b0f21 6 | -------------------------------------------------------------------------------- /e2e/util_module_test/util_test1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/util_module_test/util_test1/input.cyp -------------------------------------------------------------------------------- /e2e/util_module_test/util_test1/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL util_module.md5(["string",[1,2,3]]) YIELD result RETURN result; 3 | 4 | output: 5 | - result: 7c45115a3283a86ecc2ad9b1b678cce0 6 | -------------------------------------------------------------------------------- /e2e/util_module_test/util_test2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/util_module_test/util_test2/input.cyp -------------------------------------------------------------------------------- /e2e/util_module_test/util_test2/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL util_module.md5([{key: "value"},[1,2,3]]) YIELD result RETURN result; 3 | 4 | output: 5 | - result: 102ea56fa922bd2f80c16f5d2c39e7c2 6 | -------------------------------------------------------------------------------- /e2e/util_module_test/util_test3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/util_module_test/util_test3/input.cyp -------------------------------------------------------------------------------- /e2e/util_module_test/util_test3/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL util_module.md5([{key: "value"},[1,2,3],"string",2,3,4,5,false]) YIELD result RETURN result; 3 | 4 | output: 5 | - result: 95dbb21989dc7a5aee889b709372e177 6 | -------------------------------------------------------------------------------- /e2e/util_module_test/util_test_int/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/util_module_test/util_test_int/input.cyp -------------------------------------------------------------------------------- /e2e/util_module_test/util_test_int/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL util_module.md5(1) YIELD result RETURN result; 3 | 4 | output: 5 | - result: c4ca4238a0b923820dcc509a6f75849b -------------------------------------------------------------------------------- /e2e/util_module_test/util_test_string/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/util_module_test/util_test_string/input.cyp -------------------------------------------------------------------------------- /e2e/util_module_test/util_test_string/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL util_module.md5("string") YIELD result RETURN result; 3 | 4 | output: 5 | - result: b45cffe084dd3d20d928bee85e7b0f21 6 | -------------------------------------------------------------------------------- /e2e/uuid_test/test_generation/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (:Node {id: 0, uuid: ""}) 2 | MERGE (:Node {id: 1, uuid: ""}) 3 | MERGE (:Node {id: 2, uuid: ""}) -------------------------------------------------------------------------------- /e2e/uuid_test/test_generation/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (n) 3 | CALL uuid_generator.get() YIELD uuid 4 | SET n.uuid = uuid 5 | WITH n 6 | WHERE n.uuid != "" 7 | RETURN count(n) AS uuid_count; 8 | 9 | output: 10 | - uuid_count: 3 11 | -------------------------------------------------------------------------------- /e2e/vrp_test/test_invalid_coordinate_field/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (:Location {lat:15.977107314009686, lng:'A'}); 2 | MERGE (:Location {lat:45.809786288641924, lng:15.969953021143715}); 3 | MERGE (:Depot {lat:45.7872369074369, lng:15.984469921454693}); -------------------------------------------------------------------------------- /e2e/vrp_test/test_invalid_coordinate_field/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (d:Depot) 3 | CALL vrp.route(d) YIELD from_vertex, to_vertex 4 | RETURN from_vertex, to_vertex 5 | 6 | exception: > 7 | Invalid coordinate field 8 | -------------------------------------------------------------------------------- /e2e/vrp_test/test_invalid_number_of_vehicles/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (:Location {lat:45.809786288641924, lng:15.977107314009686}); 2 | MERGE (:Location {lat:45.809786288641924, lng:15.969953021143715}); 3 | MERGE (:Depot {lat:45.7872369074369, lng:15.984469921454693}); -------------------------------------------------------------------------------- /e2e/vrp_test/test_invalid_number_of_vehicles/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (d:Depot) 3 | CALL vrp.route(d, -1) YIELD from_vertex, to_vertex 4 | RETURN from_vertex, to_vertex 5 | 6 | exception: > 7 | Number of vehicles can not be negative 8 | -------------------------------------------------------------------------------- /e2e/vrp_test/test_no_latitude_specified/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (:Location {lng:15.977107314009686}); 2 | MERGE (:Location {lat:45.809786288641924, lng:15.969953021143715}); 3 | MERGE (:Depot {lat:45.7872369074369, lng:15.984469921454693}); -------------------------------------------------------------------------------- /e2e/vrp_test/test_no_latitude_specified/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (d:Depot) 3 | CALL vrp.route(d) YIELD from_vertex, to_vertex 4 | RETURN from_vertex, to_vertex 5 | 6 | exception: > 7 | No latitude specified 8 | -------------------------------------------------------------------------------- /e2e/vrp_test/test_no_longitude_specified/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (:Location {lat:15.977107314009686}); 2 | MERGE (:Location {lat:45.809786288641924, lng:15.969953021143715}); 3 | MERGE (:Depot {lat:45.7872369074369, lng:15.984469921454693}); -------------------------------------------------------------------------------- /e2e/vrp_test/test_no_longitude_specified/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | MATCH (d:Depot) 3 | CALL vrp.route(d) YIELD from_vertex, to_vertex 4 | RETURN from_vertex, to_vertex 5 | 6 | exception: > 7 | No longitude specified 8 | -------------------------------------------------------------------------------- /e2e/weakly_connected_components_test/test_empty/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/weakly_connected_components_test/test_empty/input.cyp -------------------------------------------------------------------------------- /e2e/weakly_connected_components_test/test_empty/test.yml: -------------------------------------------------------------------------------- 1 | query: > 2 | CALL weakly_connected_components.get() YIELD node, component_id 3 | RETURN node.id AS node_id, component_id 4 | ORDER BY node_id, component_id 5 | 6 | output: [] 7 | -------------------------------------------------------------------------------- /e2e/xml_test/load_test1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/xml_test/load_test1/input.cyp -------------------------------------------------------------------------------- /e2e/xml_test/load_test2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/xml_test/load_test2/input.cyp -------------------------------------------------------------------------------- /e2e/xml_test/load_test3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/xml_test/load_test3/input.cyp -------------------------------------------------------------------------------- /e2e/xml_test/parse_test1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/xml_test/parse_test1/input.cyp -------------------------------------------------------------------------------- /e2e/xml_test/parse_test2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/xml_test/parse_test2/input.cyp -------------------------------------------------------------------------------- /e2e/xml_test/parse_test3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e/xml_test/parse_test3/input.cyp -------------------------------------------------------------------------------- /e2e_correctness/algo_test/test_astar_normal/config.yml: -------------------------------------------------------------------------------- 1 | path_option: > 2 | True 3 | -------------------------------------------------------------------------------- /e2e_correctness/algo_test/test_astar_normal_double/config.yml: -------------------------------------------------------------------------------- 1 | path_option: > 2 | True 3 | -------------------------------------------------------------------------------- /e2e_correctness/algo_test/test_astar_rel_filter/config.yml: -------------------------------------------------------------------------------- 1 | path_option: > 2 | True 3 | -------------------------------------------------------------------------------- /e2e_correctness/conftest.py: -------------------------------------------------------------------------------- 1 | def pytest_addoption(parser): 2 | parser.addoption("--memgraph-port", type=int, action="store") 3 | parser.addoption("--neo4j-port", type=int, action="store") 4 | parser.addoption("--neo4j-container", type=str, action="store") 5 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_node/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e_correctness/create_test/test_node/input.cyp -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_node/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | CALL create.node(["a", "b", "c"], {id: 1, name: "node1"}) YIELD node 3 | RETURN node 4 | 5 | neo4j_query: > 6 | CALL apoc.create.node(["a", "b", "c"], {id: 1, name: "node1"}); 7 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_node_double_label/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e_correctness/create_test/test_node_double_label/input.cyp -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_node_double_label/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | CALL create.node(["label", "label"], {id: 1, name: "node1"}) YIELD node 3 | RETURN node 4 | 5 | neo4j_query: > 6 | CALL apoc.create.node(["label", "label"], {id: 1, name: "node1"}); 7 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_node_null_prop/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e_correctness/create_test/test_node_null_prop/input.cyp -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_nodes1/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e_correctness/create_test/test_nodes1/input.cyp -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_nodes2/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e_correctness/create_test/test_nodes2/input.cyp -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_nodes3/input.cyp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/e2e_correctness/create_test/test_nodes3/input.cyp -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_relationship_1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (p:Person {id: 1, name: "Cillian Murphy"}) 2 | CREATE (m:Movie {id: 2, title:"Oppenheimer"}); 3 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_relationship_2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (p:Person {id: 1, name: "Cillian Murphy"}) 2 | CREATE (m:Movie {id: 2, title:"Oppenheimer"}); 3 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_relationship_3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (p:Person {id: 1, name: "Cillian Murphy"}) 2 | CREATE (m:Movie {id: 2, title:"Oppenheimer"}); 3 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_removeLabel_empty/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (jennifer:Person:US:Programmer {id: 1, name: "Jennifer"}) 2 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_removeLabel_exists/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (jennifer:Person:US:Programmer {id: 1, name: "Jennifer"}) 2 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_removeLabel_not_exists/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (jennifer:Person:US:Programmer {id: 1, name: "Jennifer"}) 2 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_removeProperty1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE(d: Dog {id:1, key: 2}); 2 | CREATE(d: Dog {id:2, key: 2}); 3 | CREATE(d: Dog {id:3, key: 2}); 4 | CREATE(d: Dog {id:4, key: 2}); 5 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_removeProperty1/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | MATCH (d:Dog) 3 | CALL create.remove_properties(d,["key"]) YIELD node RETURN node; 4 | 5 | neo4j_query: MATCH (n:Dog) CALL apoc.create.removeProperties(n,["key"]) YIELD node RETURN node; 6 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_removeProperty2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE(d: Dog {id:1, key: 2}); 2 | CREATE(d: Dog {id:2, key: 2}); 3 | CREATE(d: Dog {id:3, key: 2}); 4 | CREATE(d: Dog {id:4, key: 2}); 5 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_removeProperty3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE(d: Dog {id:1, key: 2, key2: 3}); 2 | CREATE(d: Dog {id:2, key: 2, key2: 3}); 3 | CREATE(d: Dog {id:3, key: 2, key2: 3}); 4 | CREATE(d: Dog {id:4, key: 2, key2: 3}); 5 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_removeProperty4/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE(d: Dog {id:1, key: 2, key2: 3}); 2 | CREATE(d: Dog {id:2, key: 2, key2: 3}); 3 | CREATE(d: Dog {id:3, key: 2, key2: 3}); 4 | CREATE(d: Dog {id:4, key: 2, key2: 3}); 5 | CREATE(h: Human {id:5, key: 8}); 6 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_setProperties/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (brad:Person {id: 1, name: "Brad", surname: "Pitt"}); 2 | CREATE (jennifer:Person {id: 2, name: "Jennifer", surname: "Aniston"}); 3 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_setProperties_empty/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (brad:Person {id: 0, name: "Brad", surname: "Pitt"}); 2 | CREATE (jennifer:Person {id: 1, name: "Jennifer", surname: "Aniston"}); 3 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_setProperties_list/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Person:Brad {id: 1, name: "Brad", surname: "Pitt"}); 2 | CREATE (:Person:Jen {id: 2, name: "Jennifer", surname: "Aniston"}); 3 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_setProperty1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE(d: Dog {id:2}); 2 | CREATE(h: Human {id:3}); 3 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_setProperty1/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | MATCH (d:Dog) 3 | CALL create.set_property(d,"key",8) YIELD node RETURN node; 4 | 5 | neo4j_query: MATCH (n:Dog) CALL apoc.create.setProperty(n, "key", 8) YIELD node RETURN node; 6 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_setProperty2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE(d: Dog {id:1}); 2 | CREATE(d: Dog {id:2}); 3 | CREATE(d: Dog {id:3}); 4 | CREATE(d: Dog {id:4}); 5 | CREATE(d: Dog {id:5, key :"osam"}); 6 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_setProperty2/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | MATCH (d:Dog) 3 | CALL create.set_property(d,"key",8) YIELD node RETURN node; 4 | 5 | neo4j_query: MATCH (n:Dog) CALL apoc.create.setProperty(n, "key", 8) YIELD node RETURN node; 6 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_setProperty3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE(d: Dog {id:1, key: 2}); 2 | CREATE(d: Dog {id:2, key: 2}); 3 | CREATE(d: Dog {id:3, key: 2}); 4 | CREATE(d: Dog {id:4, key: 2}); 5 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_setProperty3/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | MATCH (d:Dog) 3 | CALL create.set_property(d,"key",[1,2,3]) YIELD node RETURN node; 4 | 5 | neo4j_query: MATCH (n:Dog) CALL apoc.create.setProperty(n, "key", [1,2,3]) YIELD node RETURN node; 6 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_setProperty4/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE(d: Dog {id:1, key: 2, key2: 3}); 2 | CREATE(d: Dog {id:2, key: 2, key2: 3}); 3 | CREATE(d: Dog {id:3, key: 2, key2: 3}); 4 | CREATE(d: Dog {id:4, key: 2, key2: 3}); 5 | CREATE(h: Human {id:5}); 6 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_setRelProperty_change/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (station1:Station {id: 1, name: "Station 1"}) MERGE (station2:Station {id: 2, name: "Station 3"}) CREATE (station1)-[j:JOURNEY {id: 1, arrival: "0802", departure: "0803"}]->(station2) 2 | -------------------------------------------------------------------------------- /e2e_correctness/create_test/test_setRelProperty_new/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (station1:Station {id: 1, name: "Station 1"}) MERGE (station2:Station {id: 2, name: "Station 3"}) CREATE (station1)-[j:JOURNEY {id: 1, arrival: "0802", departure: "0803"}]->(station2) 2 | -------------------------------------------------------------------------------- /e2e_correctness/merge_test/test_node1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Dog:Dog {name: "Rex", id:0}), (:Human:Employee {name: "Junior", id:1}),(:Human:Boss {name: "Senior", id:2}) 2 | -------------------------------------------------------------------------------- /e2e_correctness/merge_test/test_node1/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | CALL merge.node(["Human"],{name: "Senior"},{},{name:"Boss"}) YIELD node RETURN node; 3 | 4 | neo4j_query: > 5 | CALL apoc.merge.node(["Human"],{name: "Senior"},{},{name: "Boss"}) YIELD node; 6 | -------------------------------------------------------------------------------- /e2e_correctness/merge_test/test_node2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Dog:Dog {name: "Rex", id:0}), (:Human:Employee {name: "Rex", id:1}),(:Human:Boss {name: "Senior", id:2}) 2 | -------------------------------------------------------------------------------- /e2e_correctness/merge_test/test_node2/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | CALL merge.node([],{name: "Rex"},{},{name:"Carlito"}) YIELD node RETURN node; 3 | 4 | neo4j_query: > 5 | MERGE (n {name: "Rex" }) ON CREATE SET n += {} ON MATCH SET n += {name: "Carlito"} RETURN n; 6 | -------------------------------------------------------------------------------- /e2e_correctness/merge_test/test_node3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Dog:Dog {name: "Rex", id:0}), (:Human:Employee {name: "Junior", id:1}),(:Human:Boss {name: "Senior", id:2}) 2 | -------------------------------------------------------------------------------- /e2e_correctness/merge_test/test_node3/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | CALL merge.node([],{},{},{graph:"this_one"}) YIELD node RETURN node; 3 | 4 | neo4j_query: > 5 | MERGE (n) ON CREATE SET n += {} ON MATCH SET n += {graph:"this_one"} RETURN n; 6 | -------------------------------------------------------------------------------- /e2e_correctness/merge_test/test_node4/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Dog:Dog {name: "Rex", id:0}), (:Human:Employee {name: "Junior", id:1}),(:Human:Boss {name: "Senior", id:2}) 2 | -------------------------------------------------------------------------------- /e2e_correctness/merge_test/test_node4/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | CALL merge.node(["Dog"],{name: "Rico"},{height:199, id:9},{}) YIELD node RETURN node; 3 | 4 | neo4j_query: > 5 | CALL apoc.merge.node(["Dog"],{name: "Rico"},{height:199, id:9},{}) YIELD node; 6 | -------------------------------------------------------------------------------- /e2e_correctness/merge_test/test_node5/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Dog:Dog {name: "Rex", id:0}), (:Human:Employee {name: "Junior", id:1}),(:Human:Boss {name: "Senior", id:2}) 2 | -------------------------------------------------------------------------------- /e2e_correctness/merge_test/test_node6/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Dog:Dog {name: "Rex", id:0}), (:Human:Boss {name: "", id:1}),(:Human:Boss {name: "", id:2}) 2 | -------------------------------------------------------------------------------- /e2e_correctness/merge_test/test_relationship_1/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (d:Dog {id:0})-[l:Loves {property: true}]->(h:Human {id:1}) MERGE (c:Cat {id:2})-[:Loves {property: true}]->(h); 2 | -------------------------------------------------------------------------------- /e2e_correctness/merge_test/test_relationship_2/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (d:Dog {id:0})-[l:Loves {property: true}]->(h:Human {id:1}) MERGE (c:Cat {id:2})-[:Loves {property: false}]->(h); 2 | -------------------------------------------------------------------------------- /e2e_correctness/merge_test/test_relationship_3/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (d:Animal {id:0}) MERGE (h:Human {id:1}) MERGE (c:Animal {id:2})-[:Loves {created: false, property: false}]->(h) MERGE (g:Animal {id:3})-[:Loves {created: True}]->(h) MERGE (g)-[:Loves {forever: true}]->(h); 2 | -------------------------------------------------------------------------------- /e2e_correctness/nodes_test/test_delete_id/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (barbie: Movie{title:"Barbie"}) CREATE (oppenheimer: Movie{title:"Oppenheimer"}); 2 | -------------------------------------------------------------------------------- /e2e_correctness/nodes_test/test_delete_id/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | MATCH (movie:Movie) CALL nodes.delete(id(movie)); 3 | 4 | neo4j_query: > 5 | MATCH (movie:Movie) CALL apoc.nodes.delete(id(movie), 2) YIELD value RETURN value; 6 | -------------------------------------------------------------------------------- /e2e_correctness/nodes_test/test_delete_ids/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (barbie: Movie{title:"Barbie"}) CREATE (oppenheimer: Movie{title:"Oppenheimer"}); 2 | -------------------------------------------------------------------------------- /e2e_correctness/nodes_test/test_delete_node/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (barbie: Movie{title:"Barbie"}) CREATE (oppenheimer: Movie{title:"Oppenheimer"}); 2 | -------------------------------------------------------------------------------- /e2e_correctness/nodes_test/test_delete_node/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | MATCH (movie:Movie) CALL nodes.delete(movie); 3 | 4 | neo4j_query: > 5 | MATCH (movie:Movie) CALL apoc.nodes.delete(movie, 2) YIELD value RETURN value; 6 | -------------------------------------------------------------------------------- /e2e_correctness/nodes_test/test_delete_nodes/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (barbie: Movie{title:"Barbie"}) CREATE (oppenheimer: Movie{title:"Oppenheimer"}); 2 | -------------------------------------------------------------------------------- /e2e_correctness/nodes_test/test_link1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE(d: Dog {id:1}); 2 | CREATE(h: Human {id:2}); 3 | CREATE(c: Cat {id:3}); 4 | CREATE(m: Mouse {id:4}); 5 | -------------------------------------------------------------------------------- /e2e_correctness/nodes_test/test_link2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE(d: Dog {id:1}); 2 | CREATE(h: Human {id:2}); 3 | CREATE(c: Cat {id:3}); 4 | CREATE(m: Mouse {id:4}); 5 | -------------------------------------------------------------------------------- /e2e_correctness/nodes_test/test_link3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE(d: Dog {id:1}); 2 | CREATE(h: Human {id:2}); 3 | CREATE(c: Cat {id:3}); 4 | CREATE(m: Mouse {id:4}); 5 | -------------------------------------------------------------------------------- /e2e_correctness/path_test/test_combine_1/config.yml: -------------------------------------------------------------------------------- 1 | path_option: > 2 | True 3 | -------------------------------------------------------------------------------- /e2e_correctness/path_test/test_combine_2/config.yml: -------------------------------------------------------------------------------- 1 | path_option: > 2 | True 3 | -------------------------------------------------------------------------------- /e2e_correctness/path_test/test_path_expand1/config.yml: -------------------------------------------------------------------------------- 1 | path_option: > 2 | True 3 | -------------------------------------------------------------------------------- /e2e_correctness/path_test/test_slice_1/config.yml: -------------------------------------------------------------------------------- 1 | path_option: > 2 | True 3 | -------------------------------------------------------------------------------- /e2e_correctness/path_test/test_slice_1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1})-[:CONNECTED {id: 1}]->(:Node {id: 2})-[:CONNECTED {id: 2}]->(:Node {id: 3})-[:CONNECTED {id: 3}]->(:Node {id: 4})-[:CONNECTED {id: 4}]->(:Node {id: 5}); 2 | -------------------------------------------------------------------------------- /e2e_correctness/path_test/test_slice_2/config.yml: -------------------------------------------------------------------------------- 1 | path_option: > 2 | True 3 | -------------------------------------------------------------------------------- /e2e_correctness/path_test/test_slice_2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1})-[:CONNECTED {id: 1}]->(:Node {id: 2})-[:CONNECTED {id: 2}]->(:Node {id: 3})-[:CONNECTED {id: 3}]->(:Node {id: 4})-[:CONNECTED {id: 4}]->(:Node {id: 5}); 2 | -------------------------------------------------------------------------------- /e2e_correctness/path_test/test_slice_3/config.yml: -------------------------------------------------------------------------------- 1 | path_option: > 2 | True 3 | -------------------------------------------------------------------------------- /e2e_correctness/path_test/test_slice_3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node {id: 1})-[:CONNECTED {id: 1}]->(:Node {id: 2})-[:CONNECTED {id: 2}]->(:Node {id: 3})-[:CONNECTED {id: 3}]->(:Node {id: 4})-[:CONNECTED {id: 4}]->(:Node {id: 5}); 2 | -------------------------------------------------------------------------------- /e2e_correctness/pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | addopts = 3 | -vv --quiet --maxfail=10 4 | python_files = test_modules.py 5 | testpaths = . 6 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_clone_nodes1/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Ana {name: "Ana", age: 22, id:0}) MERGE (b:Marija {name: "Marija", age: 20, id:1}) CREATE (a)-[r:KNOWS]->(b); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_clone_nodes2/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Ana {name: "Ana", age: 22, id:0}) MERGE (b:Marija {name: "Marija", age: 20, id:1}) CREATE (a)-[r:KNOWS]->(b); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_clone_nodes3/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Person {name: "Ana", age: 22, id: 0}) MERGE (b:Person {name: "Marija", age: 20, id: 1}) MERGE (c:Person {name: "Iva", age: 21, id: 2}) CREATE (a)-[r1:KNOWS]->(b) CREATE (c)-[r2:KNOWS]->(a); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_clone_nodes4/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Ana {name: "Ana", age: 22, id:0}) MERGE (b:Marija {name: "Marija", age: 20, id:1}) MERGE(c:Ivan {occupation: "Pianist", id:2}) CREATE (a)-[:KNOWS]->(b) CREATE (a)-[:KNOWS]->(c); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_from_different/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Person {name: "Ivan", id:0}) MERGE (b:Person {name: "Matija", id:1}) MERGE (c:Person {name:"Idora", human:true, id:2}) CREATE (a)-[f:Friends]->(b); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_from_same/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Person {name: "Ivan", id:0}) MERGE (b:Person {name: "Matija", id:1}) MERGE (c:Person {name:"Idora", human:true, id:2}) CREATE (a)-[f:Friends]->(b); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_from_same_endpoints/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Person {name: "Ivan", id:0}) MERGE (b:Person {name: "Matija", id:1}) MERGE (c:Person {name:"Idora", human:true, id:2}) CREATE (a)-[f:Friends]->(b); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_from_to_endpoints/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Person {name: "Ivan", id:0}) MERGE (b:Person {name: "Matija", id:1}) MERGE (c:Person {name:"Idora", human:true, id:2}) CREATE (a)-[f:Friends]->(b); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_invert1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog {id: 0})-[l:LOVES]->(h:Human {id: 1}); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_invert2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog {id: 0})-[l:LOVES {property: 90, property2: 80}]->(h:Human {id: 1}); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_invert3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog {id:0})-[l:LOVES {property: 100}]->(h:Human {id:1}); 2 | MATCH (d:Dog),(h:Human) CREATE (d)-[i:IS_OWNED_BY {property2: 700}]->(h); 3 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_normalize_as_boolean_1/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | MATCH (n) CALL refactor.normalize_as_boolean(n, 'property', ['YES'], ['NO']); 3 | neo4j_query: > 4 | MATCH (n) CALL apoc.refactor.normalizeAsBoolean(n, 'property', ['YES'], ['NO']); 5 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_normalize_as_boolean_2/test.yml: -------------------------------------------------------------------------------- 1 | memgraph_query: > 2 | MATCH (n) CALL refactor.normalize_as_boolean(n, 'property', [], []); 3 | neo4j_query: > 4 | MATCH (n) CALL apoc.refactor.normalizeAsBoolean(n, 'property', [], []); 5 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_rename_label/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (:Node1 {title:"Name", id:0}) CREATE (:Node2 {title:"Name", id:1}) CREATE (:Node1 {id:2}); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_rename_type_1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog {id:0}),(h:Human {id:1}), (c:Car {id:2}),(d)-[r:Drives {speed: 100, id:0}]->(h),(h)-[dr:Runs {speed: 150, id: 1}]->(c); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_rename_type_2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog {id:0}),(h:Human {id:1}), (c:Car {id:2}),(d)-[r:Drives {speed: 100, id:0}]->(h),(h)-[dr:Drives {speed: 150, id: 1}]->(c); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_rename_type_3/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog {id:0}),(h:Human {id:1}), (c:Car {id:2}),(d)-[r:Drives {speed: 100, id:0}]->(h),(h)-[dr:Runs {speed: 150, id: 1}]->(c); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_rename_type_prop1/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog {id:0}),(h:Human {id:1}), (c:Car {id:2}),(d)-[r:RUNS {speed: 100, id:0}]->(h),(h)-[dr:DRIVES {speed: 150, id: 1}]->(c); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_rename_type_prop2/input.cyp: -------------------------------------------------------------------------------- 1 | CREATE (d:Dog {id:0}),(h:Human {id:1}), (c:Car {id:2}),(d)-[r:RUNS {speed: 100, id:0}]->(h),(h)-[dr:DRIVES {speed: 150, id: 1}]->(c); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_rename_type_prop3/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (d:Dog {name: "Rex" ,id:0}) WITH d UNWIND range(0, 1000) AS id MERGE (h:Human {name: "Humie" + id, id:id}) MERGE (d)-[l:LOVES {id:id, how:"very"}]->(h); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_to_different/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Person {name: "Ivan", id:0}) MERGE (b:Person {name: "Matija", id:1}) MERGE (c:Person {name:"Idora", human:true, id:2}) CREATE (a)-[f:Friends]->(b); 2 | -------------------------------------------------------------------------------- /e2e_correctness/refactor_test/test_to_same/input.cyp: -------------------------------------------------------------------------------- 1 | MERGE (a:Person {name: "Ivan", id:0}) MERGE (b:Person {name: "Matija", id:1}) MERGE (c:Person {name:"Idora", human:true, id:2}) CREATE (a)-[f:Friends]->(b); 2 | -------------------------------------------------------------------------------- /get_memgraph_tag.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | latest=$(curl -s https://api.github.com/repos/memgraph/memgraph/tags | python3 -c " 3 | import sys, json 4 | tags = json.load(sys.stdin) 5 | print(next(tag['name'][1:] for tag in tags if 'rc' not in tag['name'])) 6 | ") 7 | echo "$latest" 8 | -------------------------------------------------------------------------------- /get_tag.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get the tag that points at HEAD 4 | tag=$(git tag --points-at HEAD) 5 | 6 | # If no tag is found, fall back to the current commit hash 7 | if [ -z "$tag" ]; then 8 | tag="" 9 | fi 10 | 11 | echo "$tag" 12 | -------------------------------------------------------------------------------- /img/graph_input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/img/graph_input.png -------------------------------------------------------------------------------- /img/graph_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/img/graph_output.png -------------------------------------------------------------------------------- /img/wizard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/img/wizard.png -------------------------------------------------------------------------------- /python/.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | branch = True 3 | omit = */__init__.py 4 | 5 | [report] 6 | exclude_lines = 7 | pragma: no cover 8 | def __str__ 9 | def __repr__ 10 | if __name__ == .__main__.: 11 | -------------------------------------------------------------------------------- /python/.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | ignore = E203, E266, E501, W503, F541 3 | max-line-length = 120 4 | max-complexity = 18 5 | -------------------------------------------------------------------------------- /python/mage/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/python/mage/__init__.py -------------------------------------------------------------------------------- /python/mage/export_import_util/__init__.py: -------------------------------------------------------------------------------- 1 | from mage.export_import_util.parameters import Parameter # noqa: F401, F402, F403 2 | -------------------------------------------------------------------------------- /python/mage/link_prediction/models/__init__.py: -------------------------------------------------------------------------------- 1 | from mage.link_prediction.models.graph_sage import GraphSAGE # noqa: F401, F402, F403 2 | from mage.link_prediction.models.gat import GAT # noqa: F401, F402, F403 3 | -------------------------------------------------------------------------------- /python/mage/link_prediction/predictors/__init__.py: -------------------------------------------------------------------------------- 1 | from mage.link_prediction.predictors.DotPredictor import DotPredictor # noqa: F401 2 | from mage.link_prediction.predictors.MLPPredictor import MLPPredictor # noqa: F401 3 | -------------------------------------------------------------------------------- /python/mage/llm_util/__init__.py: -------------------------------------------------------------------------------- 1 | from mage.llm_util.parameters import Parameter, OutputType # noqa: F401, F402, F403 2 | -------------------------------------------------------------------------------- /python/mage/max_flow/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/python/mage/max_flow/__init__.py -------------------------------------------------------------------------------- /python/mage/meta_util/__init__.py: -------------------------------------------------------------------------------- 1 | from mage.meta_util.parameters import Parameter # noqa: F401, F402, F403 2 | -------------------------------------------------------------------------------- /python/mage/node2vec/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/python/mage/node2vec/__init__.py -------------------------------------------------------------------------------- /python/mage/node_classification/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/python/mage/node_classification/__init__.py -------------------------------------------------------------------------------- /python/mage/node_classification/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/python/mage/node_classification/models/__init__.py -------------------------------------------------------------------------------- /python/mage/node_classification/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/python/mage/node_classification/utils/__init__.py -------------------------------------------------------------------------------- /python/mage/union_find/__init__.py: -------------------------------------------------------------------------------- 1 | from mage.union_find.disjoint_set import ( # noqa: F401, F402, F403 2 | DisjointSet, 3 | Node, 4 | ) 5 | -------------------------------------------------------------------------------- /python/pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | addopts = 3 | -vv --quiet --maxfail=10 4 | --flake8 5 | --cov-report html --cov-report term --cov=. 6 | python_files = test_*.py 7 | testpaths = . 8 | -------------------------------------------------------------------------------- /python/tests/date/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/python/tests/date/__init__.py -------------------------------------------------------------------------------- /python/tests/distance_calculator/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/python/tests/distance_calculator/__init__.py -------------------------------------------------------------------------------- /python/tests/elastic_search/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/python/tests/elastic_search/__init__.py -------------------------------------------------------------------------------- /python/tests/graph_coloring/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/python/tests/graph_coloring/__init__.py -------------------------------------------------------------------------------- /python/tests/node2vec/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/python/tests/node2vec/__init__.py -------------------------------------------------------------------------------- /python/tests/union_find/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/python/tests/union_find/__init__.py -------------------------------------------------------------------------------- /python/tests/union_find/constants.py: -------------------------------------------------------------------------------- 1 | class Constants: 2 | """ 3 | Constants used in unit testing 4 | """ 5 | 6 | IDs = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 7 | -------------------------------------------------------------------------------- /python/tests/vrp/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/memgraph/mage/aeab38a76ac18206f3f92e4a1f2fae363cb7a786/python/tests/vrp/__init__.py -------------------------------------------------------------------------------- /python/utils/math_functions.py: -------------------------------------------------------------------------------- 1 | from typing import List 2 | 3 | import numpy as np 4 | 5 | 6 | def normalize(an_array: List[float]) -> List[float]: 7 | return np.array(an_array) / sum(an_array) 8 | -------------------------------------------------------------------------------- /rust/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | tarpaulin-report.html 3 | -------------------------------------------------------------------------------- /rust/rsmgp-example/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | tarpaulin-report.html 3 | -------------------------------------------------------------------------------- /rust/rsmgp-sys/.gitignore: -------------------------------------------------------------------------------- 1 | # Cargo.lock has to be ignored in the libraries 2 | # https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html 3 | Cargo.lock 4 | target/ 5 | tarpaulin-report.html 6 | -------------------------------------------------------------------------------- /rust/rsmgp-sys/mgp/mg_procedure.syms: -------------------------------------------------------------------------------- 1 | { 2 | mgp_*; 3 | }; 4 | -------------------------------------------------------------------------------- /smoke-release-testing/.gitignore: -------------------------------------------------------------------------------- 1 | *.build 2 | *.tar.gz* 3 | get_helm.sh 4 | kubectl 5 | kubectl.sha256 6 | dist/ 7 | -------------------------------------------------------------------------------- /smoke-release-testing/mgconsole/README.md: -------------------------------------------------------------------------------- 1 | # Memgraph features tested by mgconsole 2 | 3 | NOTE: Each `.bash` file under this directory should be runnable in isolation. 4 | -------------------------------------------------------------------------------- /smoke-release-testing/requirements.txt: -------------------------------------------------------------------------------- 1 | GQLAlchemy 2 | neo4j==5.23 3 | semver==3.0.2 4 | --------------------------------------------------------------------------------