YQL (Yahoo! Query Language) ist eine Art SQL-Sprache um HTML- oder XML-Inhalte abzufragen. Oder wie es Markus Spath so schön formuliert hat:

Yahoo verwandelt das Web mit der Yahoo Query Language in eine gigantische Datenbank.

Wer bisher schon etwas Erfahrung mit z.B. MySQL gemacht hat, sollte auch mit YQL keine weiteren Probleme haben. Ein Beispiel:

SELECT * FROM feed WHERE url='http://notiz.blog/feed/'

Übersetzt: Gib mir (SELECT) alle Inhalte (*) des RSS-Feeds (FROM feed) die unter der URL: http://notiz.blog zu finden sind (url='http://notiz.blog/feed/').

Das Spannende (weshalb ich es überhaupt erst erwähne) an YQL ist aber der gerade angekündigte Microformats Support, der die Query Language zu einem vollwertigen Microformats Parser macht.

Über den Befehl:

SELECT * FROM microformats WHERE url='http://notiz.blog/kontakt/'

werden Beispielsweise alle Microformats meiner Kontaktseite geparst und mir in einem standardisierten XML oder JSON Format bereit gestellt.

Großartig! Was Yahoo! im Zuge der Open Strategy mit Systemen wie dem SearchMonkey oder YQL geschaffen hat, ist ein echter Traum für jeden Webentwickler und Open Standards Evangelist! Ich hoffe einer der nächste Schritte wird sein, die YQL (als Alternative zu XSLT) auch in den SearchMonkey zu integrieren.

Ach ja… die YQL-Console bietet übrigens eine schöne Alternative zur YQL-Dokumentation… einfach mal einige bekannte SQL-Befehle eingeben und schauen was passiert (so ähnlich habe ich mir damals auch HTML beigebracht) 😉

6 thoughts on “SELECT * FROM microformats

  1. Hallo Stefan,

    auf den ersten Blick wirkt die Syntax wirklich etwas verwirrend aber ‚feed‘ steht schon auf der richtigen Seite von ‚FROM‚, da man ja sonst die Query nicht weiter einschränken könnte. Ein Beispiel für eine Einschränkung wäre: Gib mir alle Adjuncts (Attribute) vom Typ ‚XFN‘

    SELECT adjunct FROM microformats WHERE url='http://notiz.blog/kontakt/' AND adjunct.id='com.yahoo.page.uf.xfn'

    Ich hätte eher ‚feed‘ und die URL getauscht. Also…

    SELECT * FROM 'http://notiz.blog/kontakt/' WHERE type='feed'

    statt…

    SELECT * FROM feed WHERE url='http://notiz.blog/kontakt/'

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.