Class PageRank

java.lang.Object
com.sparsity.sparksee.algorithms.PageRank
All Implemented Interfaces:
Closeable, AutoCloseable

public class PageRank extends Object implements Closeable
PageRank class.

Implements the PageRank algorithm

Author:
Sparsity Technologies http://www.sparsity-technologies.com
  • Constructor Details

    • PageRank

      public PageRank(Session session)
      Builds the PageRank.

      Parameters:
      session - [in] The session to use
  • Method Details

    • setDamping

      public void setDamping(double damping)
      Sets the damping value for the PageRank.

      Parameters:
      damping - [in] The damping value. Default: 0.85
    • setDefaultWeight

      public void setDefaultWeight(double weight)
      Sets the default weight for those cases when a given edge does not have a weight attribute set.

      Default: 0.0

      Parameters:
      weight - [in] The default weight
    • run

      public void run() throws RuntimeException
      Runs the algorithm.

      sparksee::gdb::Error

      Throws:
      RuntimeException - null
    • addAllEdgeTypes

      public void addAllEdgeTypes(EdgesDirection dir)
      Allows for traversing all edge types of the graph.

      The direction is interpreted as in which direction an edge can be followed from a node to influence other nodes.

      Parameters:
      dir - [in] Edge direction.
    • setOutputAttributeType

      public void setOutputAttributeType(int attr) throws RuntimeException
      Sets the output attribute type.

      If the PageRank will run on more than one node type, then the output attribute must be of type GLOBAL_TYPE or NODES_TYPE. Otherwise, it must be a valid attribute for the used node type.

      Parameters:
      attr - [in] The attribute to store the result. Default: InvalidAttribute
      Throws:
      RuntimeException - null
    • setStartingNode

      public void setStartingNode(long startNode) throws RuntimeException
      Sets the starting node of the page rank to compute the Personalized PageRank variant.

      sparksee::gdb::Error

      Parameters:
      startNode - null
      Throws:
      RuntimeException - null
    • setInitialPageRankValue

      public void setInitialPageRankValue(double startValue)
      Sets the initial PageRank value.

      If a starting node is set, this initial value is only set for the starting node and the rest of nodes are set to 0.0

      Parameters:
      startValue - [in] The initial value to set. Default: 0.0
    • setEdgeWeightAttributeType

      public void setEdgeWeightAttributeType(int attr) throws RuntimeException
      Sets the attribute to use as edge weight.

      If the multiple edge are set for traversal, this attribute must be of type GLOBAL_TYPE or EDGES_TYPE. Additionally, the attribute must be of type Double. Finally, negative weights are treated as non existing, so the default weight applies.

      sparksee::gdb::Error

      Parameters:
      attr - [in] The attribute type to use as a weight. Default: InvalidAttribute
      Throws:
      RuntimeException - null
    • addEdgeType

      public void addEdgeType(int type, EdgesDirection dir) throws RuntimeException
      Allows for traversing edges of the given type.

      If the edge type was already added, the existing direction is overwritten The direction is interpreted as in which direction an edge can be followed from a node to influence other nodes.

      Parameters:
      type - [in] Edge type.
      dir - [in] Edge direction.
      Throws:
      RuntimeException - null
    • setNumIterations

      public void setNumIterations(int numIterations)
      Sets the number of iterations to run the PageRank for.

      Parameters:
      numIterations - [in] The number of interations to set. Default: 20
    • setTolerance

      public void setTolerance(double tolerance)
      Sets the tolerance threashold to continue computing the PageRank after each iteration.

      If all the changes to any PPR value after an iteration are below that tolerance threshold, the algorithm finishes.

      Parameters:
      tolerance - [in] The tolerance to use normalized between 0 and 1. Default: 0.000001
    • isClosed

      public boolean isClosed()
      Gets if PageRank instance has been closed or not.

      Returns:
      TRUE if the PageRank instance has been closed, FALSE otherwise.
      See Also:
    • addNodeType

      public void addNodeType(int type) throws RuntimeException
      Allows for traversing nodes of the given type.

      Parameters:
      type - null
      Throws:
      RuntimeException - null
    • close

      public void close()
      Closes the PageRank instance.

      It must be called to ensure the integrity of all data.

      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • addAllNodeTypes

      public void addAllNodeTypes()
      Allows for traversing all node types of the graph.