EgoMaps#
Every researcher is the center of his/her own universe. With EgoMaps, everyone can visualize that universe!
Concretely, your EgoMap is a co-publication graph containing:
The star, i.e. you, the center of the universe
The planets, i.e. your co-authors
The moons, e.g. the co-authors of your co-authors
By default, EgoMaps comprise up to 50 researchers, selecting first planets (sorted by number of collaborations), then moons (sorted by connectivity).
Important
EgoMaps provide an engaging visualization of a researcher’s egosystem. In essence, they offer an intuitive way to explore and identify the research community or communities surrounding a given individual. By highlighting connections and relationships within a research network, EgoMaps aim to facilitate a deeper understanding of collaborative and thematic clusters in a researcher’s environment.
It is important to emphasize that EgoMaps are not designed nor intended to support any form of quantitative evaluation or ranking of researchers’ work or impact. Any such interpretation or usage is strongly discouraged, as the feature’s primary purpose is to assist with qualitative exploration and visualization of research communities, not research assessment.
Note
Before the introduction of LDB, mixing HAL and DBLP took a lot of time due to DBLP request limitations. Now dual requests can be performed transparently.
Simple case#
For basic scenarios, you just need to enter the name of the researcher. For example:
[1]:
from gismap.lab import EgoMap as Map
celine = Map("Céline Comte")
celine.build()
You can display your EgoMap with show_html and save it with save_html
[2]:
celine.show_html()
Adjusting the size#
Depending on your degree, you may want to adjust the size of your universe with target. You can also personalize the star with a picture.
[3]:
nidhi = Map("Nidhi Hegde (img: https://sites.ualberta.ca/~nidhih/images/circle1.png)")
nidhi.build(target=80)
INFO:GisMap:Multiple entries for Nidhi Hegde in ldb
[4]:
nidhi.show_html()
Not a researcher based in France and working in Computer Science?#
You can specify the DB(s) you want to use.
If you work in Computer Science but are not based in France, you should use DBLP;
If you are a researcher based in France, HAL should work (example below);
If you are not based in France and not working on Computer Science, you should find a developper that can add your DB to Gismap!
[5]:
julie = Map(
"Julie Pagis (img: https://iris.ehess.fr/docannexe/file/3472/pagis_julie_photo_patrice_normand_2024.jpg)",
dbs="hal",
)
julie.build()
INFO:GisMap:Multiple entries for Julie Pagis in hal
[6]:
julie.show_html()
[7]:
kathrin = Map(
"Kathrin Hanauer (img: https://homepage.univie.ac.at/kathrin.hanauer/assets/img/portrait.jpg)",
dbs="ldb",
)
kathrin.build()
[8]:
kathrin.show_html()
Analyzing sources#
GisMap can help you compare what different databases know about a researcher.
Use
diff_sourcesto find publications present in one database but not the other. This is helpful if you want to manually update one database using inputs from another one.Use
find_duplicatesto spot duplicate entries within a single database. This is helpful if you want to track multiple entries of the same paper (e.g. entered independently by several co-authors).
[9]:
# Compare what HAL and LDB know about Céline Comte
print(celine.star.diff_sources("hal", "ldb"))
=== Only in hal (9) ===
"Modèle de couplage stochastique non-biparti" (2021, conference) - https://hal.science/hal-03219422v1
"0 = 0, c'est le truc du noyau ! Application aux files d'attente" (2019, conference) - https://hal.science/hal-02118156v1
"Performance of a Server Cluster with Parallel Processing and Randomized Load Balancing" (2016, report) - https://hal.science/hal-01306343v1
"Online Stochastic Matching: A Polytope Perspective" (2025, report) - https://hal.science/hal-03502084v6
"Un seul serveur vous manque, et tout est découplé !" (2018, conference) - https://hal.science/hal-01773674v1
"À la racine du parallélisme" (2017, conference) - https://hal.science/hal-01517150v1
"Optimization Trade-offs in Asynchronous Federated Learning: A Stochastic Networks Approach" (2026, report) - https://hal.science/hal-05568760v1
"Rien ne sert de prédire ; il faut servir ancien." (2019, conference) - https://hal.science/hal-02118170v1
"La Grille de Kleinberg, l’Univers et le Reste" (2017, conference) - https://hal.science/hal-01517123v1
=== Only in ldb (3) ===
"Score-Aware Policy-Gradient Methods and Performance Guarantees using Local Lyapunov Conditions: Applications to Product-Form Stochastic Networks and Queueing Systems." (2023, journal) - https://doi.org/10.48550/ARXIV.2312.02804
"Networks of multi-server queues with parallel processing." (2016, journal) - http://arxiv.org/abs/1604.06763
"Stochastic dynamic matching: A mixed graph-theory and linear-algebra approach." (2021, journal) - https://arxiv.org/abs/2112.14457
[10]:
# Find duplicate entries in HAL for Céline Comte
print(celine.star.find_duplicates("hal"))
=== Duplicates in hal (2 groups) ===
Group 1:
"À la racine du parallélisme" (2017, conference) - https://hal.science/hal-01517150v1
"À la racine du parallélisme" (2017, report) - https://inria.hal.science/hal-01476889v3
Group 2:
"Dynamic load balancing with tokens" (2019, journal) - https://hal.science/hal-02340255v1
"Dynamic Load Balancing with Tokens" (2018, conference) - https://hal.science/hal-01758912v2
You can also compare different search strategies for the same database. For example, if a researcher’s HAL pid only captures part of their publications, you can force a fullname search with hal:fullname and compare:
[11]:
from gismap.lab import LabAuthor
author = LabAuthor("Élie de Panafieu")
author.auto_sources("hal")
author.sources
[11]:
[HALAuthor(name='Élie de Panafieu', key='1319887', key_type='pid')]
Once you have identified the pid from the source above, you can compare it with a fullname search:
[12]:
author = LabAuthor("Élie de Panafieu (hal:1319887, hal:fullname)")
print(author.diff_sources(0, 1))
=== Only in hal (0) (0) ===
=== Only in hal (1) (5) ===
"Enumeration and structure of inhomogeneous graphs" (2015, conference) - https://hal.science/hal-01337762v1
"Counting connected graphs with large excess" (2016, conference) - https://hal.science/hal-02166341v1
"Complexity Estimates for Two Uncoupling Algorithms" (2013, conference) - https://inria.hal.science/hal-00780010v2
"0 = 0, c'est le truc du noyau ! Application aux files d'attente" (2019, conference) - https://hal.science/hal-02118156v1
"Of Kernels and Queues: when network calculus meets analytic combinatorics" (2018, conference) - https://hal.science/hal-01889101v1