It depends how big "production scale" is - and how quickly you want the computation to finish.
Node Similarity is a brute force similarity algorithm, and uses jaccard similarity to score nodes based on neighbors. To use that algorithm, you'd need the information you're comparing (latitude, longitude, time) to be nodes.
You could also use K Nearest Neighbors - which is an approximate similarity algorithm, using cosine similarity, to compare nodes based on properties. It's much faster than Node Similarity (because it doesn't default to comparing every node with every other node).
In regards to the "production scale", it is at least 1 million rows of data being fed on monthly basis and ideally take less than 2 min to finish the computation.
Currently I am applying the methodology from this article
In short summary, I replaced info used in the article above and created the new metric based on latitude and longitude since there are float numbers.
After the similarity relationships are developed, I used centrality algo, to filter out most of the interconnected nodes to focus on the nodes with desired latitude and latitude shown.
My main objective is to find common stop locations for logistic purposes.
Not sure if my approach is right for this use case.
Can the graph algorithm in neo4j process point data types and datetime data type?
In a lot of the tutorials and lessons I have seen, it seems that the algorithm can only process float or integer type formats for geospatial data in which I am dealing with now.
Does the statement above make sense? Some further advice on this would be appreciate.
For lat/long data, the only algorithm that can explicitly use lat/long data is A* (pathfinding). If you want to use lat/long for a similarity comparison, it can be compared as two numerical values, but we don't have any concept of spatial similarity built into the library.
I tried using K nearest neighbors Graph Data Science playground Neuler.
However, I ran into error as shown below
Algorithm failed to complete
Error: Neo4jError: Unable to start new transaction since limit of concurrently executed transactions is reached. See setting dbms.transaction.concurrency.maximum