Class BIFParser

java.lang.Object
weka.gui.graphvisualizer.BIFParser
All Implemented Interfaces:
GraphConstants

public class BIFParser extends Object implements GraphConstants
This class parses an inputstream or a string in XMLBIF ver. 0.3 format, and builds the datastructures that are passed to it through the constructor.
Version:
$Revision: 10153 $ - 24 Apr 2003 - Initial version (Ashraf M. Kibriya)
Author:
Ashraf M. Kibriya (amk14@cs.waikato.ac.nz)
  • Constructor Details

    • BIFParser

      public BIFParser(String input, ArrayList<GraphNode> nodes, ArrayList<GraphEdge> edges)
      Constructor (if our input is a String)
      Parameters:
      input - the string to be parsed (should not be null)
      nodes - vector containing GraphNode objects (should be empty)
      edges - vector containing GraphEdge objects (should be empty)
    • BIFParser

      public BIFParser(InputStream instream, ArrayList<GraphNode> nodes, ArrayList<GraphEdge> edges)
      Constructor (if our input is an InputStream)
      Parameters:
      instream - the InputStream to be parsed (should not be null)
      nodes - vector containing GraphNode objects (should be empty)
      edges - vector containing GraphEdge objects (should be empty)
  • Method Details

    • parse

      public String parse() throws Exception
      This method parses the string or the InputStream that we passed in through the constructor and builds up the m_nodes and m_edges vectors
      Returns:
      returns the name of the graph
      Throws:
      Exception - if both the inString and inStream are null, i.e. no input has been provided
      BIFFormatException - if there is format of the input is not correct. The format should conform to XMLBIF version 0.3
      NumberFormatException - if there is an invalid char in the probability table of a node.
    • writeXMLBIF03

      public static void writeXMLBIF03(String filename, String graphName, ArrayList<GraphNode> nodes, ArrayList<GraphEdge> edges)
      This method writes a graph in XMLBIF ver. 0.3 format to a file. However, if is reloaded in GraphVisualizer we would need to layout the graph again to display it correctly.
      Parameters:
      filename - The name of the file to write in. (will overwrite)
      graphName - The name of the graph. (will be the name of network tag in XMLBIF)
      nodes - Vector containing all the nodes
      edges - Vector containing all the edges