A method comprising: identifying an object in a source graph, the object being identified by a directed way and an offset there along from a start node or end node at which the object is located; defining a closure graph around the object in the source graph, the closure graph comprising at least two vertices; building at least one closure set based on the closure graph, the closure set comprising at least one path having either the start node or end node of the directed way at a first end of the path and an anchor node at a second end of the path, the second end being opposite the first end, wherein an anchor node is a junction that is tagged with a junction identifier, wherein the junction is a node with three or more edges, the junction identifier configured to uniquely identify the junction in both the source graph and a target graph; identifying the anchor nodes of the closure set on the target graph, the identifying based at least in part on the junction identifier associated with the anchor node, wherein the anchor nodes are identified by determining if a respective end node is tagged with a junction identifier; deflating the closure set on the target graph to identify a target object in the target graph that corresponds to the object in the source graph by investigating a set of shortest paths from a start anchor node to an end node in the target graph; characterized in that defining the closure graph around the object in the source graph comprises: identifying a set of ways that have either an end point of the directed way as a start point of the way or a start point of the directed way as an end point of the way. identifying an object in a source graph, the object being identified by a directed way and an offset there along from a start node or end node at which the object is located; defining a closure graph around the object in the source graph, the closure graph comprising at least two vertices; building at least one closure set based on the closure graph, the closure set comprising at least one path having either the start node or end node of the directed way at a first end of the path and an anchor node at a second end of the path, the second end being opposite the first end, wherein an anchor node is a junction that is tagged with a junction identifier, wherein the junction is a node with three or more edges, the junction identifier configured to uniquely identify the junction in both the source graph and a target graph; identifying the anchor nodes of the closure set on the target graph, the identifying based at least in part on the junction identifier associated with the anchor node, wherein the anchor nodes are identified by determining if a respective end node is tagged with a junction identifier; deflating the closure set on the target graph to identify a target object in the target graph that corresponds to the object in the source graph by investigating a set of shortest paths from a start anchor node to an end node in the target graph; characterized in that defining the closure graph around the object in the source graph comprises: identifying a set of ways that have either an end point of the directed way as a start point of the way or a start point of the directed way as an end point of the way.