← Últimos artículos
💻 computer science

PathFinder: A unified approach for handling paths in graph query languages

Este artículo presenta PathFinder, un enfoque unificado y altamente eficiente para procesar consultas de rutas en lenguajes de grafos modernos que aprovecha la representación compacta de rutas y la ejecución en pipeline para lograr un rendimiento estable y superar a los motores de grafos existentes por un orden de magnitud.

Autores originales: Benjamín Farías, Wim Martens, Carlos Rojas, Domagoj Vrgoč

Publicado 2026-07-15
📖 7 min de lectura🧠 Análisis profundo

Autores originales: Benjamín Farías, Wim Martens, Carlos Rojas, Domagoj Vrgoč

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina que estás explorando una ciudad mágica y masiva llamada Graph City. En esta ciudad, cada persona es un edificio (un nodo), y cada relación entre ellos es una carretera (una arista) con un letrero específico, como "sigue a", "vive en" o "trabaja en".

Durante años, los guías turísticos de la ciudad (los viejos motores de bases de datos) tenían una regla extraña: si preguntabas: "¿Muéstrame todas las formas en que puedo ir de Joe a la Torre Eiffel tomando solo carreteras de 'sigue a'", el guía simplemente señalaba y decía: "¡De acuerdo, puedes llegar allí!", y se detenía. Te daban el destino, pero no te mostraban el mapa del viaje.

Esto es un problema para los detectives. Si estás tratando de resolver un misterio (como detectar el lavado de dinero o rastrear un rumor), no solo quieres saber quién está conectado; necesitas ver el camino completo que tomaron. ¿Fueron directo? ¿Dieron vueltas tres veces? ¿Tomaron un atajo?

Entra PathFinder, un nuevo y superinteligente guía turístico construido por Benjamín, Wim, Carlos y Domagoj. Este artículo presenta a PathFinder, el primer guía que no solo puede decirte quién está conectado, sino también entregarte el mapa exacto de cada ruta posible, sin importar cuán complicadas sean las reglas.

La magia del "Grafo Producto"

¿Cómo lo hace PathFinder sin perderse en un laberinto? Imagina que tienes un mapa regular de la ciudad, y también tienes una pequeña lista de verificación mágica (un autómata) que dice: "Debes tomar una carretera de 'sigue a', luego otra de 'sigue a', luego una de 'trabaja en'".

PathFinder no solo camina por la ciudad; construye una ciudad sombra (llamada Grafo Producto) donde cada edificio es una combinación de un edificio de la ciudad real y un paso en la lista de verificación.

  • Si estás en "Joe" y has completado cero pasos, estás en (Joe, Paso 0).
  • Si tomas una carretera de "sigue a" hacia "Paul", te mueves a (Paul, Paso 1).

Al caminar a través de esta ciudad sombra, PathFinder puede ver instantáneamente qué rutas coinciden con tu lista de verificación. Es como tener un GPS que solo ilumina las carreteras por las que tienes permitido conducir, ignorando el resto.

Las 27 formas de caminar

El artículo explica que hay 27 reglas diferentes (llamadas "modos") para cómo puedes caminar a través de Graph City. PathFinder es el primer motor que puede manejar todos los 27. Aquí hay algunos de los sabores:

  • WALK (Caminar): Puedes ir a cualquier parte, incluso si caminas en círculos o visitas la misma casa dos veces. (¡Este es el más fácil, pero puede llevar a bucles infinitos!).
  • TRAIL (Sendero): Puedes visitar la misma casa dos veces, pero no puedes caminar por la misma carretera dos veces.
  • SIMPLE (Simple): No puedes visitar la misma casa dos veces (a menos que comiences y termines en el mismo lugar). Esta es la regla más difícil de seguir porque el número de rutas posibles puede explotar.
  • ANY SHORTEST (Cualquier ruta más corta): Solo dame una de las rutas más rápidas.
  • ALL SHORTEST (Todas las rutas más cortas): Dame cada una de las rutas que sean las más rápidas.
  • SHORTEST k GROUPS (Los k grupos más cortos): Dame las rutas más rápidas, luego el segundo grupo de rutas más rápidas, y así sucesivamente hasta el grupo kk.

