Reporting provenance using Graphviz - ashish-gehani/SPADE GitHub Wiki
The Graphviz project at AT&T Research created the DOT language for graph visualization. SPADE's Graphviz reporter ingests provenance that is emitted by SPADE's Graphviz storage, and is described by the fragment of DOT below.
Supported fragment of DOT
graph | digraph [ ID ] '{' statement_list '}' |
statement_list | [ statement [ ';' ] [ statement_list ] ] |
statement | node_statement | edge_statement | attribute_statement |
attribute_statement | ( graph | node | edge ) attribute_list |
attribute_list | '[' [ a_list ] ']' [ attribute_list ] |
a_list | ID '=' ID [ ( ';' | ',' ) ] [ a_list ] |
edge_statement | node_id '->' node_id [ attribute_list ] |
node_statement | node_id [ attribute_list ] |
node_id | ID |
"Terminals are shown in bold font and nonterminals in italics. Literal characters are given in single quotes. Parentheses ( and ) indicate grouping. Square brackets [ and ] enclose optional items. Vertical bars separate alternatives." An ID can be an alphanumeric string or a numeral.
Configuring Graphviz reporting
The Graphviz reporter takes a single argument, which is the location in the filesystem where the Graphviz file is located. Note that this must be done in the SPADE controller (after the SPADE server has been started):
-> add reporter Graphviz input=/tmp/provenance.dot
Adding reporter Graphviz... done
The reporter can be deactivated using the following command in the SPADE controller:
-> remove reporter Graphviz
Shutting down reporter Graphviz... done