🎯 Definicja

AQL (Advanced Query Language) to specjalistyczny językiem zapytań wykorzystywany w systemach zarządzania metadanymi (np. Ataccama ONE), służący do wyszukiwania, filtrowania i agregowania obiektów w katalogu danych.

🔑 Kluczowe punkty

  • Cel: Przeszukiwanie grafu metadanych (np. “znajdź wszystkie tabele zawierające kolumnę ‘PESEL’”).
  • Możliwości: Obsługuje operatory logiczne, nawigację po relacjach (parent/child) i filtrowanie po atrybutach.
  • Zastosowanie: Dynamiczne widoki w GUI, automatyzacja w regułach Data Quality, raportowanie.

📚 Szczegółowe wyjaśnienie

AQL przypomina SQL, ale zamiast na wierszach i kolumnach, operuje na Obiektach (Items) i ich Właściwościach (Properties). Jest kluczowy dla administratorów i Data Stewardów, gdy standardowe filtry w interfejsie nie wystarczają.

Przykłady operatorów:

  • LIKE, IN, IS NULL
  • path.to.attribute (nawigacja po kropce)

💡 Przykład zastosowania

Zapytanie znajdujące nieaktywne reguły DQ:

SELECT rule FROM DqRule rule WHERE rule.active = false AND rule.author = 'system'

Zapytanie o “sieroty” (obiekty bez właściciela):

SELECT item FROM CatalogItem item WHERE item.steward IS NULL

📌 Źródła

  • Ataccama ONE Documentation (AQL Reference).

👽 Brudnopis

  • AQL ≈ SQL/Cypher → dedykowany metamodelowi, nie tabelom produkcyjnym.
  • Idealny do dynamicznych dashboardów: „pokaż wszystkie obiekty, które …”, monitorowania DQ, workflow na taskach.
  • Integracja z GraphQL/API oraz językiem reguł.