Zanim przejdziemy do zhakowania wykresu społecznościowego na Twitterze, warto cofnąć się o krok i zdefiniować sieć. Matematycznie sieć lub wykres to po prostu zestaw węzłów i krawędzi. Te zestawy nie mają kontekstu; służą jedynie do przedstawienia świata, w którym krawędzie łączą węzły ze sobą. W najbardziej abstrakcyjnym sformułowaniu krawędzie te nie zawierają żadnych informacji poza faktem, że łączą dwa węzły. Możemy jednak zobaczyć, jak ten ogólny statek organizujący dane może szybko stać się bardziej złożony. Rozważ trzy wykresy na rycinie 11-2.
W górnym panelu rysunku znajduje się przykład niekierowanego wykresu. W takim przypadku krawędzie wykresu nie mają kierunku. Innym sposobem myślenia o tym jest to, że połączenie między węzłami w tym przypadku implikuje wzajemność powiązania. Na przykład Dick i Harry udostępniają połączenie, a ponieważ ten wykres nie jest przekierowany, możemy myśleć o tym jako znaczeniu ,że mogą wymieniać między sobą informacje, towary itp. w ramach tego remisu. Ponieważ jest to bardzo podstawowa konfiguracja sieci, łatwo przeoczyć fakt, że nawet w przypadku nieukierunkowanym zwiększyliśmy złożoność wykresu w stosunku do najbardziej ogólnego przypadku, o którym wspominaliśmy wcześniej. Na wszystkich wykresach na rysunku dodaliśmy etykiety do węzłów. Jest to dodatkowa informacja, która jest tu dość przydatna, ale należy ją wziąć pod uwagę, zastanawiając się, w jaki sposób przechodzimy od abstrakcji sieci do abstrakcji opisującej rzeczywiste dane. Przechodząc do środkowego panelu rysunku, widzimy skierowany wykres. W tej wizualizacji krawędzie mają strzałki wskazujące kierunkowość krawędzi. Teraz krawędzie nie są wzajemne, ale wskazują jednokierunkowy remis. Na przykład Dick i Drew mają powiązania z Johnem, ale John ma tylko związek z Harrym. W ostatnim panelu rysunku dodaliśmy etykiety krawędzi do wykresu. W szczególności dodaliśmy znak pozytywny lub negatywny do każdej etykiety. Może to wskazywać na relację „lubię” lub „nie lubię” między członkami tej sieci lub pewien poziom dostępu. Tak jak etykiety węzłów dodają informacje i kontekst do sieci, podobnie jak etykiety krawędzi. Etykiety te mogą być również znacznie bardziej złożone niż prosta relacja binarna. Etykiety te mogą być wagami wskazującymi siłę lub rodzaj relacji. Ważne jest, aby wziąć pod uwagę różnice między tymi różnymi typami wykresów, ponieważ dane wykresów społecznościowych, które napotkamy w Internecie, mają wiele różnych postaci. Zmiana struktura wykresów może mieć wpływ na to, jak ludzie korzystają z usługi, aw konsekwencji na to, jak możemy analizować dane. Rozważ dwa popularne serwisy społecznościowe, które różnią się klasą używanych wykresów: Facebook i Twitter. Facebook to ogromny, nieukierunkowany wykres społecznościowy. Ponieważ „przyjaźń” wymaga aprobaty, wszystkie krawędzie oznaczają wzajemną przyjaźń. To spowodowało, że Facebook ewoluował jako relatywnie bardziej zamknięta sieć z gęstą strukturą sieci lokalnej, a nie masywne centralne węzły bardziej otwartej usługi. Z drugiej strony Twitter to bardzo duży skierowany wykres. Poniższa dynamika na Twitterze nie wymaga wzajemności, a zatem usługa pozwala na duże asymetrie na ukierunkowanym wykresie, na którym gwiazdy, serwisy informacyjne i inni głośni użytkownicy działają jako główne punkty transmisji tweetów. Chociaż różnice w sposobie nawiązywania połączeń między usługami mogą wydawać się subtelne, wynikające z tego różnice są bardzo duże. Zmieniając nieco dynamikę, Twitter stworzył zupełnie inny rodzaj wykresu społecznościowego, z którego ludzie bardzo korzystają w inny sposób niż za pomocą Facebooka. Oczywiście przyczyny tej różnicy wykraczają poza struktury wykresów, w tym limit 140 znaków na Twitterze i całkowicie publiczny charakter większości kont na Twitterze, ale struktura wykresu ma ogromny wpływ na działanie całej sieci. W tym rozdziale skupimy się na Twitterze do studium przypadku i dlatego będziemy musieli wziąć pod uwagę jego struktury grafów ukierunkowanych podczas wszystkich aspektów analizy. Zaczynamy od zebrania danych o relacjach na Twitterze bez przekraczania limitu stawek API lub naruszenia warunków świadczenia usług