Beschreibung der Effektabfragesprache
Beschreibung der Effektabfragesprache
Die Efecte-Abfragesprache ( EQL ) dient zum Abfragen von Daten aus Efecte. Über die Web- API kann Efecte in andere Systeme integriert werden; dieses Dokument bietet Beispiele für Web- API Dienste.
Effektabfragesprache
Die Efecte Query Language ( EQL ) ist eine SQL -ähnliche, strukturierte Sprache für Abfragen von Efecte über die Web API . Sie ermöglicht leistungsstarke und flexible Suchvorgänge im Efecte-Datenmodell.
Um EQL effektiv nutzen zu können, sind Grundkenntnisse des zugrunde liegenden Datenmodells erforderlich. Die am häufigsten mit EQL verwendeten Elemente des Datenmodells sind „ entity “, „ entitydata “, „ template “ und „ folder “.
Nachfolgend finden Sie einfache Beispiele zur Veranschaulichung der Verwendung von EQL . Die Tabellen enthalten Referenzinformationen zu den wichtigsten Klassen und Eigenschaften des Efecte-Datenmodells.
Durchsuchbare Klassen:
Klasse |
Alias |
|
juristische Person |
|
Ordner |
|
Vorlage |
Pro der Klasse Entity (com.efecte.datamodel.Entity):
Pro |
Beschreibung |
|
juristische Person |
|
Referenz auf die Klassenvorlage (com.efecte.datamodel.Template) |
|
|
|
Verweis auf den Klassenordner (com.efecte.datamodel.Folder) |
|
|
|
Datenkarten mit verstecktem Wert für die Sichtbarkeit, Wert 0 oder 1 |
|
Gelöschte Datenkarten, d. h. in den Papierkorb verschoben, haben den Wert 0 oder 1. |
|
Eine Gruppe von Objekten vom Typ com.efecte.datamode.Metadata |
|
Eine Gruppe von Objekten vom Typ com.bitmount.equipment.BSSStringEntityData |
|
Sammlung von Ganzzahldaten einer Entität |
|
Sammlung von Gleitkommadaten einer Entität |
|
Sammlung von Datumsdaten einer Entität |
|
Sammlung von Referenzdaten einer Entität |
|
|
|
Zieldatenkarte |
|
Sammlung externer Referenzdaten einer Entität |
|
|
|
|
|
Sammlung von Textdaten einer Entität |
|
Sammlung statischer Zeichenkettendaten einer Entität |
|
Sammlung statischer Integer-Daten einer Entität |
|
Sammlung statischer Gleitkommadaten einer Entität |
|
Sammlung statischer Datumsdaten einer Entität |
Pro der Klassenvorlage
Pro der Klasse Template (com.efecte.datamodel.Template):
Pro |
Beschreibung |
|
|
|
|
|
|
|
|
|
|
|
|
|
Eine Gruppe von Objekten vom Typ com.efecte.datamode.Metadata |
|
Eine Gruppe von Objekten vom Typ com.bitmount.equipment.BSSAttribute |
|
Eine Gruppe von Objekten vom Typ BSSTemplatePermission |
Pro des Klassenordners
Pro der Klasse Folder (com.efecte.datamodel.Folder):
Pro |
Beschreibung |
|
Datenbank-ID |
|
|
|
Modulcode, beschreibt, zu welchem Modul der Ordner gehört |
|
|
|
|
|
Ein vom Administrator vergebener Code |
|
|
|
Eine Gruppe von Objekten vom Typ com.efecte.equipment.Metadata |
|
Eine Gruppe von Objekten vom Typ com.bitmount.equipment.BSSTemplate |
|
Eine Gruppe von Objekten vom Typ com.bitmount.boas.AdminRoles |
|
Eine Gruppe von Objekten vom Typ BSSEntityGroupPermission |
Datumsmakros und Zeitausdrücke
EQL Abfragen ermöglichen die Verwendung von Datumsmakros und Zeitausdrücken mit Datumsmakros. Diese beiden können kombiniert werden, z. B. jetzt+6h oder Startmonat-1M.
Datumsmakros:
Makro |
Beschreibung |
|
Aktuelles Datum Uhrzeit |
|
Beginn des heutigen Tages |
|
Beginn der aktuellen Woche |
|
Anfang des laufenden Monats |
|
Beginn des laufenden Quartals |
|
Beginn der aktuellen Hälfte |
|
Anfang des laufenden Jahres |
|
Ende des heutigen Tages |
|
Ende der laufenden Woche |
|
Ende des laufenden Monats |
|
Ende des laufenden Quartals |
|
Ende der aktuellen Hälfte |
|
Ende des laufenden Jahres |
Zeitausdrücke:
Ausdruck |
Beschreibung |
|
Jahr |
|
Monat |
|
Tag |
|
Stunde |
|
Minute |
|
Zweite |
|
Woche |
EQL Beispiele
Zähle alle Datenkarten des gesamten Effektsystems
Ermitteln Sie die Anzahl aller Datenkarten des gesamten Effektsystems. Dies ist eine gute Methode, um zu testen, ob die Web API ordnungsgemäß funktioniert.
SELECT count(id) FROM entity
Gezielte Daten von einer Datenkarte suchen
Suchen Sie im Namen der Datenkarte, im Namen der Vorlage und im Namen des Ordners nach Entitäten, die einen bestimmten Hostnamen haben und sich in der Vorlage „Workstation“ befinden.
SELECT name, template.name, folder.name FROM entity WHERE $host_name$= 'falco' AND template.code = 'workstation'
Alle Datenkarten eines einzelnen Moduls durchsuchen
Durchsuchen Sie alle Datenkarten eines einzelnen Moduls:
SELECT entity FROM entity WHERE template.systemCode = 'beq'
oder mithilfe einer Unterabfrage
SELECT entity FROM entity WHERE templateId IN (SELECT id FROM template WHERE systemCode = 'beq')
oder mithilfe einer EXISTS-Abfrage:
SELECT entity FROM entity WHERE EXISTS (SELECT id FROM template WHERE id = entity.templateId AND template.systemCode = 'beq')
Durchsuchen Sie alle Vorfalldatenkarten, die nicht gelöscht oder ausgeblendet sind.
Durchsuchen Sie alle Datenkarten, die nicht ausgeblendet oder gelöscht sind:
SELECT entity FROM entity WHERE template.code='incident' AND entity.deleted=0 AND entity.hidden=0
Datenkarten durchsuchen und bestimmte Attribute im Ordner auswählen
Wählen Sie bestimmte Attribute von Datenkarten in der Vorlage aus. Gibt die Attribute effecte_id, subject und status zurück:
SELECT $efecte_id$, $subject$, $status$ FROM entity WHERE entity.template.code = 'incident'
Suchdatenkarten, die zwischen folgenden Daten erstellt wurden
In EQL können Datumsmakros verwendet werden. Nachfolgend ein Beispiel, das alle Vorfälle abruft, die zwischen vor zwei Monaten und dem aktuellen Datum/der aktuellen Uhrzeit erstellt wurden:
SELECT entity FROM entity WHERE template.code='incident' AND $created$>'start_month-2M' AND $created$<'NOW'
Suche nach eindeutigen Datenkarten
Auffinden unterschiedlicher Datenkarten
SELECT DISTINCT entity.referenceData.target FROM entity WHERE template.code = 'invoice_row'
Suchdatenkarten anhand des Referenzwerts
Finden Sie die Workstation, die dem Benutzer mit dem vollständigen Namen gehört
SELECT entity FROM entity WHERE template.code='workstation' AND $user:full_name$='user test'