Beskrivning av Efecte Query Language
Beskrivning av Efecte Query Language
Efecte Query Language ( EQL ) används för att fråga data från Efecte. Webb- API kan användas för att integrera Efecte med andra system och det här dokumentet syftar till att ge exempel på webb- API -tjänster.
Efecte Query Language
Efecte Query Language ( EQL ) är ett SQL -liknande strukturerat språk för att fråga Efecte via webb API . Det möjliggör kraftfulla och flexibla sökningar mot Efectes datamodell.
För att kunna använda EQL effektivt behöver man känna till några grundläggande begrepp om den underliggande datamodellen. De element i datamodellen som oftast används med EQL är " entity ", " entitydata ", " template " och " folder ".
Nedan följer enkla exempel som illustrerar användningen av EQL . Tabellerna ger referensinformation om de viktigaste klasserna och egenskaperna i Efecte-datamodellen.
Sökbara klasser:
Klass |
Alias |
|
enhet |
|
mapp |
|
mall |
Pro för klassentiteten (com.efecte.datamodel.Entity):
Pro perty |
Beskrivning |
|
enhet |
|
Referens till klassmallen (com.efecte.datamodel.Template) |
|
|
|
Referens till klassmapp (com.efecte.datamodel.Folder) |
|
|
|
Datakort som har dolt värde för synlighet, värde 0 eller 1 |
|
Datakort som har raderats, dvs. flyttats till papperskorgen, värde 0 eller 1 |
|
En grupp objekt av typen com.efecte.datamode.Metadata |
|
En grupp objekt av typen com.bitmount.equipment.BSSStringEntityData |
|
Insamling av heltalsdata för en entitet |
|
Insamling av flytande data för en entitet |
|
Insamling av datumdata för en enhet |
|
Insamling av referensdata för en enhet |
|
|
|
Måldatakort |
|
Insamling av externa referensdata för en enhet |
|
|
|
|
|
Insamling av textdata för en entitet |
|
Insamling av statiska strängdata för en entitet |
|
Insamling av statiska heltalsdata för en entitet |
|
Insamling av statiska flyttaldata för en entitet |
|
Insamling av statiska datumdata för en entitet |
Pro hos klassmallen
Pro för klassmall (com.efecte.datamodel.Template):
Pro perty |
Beskrivning |
|
|
|
|
|
|
|
|
|
|
|
|
|
En grupp objekt av typen com.efecte.datamode.Metadata |
|
En grupp objekt av typen com.bitmount.equipment.BSSAttribute |
|
En grupp objekt av typen BSSTemplatePermission |
Pro för klassmappen
Pro för klassen Folder (com.efecte.datamodel.Folder):
Pro perty |
Beskrivning |
|
Databas-ID |
|
|
|
Modulkod, beskriver i vilken modul mappen tillhör |
|
|
|
|
|
En kod som ges av administratören |
|
|
|
En grupp objekt av typen com.efecte.equipment.Metadata |
|
En grupp objekt av typen com.bitmount.equipment.BSSTemplate |
|
En grupp objekt av typen com.bitmount.boas.AdminRoles |
|
En grupp objekt av typen BSSEntityGroupPermission |
Datummakron och tidsuttryck
EQL frågor tillåter användning av datummakron och tidsuttryck med datummakron. Dessa två kan kombineras som nu+6h eller start_månad-1M.
Datummakron:
Makro |
Beskrivning |
|
Aktuellt datum och tid |
|
Början av innevarande dag |
|
Början av innevarande vecka |
|
Början av innevarande månad |
|
Början av innevarande kvartal |
|
Början av innevarande halvlek |
|
Början av innevarande år |
|
Slutet av innevarande dag |
|
Slutet av innevarande vecka |
|
Slutet av innevarande månad |
|
Slutet av innevarande kvartal |
|
Slutet av innevarande halvlek |
|
Slutet av innevarande år |
Tidsuttryck:
Uttryck |
Beskrivning |
|
År |
|
Månad |
|
Dag |
|
Timme |
|
Minut |
|
Andra |
|
Vecka |
EQL exempel
Få räkning på alla datakort i hela Efecte-systemet
Räkna alla datakort i hela Efecte-systemet. Detta är ett bra sätt att testa att webb- API fungerar korrekt.
SELECT count(id) FROM entity
Sök specifika data från ett datakort
Sök efter datakortets namn, mallens namn och mappens namn för enheter som har ett specifikt värdnamn och finns i mallen "arbetsstation".
SELECT name, template.name, folder.name FROM entity WHERE $host_name$= 'falco' AND template.code = 'workstation'
Sök alla datakort för en enskild modul
Sök efter alla datakort för en enskild modul:
SELECT entity FROM entity WHERE template.systemCode = 'beq'
eller använda delfråga
SELECT entity FROM entity WHERE templateId IN (SELECT id FROM template WHERE systemCode = 'beq')
eller använda exists-frågan:
SELECT entity FROM entity WHERE EXISTS (SELECT id FROM template WHERE id = entity.templateId AND template.systemCode = 'beq')
Sök efter alla incidentdatakort som inte finns i Borttagna eller Dolda
Sök bland alla datakort som inte är dolda eller raderade:
SELECT entity FROM entity WHERE template.code='incident' AND entity.deleted=0 AND entity.hidden=0
Sök datakort och välj givna attribut i mappen
Välj givna attribut för datakort i mallen. Returnerar attributen efecte_id, subject och status:
SELECT $efecte_id$, $subject$, $status$ FROM entity WHERE entity.template.code = 'incident'
Sök datakort som har skapats mellan datum
Det är möjligt att använda datummakron i EQL . Nedan är ett exempel som hämtar alla incidenter som har skapats mellan två månader sedan och aktuellt datum och tid (nu):
SELECT entity FROM entity WHERE template.code='incident' AND $created$>'start_month-2M' AND $created$<'NOW'
Sök efter distinkta datakort
Hitta distinkta datakort
SELECT DISTINCT entity.referenceData.target FROM entity WHERE template.code = 'invoice_row'
Sök datakort med hjälp av referensvärde
Hitta arbetsstation som ägs av användaren med fullständigt namn
SELECT entity FROM entity WHERE template.code='workstation' AND $user:full_name$='user test'