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.