marți, 13 noiembrie 2007

Tema2

TEMA2 : 1 noiembrie 2007 - 19 noiembrie 2007


Enunt:

Pe internet exista un mare numar de comunitati online. Prin comunitate pe internet intelegem o multime de oameni ce efectueaza o activitate impreuna (scriu mesaje pe un forum, joaca un joc multiplayer, etc.). Pe baza acestor activitati se formeaza retele sociale – grafuri de mari dimensiuni ale relatiilor online dintre membrii comunitatii. Pentru a extrage un astfel de graf dintr-o aplicatie online metoda uzuala este de a scrie un program care analizeaza paginile web ale site-ului comunitatii si extrage datele referitoare la colaborarile dintre persoane. Acest program trebuie sa-l faceti voi ca temaJ

Aplicatia se bazeaza pe urmatoarele proprietati ale acestor site-uri:

  • Paginile site-ului sunt generate dinamic => toate vor avea aceeasi structura.
  • Cea mai mare parte a linkurilor din aceste pagini duc tot in pagini ale site-ului.

Din aceste proprietati rezulta ca este suficient sa se scrie un script/clasa/functie care sa analizeze o pagina HTML si sa se aplice aceasta functie pe toate linkurile din interiorul site-ului.

Datele extrase din site-ul web vor fi salvate intr-o baza de date ce va avea urmatoarea structura:

model relational

In tabelul utilizator se salveaza datele despre un anumit utilizator (linkul catre profilul sau de pe site si username-ul – daca exista)

In tabelul colaborare se salveaza toate instantele de colaborari dintre 2 utilizatori, tipul colaborarii (pot fi mai multe tipuri in functie de tipul comunitatii – de exemplu pentru o comunitate unde se joaca un joc online pot fi urmatoarele tipuri de relatii – A joaca impotriva lui B, A joaca in echipa cu B, A ii da reply lui B pe forumul jocului, etc.), detalii colaborare – in functie de tipul comunitatii pot sa fie rezultatul jocului, mesajul schimbat, etc.

Exemple de comunitati online ce pot fi analizate:

  • Bloguri gazduite pe acelasi server (blogspot.com, wordpress.com, etc)
  • Forumuri (forumuri bazate pe phpbb, vBulletin, etc)
  • Jocuri online (hattrick.org, online.bridgebase.com/myhands, etc., sah sau pool de pe yahoo games)

Aplicatia poate fi realizata intr-un limbaj la alegere. Prima etapa a temei consta in a posta in forumul destinat temei (pana marti 06.11) a alegerii comunitatii facute (pentru a fi validata) si a descrierii tipurilor de interactiuni ce vor fi extrase.

Observatie1: membrii aceleiasi echipe de proiect nu au voie sa-si aleaga aceeasi comunitate pentru analiza.

Observatie2: Tema va va permite sa invatati urmatoarele lucruri

· Scrierea/utilizarea unui mic crawler web

· Analiza unui document formatat (SGML/XML) si prelucrarea datelor din acesta folosind metodele descrise la laborator

Niciun comentariu: