Commit 4175dd57 authored by Robert Hostlowsky's avatar Robert Hostlowsky

minor cosmetics, fix typos, add refs for images/listings

parent c222dbe8
......@@ -57,7 +57,7 @@ aber das bedeutet immer zusätzlichen Aufwand.
* **Eingebaute Validierung**: Außerdem kann nun auch schnell überprüft werden, ob ein angefordertes Attribut überhaupt existiert:
Fehler, dass ein erwartetes `Nachname`-Feld leer bleibt, weil stattdessen `surname benutzt werden müsste, sind damit Vergangenheit.`
Fehler, dass ein erwartetes `Nachname`-Feld leer bleibt, weil stattdessen surname benutzt werden müsste, sind damit Vergangenheit.
<!-- later
Die Übertragung der Daten aus unserem Beispiel lässt sich schematisch ungefähr so darstellen:
......@@ -85,7 +85,7 @@ Wir sehen, dass die Übertragung mit GraphQL im Endeffekt weniger Zeit benötigt
later -->
## GraphQL-Schema
Woher weiß man aber, welche Attribute zur Verfügung stehen? GraphQL besitzt ein Schema, das aus einer Liste von **Typ-Definitionen** der Entitäten mit ihren Feldern besteht.
Woher weiß man aber, welche Attribute zur Verfügung stehen? - GraphQL besitzt ein Schema, das aus einer Liste von **Typ-Definitionen** der Entitäten mit ihren Feldern besteht.
Es ist in etwa mit einem Datenbankschema vergleichbar.
"Man assoziiert HTTP allgemein mit REST - mit Ressourcen als Kernkonzept.
......@@ -101,9 +101,7 @@ _XXX: Das Diagramm könnte noch schöner werden, oder bessere Qualität, wenn al
![data-topology](https://blog.codecentric.de/files/2017/12/GraphQL-data-topology.jpg)
## Schema-Definition: Variante 1
Wir wollen das nun mit einem einfachen Beispiel implementieren, wie in **Listing 1** zu sehen.
In der folgenden, stark vereinfachten Beispielimplementierung hat der Query Type nur das Attribute `hi` mit dem Wert `hello world`.
Es ist quasi die Verbindung zu einem Datenknoten `hello world`, der über die Kante `hi` erreicht werden kann.
......@@ -297,7 +295,7 @@ auf die wir gleich genauer eingehen werden.
3. Auch wenn GraphQL nur in baumartigen Strukturen zurückliefern kann, kann jede Abfrage auch Daten aus
einem **zyklischen Graphen** abrufen:
Zum Beispiel bei folgendem Szenario: Eine Suche in Twitter nach allen "Followern der Follower" eines Twitter-Nutzers enthält typischerweise auch den Startknoten, wenn sich Twitter-Nutzer gegenseitig folgen.
zum Beispiel bei folgendem Szenario: Eine Suche in Twitter nach allen "Followern der Follower" eines Twitter-Nutzers enthält typischerweise auch den Startknoten, wenn sich Twitter-Nutzer gegenseitig folgen.
Mit solchen Abfragen wächst die Ergebnismenge natürlich schnell exponentiell an.
Als Lösung gibt es in der Sangria-Scala-Bibliothek ein Modul zur Abschätzung der Abfragekomplexität anhand der Zahl der Ebenen.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment