Vzájemné vztahy mezi registrovanými uživateli nyní umí zobrazit český portál na zprostředkování spolujízdy autem Jízdomat. Pro jejich výpočet je využita technologie grafové databáze Neo4j. Na portálu je nyní registrováno přes 45 tisíc uživatelů.
Neo4j je open-source grafová databáze, která bez problémů ukládá propojená data a provádí nad nimi výpočty. Je vhodná pro modelování a dotazování na vysoce složitých a propojených sítích. Jedním z příkladů smysluplného využití tohoto nástroje v praxi je Jízdomat, za jehož vývojem stojí Jan Mittner z webového studia Vergilio.
„Vzájemná propojení uživatelů v komunitě Jízdomatu jsme se snažili zobrazovat již od počátku, neboť se bez pochyby jedná o další způsob, jak zvýšit důvěryhodnost mezi na první pohled zcela neznámými lidmi. Tehdy však výpočet vztahů stál pouze na přátelství mezi uživateli a nezohledňovali jsme jejich osobní historii jízd a hodnocení. Navíc, jak počet uživatelů rostl, nedal se výpočet starým způsobem již realizovat. Hledali jsme tedy nové možnosti a přiklonili se k využití technologie Neo4j, které v tomto ohledu daleko rychlejší, pružnější a s většími funkcemi,“ vysvětlil okolnosti Jan Mittner.
Nyní systém funguje tak, že se na základě vztahů v klasické relační databázi (přátelství mezi uživateli, kdo s kým kolikrát a jak jel v autě) vytváří síťový graf v Neo4j, kde vrcholy tvoří uživatelé a hrany různé typy vztahů mezi nimi.
„Každý vztah má navíc svoji důležitost. Například ti, co spolu cestují pravidelně, jsou významnější. To je pak zohledněno, když se systém snaží odpovědět na otázku, přes koho se dva uživatelé můžou znát a získat tak na sebe případnou referenci. Klíčovou vlastností je právě schopnost rychle spočítat tuto cestu mezi uživateli, ať jsou od sebe vzdáleni jeden krok nebo třeba šest,“ dodává Jan Mittner.
V současné době tato databáze zpracovává 45 tisíc uzlů a mnoho set tisíc hran mezi nimi, přičemž rychlosti výpočtů se pohybují v řádu desítek až stovek milisekund.