Singuläres-Attribut-Projektion

Projektion - Kurzfassung

Zweck: Ermöglicht den vereinfachten Zugriff den Werte eines Singulären Attributs (ohne explizite Konfiguration eines Joins).

images/download/attachments/162409163/image-2023-12-11_11-6-55-version-1-modificationdate-1702289221204-api-v2.png

Eine Singuläres-Attribut-Projektion durchsucht die Attribute des durch den Kontext oder einen explizit definierten Attributbesitzerpfad definierten Attributbesitzers nach Attributen mit dem angegebenen Typ.

Abhängig von der optionalen Auswahl für das auszuwertende Feld erscheint im Rückgabewert der Singuläres-Attribut-Projektion entweder der komplette Attributwert oder der Wert im ausgewählten Feld.

Konfiguration

Parameter

Typ

Beschreibung

Name

String

Der optionale Parameter Name kann verwendet werden, um der Projektion einen (Alias-)Namen zuzuweisen.

  • Wenn kein Name angegeben ist, wird als Spaltenname (sofern relevant) der Name für das ausgewählte Feld verwendet.

Attributbesitzerpfad

Entität
(Projektion)

Ein Attributbesitzerpfad muss nur explizit durch die Konfiguration einer Projektion definiert werden, wenn die Entität im Kontext der Suche nicht der Besitzer der Attribute ist, die ausgewertet werden sollen. Dies ist z. B. in den folgenden Fällen relevant:

  • Der Attributbesitzer ist eine per Datenobjekt Join in die Suche einbezogene Entität.

  • Der Attributbesitzer ist eine Position einer Entität im Kontext der Suche.

  • Beim Attributbesitzer handelt es sich um eine in die Daten der Entität im Kontext der Suche eingebettete Entität, z. B. die "Adresse" (address) eines Kontos (s. Benutzer, Firmen).

Attribut

Klasse
(Attributtyp)

Im Auswahlfeld/Combobox-Element für den Parameter Attribut muss eine Auswahl aus den per Dropdown angebotenen Optionen für den Attributtyp erfolgen. Hier stehen nur die Attributtypen zur Auswahl, die der Entitätstyp des anwendbaren Attributbesitzers per Implementierung unterstützt.►HINWEIS◄ Stehen für das Attribut keine Optionen zur Auswahl oder werden Optionen vermisst, dann wurde eventuell versäumt, den Attributbesitzerpfad passend zu setzen (z. B. die "Adresse" eines Kontos, für das keine Attribute implementiert sind).

Feld

Feld
(des Attributwerts)

Das Auswahlfeld/Combobox-Element für das Feld erlaubt eine optionale Einfachauswahl für eines der Felder des per Attribut ausgewählten Attributtyps.

  • Ohne Auswahl für das Feld liefert die Singuläres-Attribut-Projektion den kompletten Attributwert (value).

  • Ein Zugriff auf die Felder der übergeordneten Attribut-Entität (etwa die id), in der das value-Feld enthalten ist, besteht nicht.

Beispiele

Einfacher Anwendungsfall: Feld eines Singulären Attributs in Tupel-Suche ausgeben

Ortsangaben im dreidimensionalen Raum werden häufig über ein Tripel von numerischen Koordinaten getätigt, die eine Position relativ zu einem bestimmten Bezugspunkt im Raum definieren.

Die geographische Lage eines Punkts wird z. B. häufig über Geokoordinaten (Winkelgrade für geographische Länge und Breite) in Verbindung mit der Höhe über dem Meeresspiegel definiert.

Als Eigene Typdefinition (s. Eigene Typdefinitionen) sei ein eigenes Singuläres Attribut "PositionXyz" (PositionXyz) definiert, das als Nutzlast drei beliebig interpretierbare numerische Koordinaten (x, y, z) in Double-Feldern speichern kann.

Dieses Singuläre Attribut kann für beliebige andere Entitäten implementiert werden, die eine Ortsangabe erfordern. Das Bezugssystem für die Ortsangabe kann dabei für jeden Implementierungskontext komplett unterschiedlich sein.

Im folgenden Beispiel wird das PositionXyz-Attribut im Kontext einer Eigenen Entität (s. Eigene Typdefinitionen) "Point of Interest" (POI) verwendet, für die es Geokoordinaten mit Höhenangabe "codieren" soll.

In einer Tupel-Suche für "Points of Interest" soll die Höhe über Meer ( der Wert der z-Koordinate) als Ausgabespalte erscheinen.

Konfiguration:

