计算友谊的程度

时间:2013-03-26 11:45:36

标签: mysql algorithm data-structures social-networking

我创建了以下用于存储用户朋友的数据模型 -

数据库 - MySQL

tbl_user [ user_id - pk ]    
tbl_user_friend [ inviter_id - fk, friend_id - fk,  status - 1/2/3 ]   

status = 2 => friend , = 1 => invite ...

select friend_id from tbl_user_friend where inviter_id = <logged_in_id> and status = 2
UNION
select inviter_id from tbl_user_friend where friend_id = <logged_in_id> and status = 2

现在我需要将它们分类为搜索的第一,第二,第三度连接。

我可以提出一个选项 -

Convert above data into Graph and do BFS search.
Level of a node in BFS traversal will be its degree of connection.
  • 选项1)使用MySQL OQGraph引擎,但这需要一个 特殊构建的Mysql
  • 选项2)使用MySQL中的存储过程来执行BFS

你能否在这里提出一些算法/模型,而不是我已经说过的。

由于

0 个答案:

没有答案