Version complète: sur le forum Webmaster Hub : Réseaux sociaux: Algorithme de "chemin social"
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net
Sofresh
Bonjour et bonne année à tous,

En testant divers services de Réseaux Sociaux, ma curiosité s'est heurtée à leur système permettant de retracer les relations entre les utilisateurs.

Prenons par exemple Pierre, qui visite le profil de Paul:
Il voit alors indiqué le "chemin social" le menant à Paul: Pierre --> Jacques --> Paul.

Si Jacques figure dans sa liste de contacts, et Paul figure dans les contacts de Jacques, l'algorithme utilisé n'est pas très compliqué.

Mais si ce n'est pas le cas? Comment est réalisé ce cheminement?
Car il peut alors être composé de bien plus de maillons, à l'infini:
Pierre --> François --> Jacques --> Paul
Où Pierre connait François, François connait Jacques, qui lui connait Paul.

J'ai beau me creuser la tête, à part en générant paquets de boucles imbriquées, et donc de requêtes BDD, je ne trouve pas de méthode propre permettant de réaliser cela wacko.gif

Quelqu'un serait-il plus inspiré que moi?
Portekoi
Bonjour,

Tu connais le point de départ (Pierre) mais pas forcément l'arrivée.

Tu peux donc utiliser une fonction récursive pour développer les différents liens. smile.gif

Un peu comme un menu avec parent / enfants .



Portekoi
Fuleran
Bonjour,

C'est la problématique du parcours de graphe : Il existe différente astuce pour optimiser tes requètes en construisant ta base sous la logique d'ensemble. Cela permet de diminuer les requètes en recherche (fréquente) mais allonge l'ajout d'enregistrement (sensé être plus rare). Je vais essayer de te trouver de la doc sur ce sujet dans mes archives. Sinon tu peux faire une recherche sur google sur ce thème.

Benoit
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.