Los autores demuestran que, aunque algunas de estas reglas (como encontrar un camino "Simple") son teóricamente muy difíciles —tan difíciles que las computadoras suelen rendirse ante mapas enormes—, PathFinder las maneja sorprendentemente bien en el mundo real.

El problema del "Bucle Infinito"

Un gran dolor de cabeza en Graph City es que si hay un bucle (como Joe sigue a Paul, y Paul sigue a Joe), podrías caminar por ese bucle para siempre. Si pides "todos los caminos", ¡la respuesta es infinita!
Para solucionar esto, los estándares GQL y SQL/PGQ (los libros de reglas para estos lenguajes) permiten elegir un modo como "Simple" o "Trail" para detener los bucles infinitos. PathFinder respeta estas reglas perfectamente. Sabe exactamente cuándo detener la exploración de un camino para no quedarse atrapado en un círculo sin fin, mientras sigue encontrando todos los caminos válidos que pediste.

La prueba de velocidad: PathFinder vs. Los demás

Los autores no solo construyeron PathFinder; lo pusieron a prueba contra los grandes nombres de la industria: Neo4j, Nebula, Kuzu, Jena, Blazegraph y Virtuoso.

Realizaron pruebas en tres escenarios diferentes:

  1. Pokec: Una red social de tamaño medio con 1.6 millones de personas y 30 millones de conexiones.
  2. Wikidata: Un grafo de conocimiento del mundo real gigantesco con 364 millones de nodos y 1.257 mil millones de aristas.
  3. Diamond: Un grafo diseñado matemáticamente para ser truculento, diseñado para tener un número exponencial de rutas (específicamente, 2n2^n rutas).

Los Resultados:

  • Velocidad: PathFinder fue de 10 a 100 veces más rápido que los otros motores en casi todas las pruebas.
  • Estabilidad: Mientras que otros motores empezaban a colapsar o a agotarse (rendirse) cuando los caminos se volvían más largos o complejos, PathFinder siguió trabajando sin cesar.
  • La sorpresa de lo "Intratable": Para los modos "Simple" y "Trail", la teoría dice que la computadora debería tardar una eternidad en encontrar la respuesta. Pero en las pruebas del mundo real (como en Wikidata), PathFinder encontró 100,000 rutas rápidamente. Los autores sugieren que esto se debe a que los datos del mundo real no suelen tener las conexiones específicas de la "tormenta perfecta" que hace que las matemáticas exploten.

Lo que PathFinder NO hace (Aún)

Es importante saber lo que este artículo no afirma:

  • No dice que PathFinder sea mágico. Si pides cada uno de los caminos en un grafo con bucles, la respuesta sigue siendo infinita, y ninguna computadora puede imprimir eso. PathFinder simplemente se detiene en un límite que tú estableces (como 100,000 resultados).
  • No afirma haber resuelto el problema del "Camino Simple" para todos los posibles grafos. El artículo admite que, en los peores escenarios teóricos, encontrar un camino simple sigue siendo NP-completo (una forma elegante de decir "computacionalmente muy difícil"). PathFinder simplemente funciona mejor que los demás en los grafos que realmente usamos en la vida real.
  • No afirma haber arreglado el modo "Simple" para RDF (un tipo específico de formato de datos) todavía. Los autores dicen que no han implementado el modo "Trail" para RDF porque no está claro cómo definir un "sendero" cuando las aristas no tienen nombres únicos.

La conclusión

PathFinder es un nuevo motor que actúa como un guía turístico superpotenciado. Puede tomar un conjunto complejo de reglas (como "Encuentra todos los caminos desde Joe hasta ENS Paris que sigan el patrón 'sigue a' y luego 'trabaja en'") y devolver los mapas reales de esos viajes.

Los autores midieron esto en datos reales y encontraron que PathFinder es significativamente más rápido y estable que las bases de datos de grafos de alto nivel actuales. Incluso demostraron que se puede añadir a sistemas existentes (como los motores SPARQL) para darles este nuevo superpoder. Aunque las matemáticas digan que algunas de estas tareas deberían ser imposibles de hacer rápidamente, en el desordenoso mundo real, PathFinder demuestra que se puede hacer con una velocidad notable.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →