Spatial Primitives
Neighborhood graph is collection of nodes (sites) and neighbor relation edges
Function neighbors(graph,object,predicate) returns set of nodes connected to object in graph by predicate link neighbors(MapQuest, NH, East) = {A, B, C}
Function paths(objects) returns 1-step paths from objects paths(NH) = {(NH, A), (NH, B), (NH, D)}
Function extensions(graph,paths,max,predicates) extends paths in graph to max steps using predicate