We investigate the problem of how to evaluate efficiently, with a general algorithm, static or dynamic optimal route queries on a massive graph. A graph is said to be dynamic if its edge weights are changed (increased or decreased) over time. Otherwise, it is static. A route query is static (dynamic) if the underlying graph is static (dynamic, respectively). The answer to an optimal route query is a shortest path that satisfies certain constraints imposed on paths in a graph. Under such a setting, a general and efficient algorithm called DiskOP HBR is proposed to evaluate classes of static or dynamic optimal route queries. The classes of queries that can be evaluated by the algorithm are exactly those the constraints of which can be expressed as a set of edge weight changes. Experiments are conducted on this algorithm to show its desirability.