Nie jesteś zalogowany | Zaloguj się

A JSONPath query compiler targeting JSON parsers APIs

Prelegent(ci)
Łukasz Orawiec
Afiliacja
MIMUW
Język referatu
polski
Termin
29 października 2024 10:15
Pokój
p. 4060
Seminarium
Seminarium "DeSeR: Dane, strumienie, rozpraszanie"

Istnieje wiele implementacji parserów danych w formacie JSON, oferujących różne rodzaje API, takie jak interfejsy DOM-like, w których dokument jest dostępny jako zmaterializowane w pamięci drzewo, lub SAX-like, w których parser emituje zdarzenie dla każdego elementu napotkanego w trakcie pojedynczego przejścia przez dokument. Jest także nowatorskie podejście on-demand, dążące do połączenia prostoty interfejsów DOM-like z wysoką wydajnością wynikającą z leniwego materializowania struktury drzewa. Takie API jest dostępne w simdjson, parserze będącym w stanie przetwarzać gigabajty danych na sekundę dzięki wykorzystaniu instrukcji SIMD.

Z drugiej strony, odczytywanie danych z dokumentów JSON może być wyrażane za pomocą JSONPath, standaryzowanego języka zapytań, będącego odpowiednikiem popularnego XPath dla dokumentów XML.

W ramach referatu przybliżę powyższe zagadnienia i opowiem o temacie mojej pracy magisterskiej, której celem jest wypełnienie luki pomiędzy JSONPath i istniejącymi parserami, poprzez implementację kompilatora przekształcającego zapytania JSONPath do postaci kompatybilnej z konkretnym API parsera.