A JSONPath query compiler targeting JSON parsers APIs
- Speaker(s)
- Łukasz Orawiec
- Affiliation
- MIMUW
- Language of the talk
- Polish
- Date
- Oct. 29, 2024, 10:15 a.m.
- Room
- room 4060
- Seminar
- 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.