Der Screenshot rechts zeigt die Konfiguration für zwei Ausgabespalten einer Tupel-Suche:

  • Die Feldprojektion POI_NAME dient zur Ausgabe eines Namens für den "Point of Interest", der ggf. auch als Schlüsselwert für einen späteren Zugriff auf die Sprachverwaltung dienen könnte.

  • Die zweite Spalte definiert eine Singuläres-Attribut-Projektion, die auf das Attribut "PositionXyz" (PositionXyz) zugreift und den Wert für dessen Feld z zurückgibt (sofern vorhanden).

  • Die eindeutige Interpretation des Zahlenwerts in der Ausgabespalte soll der Name ELEVATION_FT_AMSL sicherstellen: "Höhe in Fuß (ft) über dem mittleren Meeresspiegel (Above Mean Sea Level)".


images/download/attachments/162409163/image-2023-12-11_11-43-40-version-1-modificationdate-1702291425878-api-v2.png

Laufzeitbeispiel:

   <core:TupleSearchResult maxResults="100" count="123">
<columns>
<name>POI_NAME</name>
<name>ELEVATION_FT_AMSL</name>
</columns>
<result>
<row>
<item xsi:type="xsd:string">GREENWICH_PRIME_MERIDIAN</item>
<item xsi:type="xsd:double">223.0</item>
</row>
<row>
<item xsi:type="xsd:string">TAJ_MAHAL</item>
<item xsi:type="xsd:double">240.0</item>
</row>
<row>
<item xsi:type="xsd:string">TOUR_EIFFEL</item>
<item xsi:type="xsd:double">108.0</item>
</row>
...
</result>
</core:TupleSearchResult>

Komplexerer Anwendungsfall: Geographische Koordinaten in Textspalte anzeigen

Im Kontext einer Übersicht für den Entitätstyp "Point of Interest" (POI) aus dem vorherigen Beispiel soll eine Ausgabespalte die "Position" unter Berücksichtigung aller Koordinaten aus dem "PositionXyz"-Attribut in aussagekräftiger Textform wiedergeben.

Laufzeitbeispiel:

images/download/attachments/162409163/image-2023-12-11_12-6-14-version-1-modificationdate-1702292779739-api-v2.png

Konfiguration:

Der Screenshot rechts zeigt, wie eine Verkettete Projektion für eine "Eigene Spalte" in den Datengrid-Einstellungen für die Übersicht eingesetzt werden kann, um über eine Singuläres-Attribut-Projektion auf die im Attribut enthaltenen Einzelwerte zuzugreifen:

  • Die Verkettete Projektion greift über eine Singuläres-Attribut-Projektion auf das Attribut "PositionXyz" (PositionXyz), zu, ohne ein Feld zu spezifizieren. Als Rückgabewert ist der komplette Attributwert zu erwarten, sofern das Attribut verwendet wird.

  • Der Attributwert mit den Feldern x, y, und z beinhaltet alle Rohdaten für eine komplexe Ortsangabe. Als Folgestufe in der Verkettung dient eine Textverkettungsprojektion, die diese Koordinaten im Wechsel mit Klartexten zur Formatierung zu einer gemeinsamen Zeichenfolge zusammenfasst:

    • Als Präfix für den "Breitengrad" (Latitude) definiert eine Literale Projektion den Text LAT=. Der zugehörige Wert wird über eine Feldprojektion für das Feld x angehängt.

    • Die folgende Literale Projektion verbindet die Maßeinheit (°) für den Breitengrad und das Präfix (LON=) für den Längengrad (Longitude), der über eine Feldprojektion für das Feld y angehängt wird.

    • Die folgende Literale Projektion verbindet die Maßeinheit (°) für den Längengrad und das Präfix (ELEV=) für die Meereshöhe, die die folgende Feldprojektion für das Feld z liefert.

    • Die letzte Literale Projektion schließt die Zeichenfolge mit einem Hinweis auf die Maßeinheit und das Bezugssystem für die Höhenangabe (ft (AMSL)) ab.

images/download/attachments/162409163/image-2023-12-11_12-4-56-version-1-modificationdate-1702292701726-api-v2.png

ANMERKUNG◄ Wie das Laufzeitbeispiel (oben) verdeutlicht, erscheinen die als Koordinaten gespeicherten Double-Werte hier mit sehr vielen Dezimalen. Beim Aufbau der ausgegebenen Zeichenfolge im Kontext der Textverkettungsprojektion steht keine Funktion zum Formatieren der Zahlwerte mit einer begrenzten Präzision zur Verfügung.