I'm working on a project of mine which requires searching with respect to a person's position in a network. Basically I need to define a database which contains some users with different connections.
As like a network, the users are the node and the connections are the edges. Suppose friendship is a type of edge. There may be some other types of connections. The connections might have some sort of weights/priority.
Now, when the user searches for another user the results should be in a order such that the top results will be the nearest nodes and the nodes who are furthest will be at last depending on the connections and their weights/priority.
I cant find where should start on this? I don't need any ready made code for this, but I need to learn. So, please suggest tutorials or articles if you know on this. You can also suggest me code where I can learn on this.
Another Question: Can MySQL database be used to represent this type of network or I need some special database?