org.matalon.pagerankhits.dataStructures
Interface Graph

All Known Implementing Classes:
WebGraph

public interface Graph

This interface includes the basic graph functionality.

Author:
Yonatan Matalon

Field Summary
static long PAGERANK_ALPHA_FACTOR_DENOMINATOR
           
static long PAGERANK_ALPHA_FACTOR_NUMERATOR
           
 
Method Summary
 boolean addEdge(Vertex v1, Vertex v2)
          Adds an edge between the 2 given vertices to the graph.
 boolean addVertex(Vertex v)
          Adds the given vertex to the graph.
 java.lang.String[][] getAdjacencyMatrix()
           
 java.lang.String[][] getAdjacencyMatrix(int rowStart, int rowEnd, int colStart, int colEnd)
           
 java.lang.String[][] getInnerLinkRankMatrix()
           
 java.lang.String[][] getInnerLinkRankMatrix(int rowStart, int rowEnd, int colStart, int colEnd)
           
 java.lang.String[][] getPageRankMatrix()
           
 java.lang.String[][] getPageRankMatrix(int rowStart, int rowEnd, int colStart, int colEnd)
           
 java.lang.String[][] getPageRankMatrixCorrected()
           
 java.lang.String[][] getPageRankMatrixCorrected(int rowStart, int rowEnd, int colStart, int colEnd)
           
 java.util.Map getVertexId2NameMap()
           
 java.util.Map getVertexName2IdMap()
           
 java.lang.String getVertexNameById(int vertexId)
           
 

Field Detail

PAGERANK_ALPHA_FACTOR_NUMERATOR

public static final long PAGERANK_ALPHA_FACTOR_NUMERATOR
See Also:
Constant Field Values

PAGERANK_ALPHA_FACTOR_DENOMINATOR

public static final long PAGERANK_ALPHA_FACTOR_DENOMINATOR
See Also:
Constant Field Values
Method Detail

addVertex

public boolean addVertex(Vertex v)
Adds the given vertex to the graph.

Parameters:
v -
Returns:
Returns true, if the vertex was added to the graph, false otherwise.

addEdge

public boolean addEdge(Vertex v1,
                       Vertex v2)
Adds an edge between the 2 given vertices to the graph.

Parameters:
v1 -
v2 -
Returns:
Returns true, if the edge was added to the graph, false otherwise.

getAdjacencyMatrix

public java.lang.String[][] getAdjacencyMatrix()
Returns:
Returns the whole graph as an adjacency matrix.

getAdjacencyMatrix

public java.lang.String[][] getAdjacencyMatrix(int rowStart,
                                               int rowEnd,
                                               int colStart,
                                               int colEnd)
                                        throws InvalidParameterException
Parameters:
rowStart -
rowEnd -
colStart -
colEnd -
Returns:
Returns a partial graph adjacency matrix, restricted by the given row and column indexes.
Throws:
InvalidParameterException

getPageRankMatrix

public java.lang.String[][] getPageRankMatrix()
Returns:
Returns the whole graph as a matrix built by Google's PageRank algorithm.

getPageRankMatrix

public java.lang.String[][] getPageRankMatrix(int rowStart,
                                              int rowEnd,
                                              int colStart,
                                              int colEnd)
                                       throws InvalidParameterException
Parameters:
rowStart -
rowEnd -
colStart -
colEnd -
Returns:
Returns a partial PageRank matrix, restricted by the given row and column indexes.
Throws:
InvalidParameterException

getPageRankMatrixCorrected

public java.lang.String[][] getPageRankMatrixCorrected()
Returns:
Returns the whole graph as a matrix built by the corrected Google's PageRank algorithm.

getPageRankMatrixCorrected

public java.lang.String[][] getPageRankMatrixCorrected(int rowStart,
                                                       int rowEnd,
                                                       int colStart,
                                                       int colEnd)
                                                throws InvalidParameterException
Parameters:
rowStart -
rowEnd -
colStart -
colEnd -
Returns:
Returns a partial corrected PageRank matrix, restricted by the given row and column indexes.
Throws:
InvalidParameterException

getInnerLinkRankMatrix

public java.lang.String[][] getInnerLinkRankMatrix()
Returns:
Returns the whole graph as a matrix, which contains relative variables (built by InnerLinkRank algorithm).

getInnerLinkRankMatrix

public java.lang.String[][] getInnerLinkRankMatrix(int rowStart,
                                                   int rowEnd,
                                                   int colStart,
                                                   int colEnd)
                                            throws InvalidParameterException
Parameters:
rowStart -
rowEnd -
colStart -
colEnd -
Returns:
Returns a partial graph matrix, which contains relative variables (built by InnerLinkRank algorithm). The matrix is restricted by the given row and column indexes.
Throws:
InvalidParameterException

getVertexName2IdMap

public java.util.Map getVertexName2IdMap()
Returns:
Returns a mapping between vertex name (key) and its ID in the graph (value).

getVertexId2NameMap

public java.util.Map getVertexId2NameMap()
Returns:
Returns a mapping between vertex ID (key) and its name in the graph (value).

getVertexNameById

public java.lang.String getVertexNameById(int vertexId)
                                   throws VertexDoesNotExistException
Parameters:
vertexId -
Returns:
The name of the vertex having the given ID.
Throws:
VertexDoesNotExistException