Running Custom Graph Algorithms

This section explains the API’s ability to compile and run custom algorithms. The APIs for built-in algorithms can be found in our Analyst API section.

Compiling Custom Algorithms

PGX allows users to implement custom graph algorithms with the Green-Marl DSL. PGX then compiles the given graph algorithm, so that it may be executed. The following are the PgxSession methods used to compile custom algorithms:

1session.compile_program(path, overwrite=False)
2session.compile_program_code(code, overwrite=False)

The Green-Marl code to compile can either be assigned directly (code) or via a file path. This method returns a CompiledProgram instance that contains a method to run the compiled algorithm as well as signature information.

Running Algorithms

The following generic method in CompiledProgram is used to run compiled algorithms:

1program.run(*argv)

Fundamentally, the method invokes the compiled algorithm with the given arguments (args).

Note

The given args must match the signature of the graph algorithm. Otherwise, PGX throws a type mismatch exception to the client.

The above method returns a Dict object, which contains not only the return value of the algorithm, but also other information such as exception status and execution time.