Opis języka zapytań Efecte
Język zapytań Efecte ( EQL ) służy do wyszukiwania danych w systemie Efecte. API sieci Web może być używany do integracji Efecte z innymi systemami, a niniejszy dokument ma na celu przedstawienie przykładów usług API sieci Web.
Efektywny język zapytań
Efecte Query Language ( EQL ) to strukturalny język podobny do SQL , służący do wykonywania zapytań w Efecte za pośrednictwem interfejsu API . Umożliwia on wykonywanie wydajnych i elastycznych wyszukiwań w modelu danych Efecte.
Aby efektywnie korzystać EQL , należy znać podstawowe pojęcia dotyczące bazowego modelu danych. Elementy modelu danych najczęściej używane w EQL to „ entity ”, „ entitydata ”, „ template ” i „ folder ”.
Poniżej znajdują się proste przykłady ilustrujące zastosowanie języka EQL . Tabele zawierają informacje referencyjne na temat najważniejszych klas i właściwości modelu danych Efecte.
Przeszukiwalne klasy:
Klasa |
Alias |
|
podmiot |
|
falcówka |
|
szablon |
Pro klasy encji (com.efecte.datamodel.Entity):
Pro |
Opis |
|
podmiot |
|
Odwołanie do szablonu klasy (com.efecte.datamodel.Template) |
|
|
|
Odwołanie do folderu klasy (com.efecte.datamodel.Folder) |
|
|
|
Karty danych z ukrytą wartością widoczności, wartością 0 lub 1 |
|
Karty danych, które zostały usunięte, tj. przeniesione do kosza, o wartości 0 lub 1 |
|
Grupa obiektów typu com.efecte.datamode.Metadata |
|
Grupa obiektów typu com.bitmount.equipment.BSSStringEntityData |
|
Zbieranie danych całkowitych jednostki |
|
Zbieranie danych typu float jednostki |
|
Zbieranie danych datowych podmiotu |
|
Zbieranie danych referencyjnych podmiotu |
|
|
|
Karta danych docelowych |
|
Zbieranie zewnętrznych danych referencyjnych podmiotu |
|
|
|
|
|
Zbieranie danych tekstowych jednostki |
|
Zbieranie statycznych danych ciągu encji |
|
Zbieranie statycznych danych całkowitych jednostki |
|
Zbieranie statycznych danych typu float jednostki |
|
Zbieranie statycznych danych datowych jednostki |
Pro szablonu klasy
Pro klasy Template (com.efecte.datamodel.Template):
Pro |
Opis |
|
|
|
|
|
|
|
|
|
|
|
|
|
Grupa obiektów typu com.efecte.datamode.Metadata |
|
Grupa obiektów typu com.bitmount.equipment.BSSAttribute |
|
Grupa obiektów typu BSSTemplatePermission |
Pro folderu klasy
Pro klasy Folder (com.efecte.datamodel.Folder):
Pro |
Opis |
|
Identyfikator bazy danych |
|
|
|
Kod modułu opisuje, do którego modułu należy folder |
|
|
|
|
|
Kod podany przez administratora |
|
|
|
Grupa obiektów typu com.efecte.equipment.Metadata |
|
Grupa obiektów typu com.bitmount.equipment.BSSTemplate |
|
Grupa obiektów typu com.bitmount.boas.AdminRoles |
|
Grupa obiektów typu BSSEntityGroupPermission |
Makra dat i wyrażenia czasowe
Zapytania EQL umożliwiają używanie makr daty i wyrażeń czasu z makrami daty. Te dwa wyrażenia można łączyć, np. teraz+6h lub początek_miesiąca-1M.
Makra dat:
Makro |
Opis |
|
Aktualna data i godzina |
|
Początek bieżącego dnia |
|
Początek bieżącego tygodnia |
|
Początek bieżącego miesiąca |
|
Początek bieżącego kwartału |
|
Początek bieżącej połowy |
|
Początek bieżącego roku |
|
Koniec bieżącego dnia |
|
Koniec bieżącego tygodnia |
|
Koniec bieżącego miesiąca |
|
Koniec bieżącego kwartału |
|
Koniec bieżącej połowy |
|
Koniec bieżącego roku |
Wyrażenia czasu:
Wyrażenie |
Opis |
|
Rok |
|
Miesiąc |
|
Dzień |
|
Godzina |
|
Chwila |
|
Drugi |
|
Tydzień |
Przykłady EQL
Uzyskaj liczbę wszystkich kart danych całego systemu efektów
Zlicz wszystkie karty danych całego systemu efektów. To dobry sposób na sprawdzenie, czy interfejs API działa poprawnie.
SELECT count(id) FROM entity
Wyszukaj określone dane z karty danych
Wyszukaj nazwę karty danych, nazwę szablonu i nazwę folderu dla jednostek, które mają określoną nazwę hosta i znajdują się w szablonie „stacja robocza”
SELECT name, template.name, folder.name FROM entity WHERE $host_name$= 'falco' AND template.code = 'workstation'
Przeszukaj wszystkie karty danych pojedynczego modułu
Przeszukaj wszystkie karty danych pojedynczego modułu:
SELECT entity FROM entity WHERE template.systemCode = 'beq'
lub używając podzapytania
SELECT entity FROM entity WHERE templateId IN (SELECT id FROM template WHERE systemCode = 'beq')
lub używając zapytania exists:
SELECT entity FROM entity WHERE EXISTS (SELECT id FROM template WHERE id = entity.templateId AND template.systemCode = 'beq')
Wyszukaj wszystkie karty danych zdarzeń, które nie są usunięte ani ukryte
Przeszukaj wszystkie karty danych, które nie są ukryte ani usunięte:
SELECT entity FROM entity WHERE template.code='incident' AND entity.deleted=0 AND entity.hidden=0
Wyszukaj karty danych i wybierz podane atrybuty w folderze
Wybierz podane atrybuty kart danych w szablonie. Zwraca atrybuty efecte_id, subject i status:
SELECT $efecte_id$, $subject$, $status$ FROM entity WHERE entity.template.code = 'incident'
Wyszukaj karty danych utworzone pomiędzy datami
W EQL możliwe jest użycie makr daty. Poniżej znajduje się przykład pobierający wszystkie incydenty utworzone w okresie od dwóch miesięcy do bieżącej daty i godziny:
SELECT entity FROM entity WHERE template.code='incident' AND $created$>'start_month-2M' AND $created$<'NOW'
Wyszukaj odrębne karty danych
Znajdowanie odrębnych kart danych
SELECT DISTINCT entity.referenceData.target FROM entity WHERE template.code = 'invoice_row'
Przeszukaj karty danych, używając wartości referencyjnej
Znajdź stację roboczą, której właścicielem jest użytkownik o pełnej nazwie
SELECT entity FROM entity WHERE template.code='workstation' AND $user:full_name$='user test'