#include #include "algorithm/node.hpp" extern "C" int mgp_init_module(struct mgp_module *module, struct mgp_memory *memory) { try { mgp::MemoryDispatcherGuard guard{memory}; AddProcedure(Node::RelationshipsExist, std::string(Node::kProcedureRelationshipsExist).c_str(), mgp::ProcedureType::Read, {mgp::Parameter(std::string(Node::kArgumentNodesRelationshipsExist).c_str(), mgp::Type::Node), mgp::Parameter(std::string(Node::kArgumentRelationshipsRelationshipsExist).c_str(), {mgp::Type::List, mgp::Type::String})}, {mgp::Return(std::string(Node::kReturnRelationshipsExist).c_str(), {mgp::Type::Map, mgp::Type::Any})}, module, memory); AddProcedure( Node::RelationshipExists, Node::kProcedureRelationshipExists, mgp::ProcedureType::Read, {mgp::Parameter(Node::kArgumentsNode, mgp::Type::Node), mgp::Parameter(Node::kArgumentsPattern, {mgp::Type::List, mgp::Type::String}, mgp::Value(mgp::List{}))}, {mgp::Return(Node::kReturnRelationshipExists, mgp::Type::Bool)}, module, memory); AddProcedure( Node::RelationshipTypes, Node::kProcedureRelationshipTypes, mgp::ProcedureType::Read, {mgp::Parameter(Node::kRelationshipTypesArg1, mgp::Type::Node), mgp::Parameter(Node::kRelationshipTypesArg2, {mgp::Type::List, mgp::Type::String}, mgp::Value(mgp::List{}))}, {mgp::Return(Node::kResultRelationshipTypes, {mgp::Type::List, mgp::Type::String})}, module, memory); mgp::AddFunction(Node::DegreeIn, Node::kFunctionDegreeIn, {mgp::Parameter(Node::kDegreeInArg1, mgp::Type::Node), mgp::Parameter(Node::kDegreeInArg2, mgp::Type::String, "")}, module, memory); mgp::AddFunction(Node::DegreeOut, Node::kFunctionDegreeOut, {mgp::Parameter(Node::kDegreeOutArg1, mgp::Type::Node), mgp::Parameter(Node::kDegreeOutArg2, mgp::Type::String, "")}, module, memory); } catch (const std::exception &e) { return 1; } return 0; } extern "C" int mgp_shutdown_module() { return 0; }