1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Graph-Datenbanken: Graph…

Unglücklicher Name?

  1. Thema

Neues Thema Ansicht wechseln


  1. Unglücklicher Name?

    Autor: hepisec 19.09.19 - 09:02

    Ist das jetzt das gleiche wie Facebooks GraphQL oder ist GQL (Graph Query Language) etwas anderes?

  2. Re: Unglücklicher Name?

    Autor: Andreas_L 19.09.19 - 09:48

    Es scheint so. GQL soll PGQL, G-CORE und Cypher vereinen und dient zur direkten Abfrage von Datenbankinhalten.
    GraphQL dagegen ist keine Zusammenführung von irgendwas, sondern was komplett Eigenständiges und dient zur Abfrage von Daten von Anwendungsservern (so wie REST).

    Man kann jetzt sagen, direkte Verwechslungsgefahr besteht nicht, da ich noch nie von GraphQL als GQL oder Graph Query Language gelesen habe und GQL scheinbar auch nicht GraphQL genannt wird. Aber das ist schon äußerst grenzwertig. Andererseits muss ich aber sagen, dass GQL den Namen m. M. n. mehr verdient hat, wenn man den Vergleich mit SQL zieht. Zwischen GraphQL und Graph-Datenbanken besteht dagegen keine direkte Verbindung.

  3. Re: Unglücklicher Name?

    Autor: hepisec 19.09.19 - 16:29

    Danke für die Erklärung.

    GraphQL schreibt auf der Webseite: "GraphQL is a query language for APIs". Das impliziert für mich erstmal QL => query language und somit "Graph query language".

  4. Re: Unglücklicher Name?

    Autor: Andreas_L 19.09.19 - 18:42

    Ja, richtig. Ausgeschrieben heißt beides das gleiche. Aber es wird offiziell anders abgekürzt.

  5. Re: Unglücklicher Name?

    Autor: lestard 20.09.19 - 22:47

    GraphQL ist erstmal unabhängig von Graph-Datenbanken sondern erlaubt die Abfrage von JSON-Ähnlichen Strukturen. Wie diese Strukturen jeweils aussehen bestimmt der Server-Entwickler durch ein Schema. Facebook hat GraphQL relativ offen designed. Gleichzeitig hat Facebook aber auch ein Anwendungsframework namens "Relay" veröffentlicht, welches bestimmte Konventionen bei der Stuktur des Schemas erfordert. Diese Konventionen zielen ganz klar auf Graphen ab. Ein Beispiel (sinngemäß, hab es schon länger nicht mehr gemacht):

    {
    user {
    friends {
    edges {
    node {
    name
    picture
    }
    }
    }
    }

    EDIT: Ich merke gerade, dass die Einrückung im Kommentar nicht dargestellt wird. Dadurch wird die Struktur nicht so richtig sichtbar.

    Ich frage hier ausgehend von einem Nutzer (user) alle Freunde ab. "User" und "Friends" sind aber nicht unmittelbar verbunden, sondern dazwischen wird explizit eine "Connection" gepackt (im Query der "edges" und "node" Teil).
    Die Connection kann mit Attributen um die Verbindung genauer zu spezifizieren und man kann die Navigation beeinflussen (z.B. "nur die ersten 10 laden" oder "ab Seite 13, die nächsten 10 laden"). Diese Connections entsprechen letztlich den Kanten in einem Graph.
    Das ganze ist halt schon relativ nah an den Anforderungen von Facebook gebaut, die ja letztlich auch vor allem mit Graphen arbeiten.

    Die Bezeichnung "GraphQL" kommt also nicht aus dem Nichts. Ich meine, dass ich auch schon Talks zu GraphQL mit Neo4J gesehen habe. Warum die dann doch nochmal was eigenes gebaut haben weiß ich nicht.



    1 mal bearbeitet, zuletzt am 20.09.19 22:48 durch lestard.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Fraunhofer-Institut für Werkstoffmechanik IWM, Freiburg im Breisgau
  2. Compiricus AG, Düsseldorf
  3. Allianz Deutschland AG, München Unterföhring
  4. CONSILIO GmbH, Walldorf, Ratingen, München

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. 499,99€


Haben wir etwas übersehen?

E-Mail an news@golem.de