Whitepaper: FQL – Die Facebook Query Language (PDF, 73 Seiten)

Whitepaper: FQL – Die Facebook Query Language (PDF, 73 Seiten)


Die Abfragesprache Facebook Query Language (FQL) und die verfügbaren FQL-Tabellen sind zentrale Bestandteile der Facebook Programmierung. Heute bieten wir auch ein ganzen Kapitel aus dem Buch Facebook-Programmierung – Entwicklung von Social Apps & Websites von Michael Kamleitner zum Download an. In diesem Kapitel erhaltet ihr auf 73 Seiten einen Überblick über die Facebook Query Language und die verfügbaren FQL-Tabellen.

Download:
Die Facebook Query Language (FQL) – Kapitel 5 – Facebook-Programmierung / Entwicklung von Social Apps & Websites
(PDF 400KB – Share & Embed via Scibd)

Ein Auszug aus dem Kapitel:

Die Facebook Query Language ist eine an die weithin bekannte Datenbank-Abfragesprache SQL (Structured Query Language) angelehnte Schnittstelle, die ähnlich wie die Graph API Zugriff auf die Objekte des sozialen Graphen ermöglicht. Als Vorgänger der Graph API sind Zugriffe mittels FQL heute nur mehr in besonderen Fällen notwendig und empfehlenswert.

Die Facebook Query Language (FQL) wurde von Facebook seit dem Start der Anwendungsplattform im Jahr 2007 als alternative Möglichkeit zum direkten Zugriff auf Objektdaten der Plattform positioniert. Bevor 2010 die Graph API umfassenden Zugriff auf die Objekte des sozialen Graphen erlaubte, mussten Entwickler häufig zwischen der damaligen HTTP-REST-API und FQL wechseln, um die gewünschten Daten abfragen zu können. Beide Technologien erlaubten leider jeweils nur Zugriff auf einen Teil der Objektdaten.

Mit der Graph API hat Facebook große Anstrengungen unternommen, die Abbildung des sozialen Graphen in einer einzigen API zu vereinheitlichen. Heute können fast alle Anwendungsfälle mit der Graph API abgebildet werden, lediglich einige wenige Spezialfälle erfordern noch den Einsatz von FQL.

FQL orientiert sich an der bekannten Datenbank-Abfragesprache SQL (Structured Query Language) und folgt demselben Aufbau wie diese gebräuchliche Sprache: 

SELECT Feldname,… FROM Tabellenname WHERE Bedingung,…

FQL-Abfragen sehen SQL-Abfragen zwar ähnlich, sind jedoch in vielen Punkten wesentlich unflexibler als herkömmliche Datenbank-Queries:

  • Die WHERE-Klausel darf nur Bedingungen für Felder enthalten, die mindestens ein von Facebook explizit indiziertes Feld besitzen.
  • Die FROM-Klausel einer FQL-Abfrage kann immer nur eine Tabelle enthalten – Verknüpfungen mehrerer Tabellen mittels Inner oder Outer Join sind grundsätzlich nicht vorgesehen.
  • Verschachtelte Abfragen (Sub Selects) sind in der WHERE-Klausel prinzipiell mit dem Schlüsselwort IN möglich, können aber, anders als bei SQL, nicht Variablen der äußeren Abfrage referenzieren.
  • FQL kennt keine Möglichkeit zur Gruppierung von Ergebnissen ähnlich der GROUPBY-Klausel von SQL.
  • Mathematische und logische Operationen sind in FQL grundsätzlich vorhanden, in der offiziellen Dokumentation leider aber nur unzureichend beschrieben.
  • FQL unterstützt die Klauseln ORDERBY zum Sortieren und LIMIT zum Festlegen der Anzahl der Ergebniszeilen.
  • FQL ermöglicht ausschließlich Lesezugriffe: INSERT-, UPDATE- oder DELETE-Befehle sind nicht mittels FQL möglich und können nur wie gewohnt über die Graph API durchgeführt werden.
  • Ähnlich der Adressierung von Objekten in der Graph API dient das Schlüsselwort me() in FQL dazu, den aktuellen Benutzer anhand des verwendeten Access Tokens zu identifizieren.
  • Die Verwendung eindeutiger Benutzer- oder Seitennamen wird – anders als beim Adressieren von Objekten in der Graph API – nicht von FQL unterstützt.

Weitere Details zum Buch erhaltet ihr direkt beim Galileo Verlag. Zu kaufen gibt es das Buch natürlich dort oder bei den üblichen verdächtigen wie Amazon.de oder Buch.de. Natürlich könnt ihr das komplette Kapitel auch hier im Blog lesen:

Die Facebook Query Language (FQL) – Kapitel 5 – Facebook-Programmierung / Entwicklung von Social Apps &…

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on LinkedInBuffer this pageEmail this to someone

+ Es gibt keine Kommentare

Deinen hinzufügen