I have different bus stop (nodes) with their GPS geographic position (longitude, latitude).
is there any way in neo4j to calculate the distance on the fly by road (or directly if it's not possible) according to the chosen stops?
I am not sure about the details of your usecase but neo4j has a distance function that can calculate distance between two points with longtitude and latitude. Here is an example:
MATCH (s1:BusStop)-[:TRAVEL_ROUTE]->(s2:BusStop)
WITH point({ longitude: s1.longitude, latitude: s1.latitude }) AS source, point({ longitude: s2.longitude, latitude: s2.latitude }) AS destination
RETURN round(distance(source, destination)) AS travelDistance