Zadanie
Anotácia
Táto bakalárska práca sa zameriava na adaptáciu metriky h-index pre prostredie GitHub s cieľom kvantifikovať „vplyv" vývojára alebo repozitára na základe popularity a využívania jeho projektov. V práci navrhujem definíciu GitHub h-indexu odvodenú z počtu citácií na GitHube (napr. hviezdičky, forky a ďalšie signály), analyzujem dostupnosť a obmedzenia dát z GitHub API a popisujem postup zberu a spracovania údajov. Súčasťou je implementácia prototypu, ktorý vypočíta metriky pre zvolených používateľov a repozitáre, a porovnanie výsledkov s tradičnými indikátormi aktivity. Výsledkom je návrh metriky a webová prezentácia, ktorá umožňuje prehľadne zobraziť vypočítané hodnoty a diskutovať ich interpretáciu a limity.
Cieľ
Cieľom bakalárskej práce je adaptovať bibliometrickú metriky h-index na prostredie GitHub a navrhnúť spôsob, ako pomocou verejne dostupných údajov spoľahlivo kvantifikovať „vplyv" používateľov a repozitárov. Práca sa zameriava na definovanie GitHub h-indexu na základe merateľných signálov (napr. hviezdičky a forky), na návrh metodiky zberu a spracovania dát s ohľadom na obmedzenia GitHub REST/GraphQL API a na implementáciu prototypu, ktorý tieto metriky vypočíta a umožní ich porovnávanie a interpretáciu.
Vizualizácie
Nasledujúce grafy ilustrujú kľúčové aspekty navrhovanej GitHub h-index metriky:
Prezentácia
Stiahnite si prezentáciu bakalárskej práce v preferovanom formáte:
Zdroje a odkazy
-
Zobraziť literatúru
Zoznam použitej literatúry
- HIRSCH, Jorge E., 2005. An index to quantify an individual's scientific research output. Proceedings of the National Academy of Sciences, vol. 102, no. 46, pp. 16569–16572. Dostupné na: https://doi.org/10.1073/pnas.0507655102
- LARSEN, R. L., 2007. The future of scholarly communication: Building the infrastructure for cyberscholarship. Journal of the American Society for Information Science and Technology, roč. 58, č. 7, s. 1061–1066. Dostupné na: https://asistdl.onlinelibrary.wiley.com/doi/full/10.1002/asi.20609
- ESCAMILLA, Emily; KLEIN, Martin; COOPER, Talya; RAMPIN, Vicky; WEIGLE, Michele C.; NELSON, Michael L., 2022. The Rise of GitHub in Scholarly Publications. In: Silvello, G.; Corcho, O.; Manghi, P.; Di Nunzio, G.M.; Golub, K.; Ferro, N.; Poggi, A. (eds.) Linking Theory and Practice of Digital Libraries. TPDL 2022. Lecture Notes in Computer Science, vol. 13541. Springer, Cham, pp. 187–200. Dostupné na: https://doi.org/10.1007/978-3-031-16802-4_15
- GILROY, Shawn P.; KAPLAN, Brent A., 2019. Furthering Open Science in Behavior Analysis: An Introduction and Tutorial for Using GitHub in Research. Perspectives on Behavior Science, vol. 42, pp. 565–581. Dostupné na: https://doi.org/10.1007/s40614-019-00202-5
- PERKEL, Jeffrey, 2016. Democratic databases: science on GitHub. Nature, vol. 538, pp. 127–128. Dostupné na: https://doi.org/10.1038/538127a
- BLINCOE, Kelly; SHEORAN, Jigyasa; GOGGINS, Sean; PETAKOVIC, Emil; DAMIAN, Daniela, 2016. Understanding the popular users: Following, affiliation influence and leadership on GitHub. Information and Software Technology, vol. 70, pp. 30–39. Dostupné na: https://doi.org/10.1016/j.infsof.2015.10.002
- GitHub, 2026. Rate limits for the REST API. GitHub Docs. Dostupné na: https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api
- GitHub, 2026. Rate limits and query limits for the GraphQL API. GitHub Docs. Dostupné na: https://docs.github.com/en/graphql/overview/rate-limits-and-query-limits-for-the-graphql-api
- Aktuálna verzia bakalárskej práce: Otvoriť PDF
Denník
-
1. týždeň
- Počas prvého týždňa som sa oboznámil so zadaním bakalárskej práce a definoval hlavné ciele projektu. Vykonal som úvodný prieskum literatúry zameraný na využitie GitHubu vo vedeckom výskume a metriky hodnotenia vedeckej aktivity. Zhromaždil som relevantné vedecké články a zdroje, ktoré sa budú používať v teoretickej časti práce.
- Preskúmal som GitHub REST a GraphQL API, ich možnosti, dokumentáciu a obmedzenia (rate limits). Na základe toho som navrhol základnú architektúru aplikácie a spôsob získavania dát z GitHubu. Tiež som vytvoril základnú štruktúru projektu a inicializoval repozitár.
-
2. týždeň
-
V druhom týždni som sa zameral na parsovanie odpovedí z GitHub API. Implementoval som modulárny parser pre JSON odpovede REST API, ktorý extrahuje kľúčové polia potrebné pre výpočet GitHub h-indexu: počet hviezdičiek (
stargazers_count), forkov (forks_count), dátum vytvorenia repozitára a informácie o prispievateľoch. - Riešil som spracovanie paginovaných odpovedí API – implementoval som logiku na postupné prechádzanie stránok výsledkov a ich zlučovanie do jednotnej dátovej štruktúry. Zároveň som ošetril edge cases: chýbajúce polia, null hodnoty a neočakávané formáty dát, aby parser bol robustný voči zmenám v API špecifikácii.
- Vytvoril som validačnú vrstvu, ktorá kontroluje integritu naparsovaných dát pred ich ďalším spracovaním. Parser teraz loguje varovania pri detekcii nekonzistentných údajov a umožňuje ich manuálnu revíziu alebo automatické opravy podľa definovaných pravidiel.
-
V druhom týždni som sa zameral na parsovanie odpovedí z GitHub API. Implementoval som modulárny parser pre JSON odpovede REST API, ktorý extrahuje kľúčové polia potrebné pre výpočet GitHub h-indexu: počet hviezdičiek (
-
3. týždeň
- V treťom týždni som rozšíril parsovacie schopnosti o spracovanie GraphQL odpovedí. Implementoval som parser pre komplexné vnorené štruktúry GraphQL, ktorý efektívne extrahuje vzťahy medzi repozitármi, commitmi, pull requestmi a issue záznamami – všetky tieto signály sú dôležité pre refinovanie GitHub h-index metriky.
- Zameral som sa na normalizáciu naparsovaných dát: konverzia časových značiek na jednotný formát, štandardizácia identifikátorov používateľov a repozitárov, a transformácia rôznych typov aktivít na číselné váhy použiteľné pri výpočte metriky. Parser teraz produkuje čistý, analyticky pripravený dataset.
- Implementoval som caching mechanizmus pre naparsované dáta, ktorý znižuje počet opakovaných API volaní a urýchľuje iteratívny vývoj. Parser podporuje incrementálne parsovanie – dokáže spracovať iba nové alebo zmenené záznamy od posledného spustenia, čo je kritické pri práci s veľkými datasetmi a rate limitmi GitHub API.