Idea: Pipes + SQL = Structured Web Query Language

Let’s remix 2 original observations:

In Yahoo! Pipes, what used to be a table in the relational database is now: a web page, an RSS feed, etc. The current list of sources includes: Yahoo! Search, Yahoo! Local, Fetch (RSS feeds), Google Base and Flickr. Each source can be searched or queried using either pre-defined or user-defined parameters. For example, there can be a search of all french restaurants in Chicago via Yahoo! Local. The data source and the searches can be mixed together (think emergence), using a reach set of operators. Among them is the iterator (which lets the user loop through the results), a counter and many other functions that facilitate cleaning, manipulating and recombining the information.
Yahoo! Pipes and The Web As Database via PoorButHappy

and this one:

Command line interfaces. Once that was all we had. Then they disappeared, replaced by what we thought was a great advance: GUIs. GUIs were – and still are – valuable, but they fail to scale to the demands of today’s systems. So now command line interfaces are back again, hiding under the name of search. Now you see them, now you don’t. Now you see them again. And they will get better and better with time: mark my words, that is my prediction for the future of interfaces.
jnd.org

Pipes + SQL = SWQL

Imagine Yahoo! Pipes had a command-line interface too:

SELECT title, description, enclosure
FROM rss:http://podcast.example.com/feed/ as rss_feed
WHERE len(rss_feed.enclosure) > 0
ORDER BY rss_feed.title
SELECT trailers.title, trailers.description, trailers.enclosure
FROM xml:http://apple-trailers.example.com/hd/trailers.xml as trailers
WHERE trailers.title in
( SELECT TOP 100 title
FROM xml:http://www.imdb.com/chart/top/top250.xml as imdb
WHERE imdb.release_date > '1 Jan 2000'
ORDER BY imdb.score DESC )
ORDER BY imdb.release_date

Almosty reads like English, doesn’t it?

FOR blogpost IN rss:http://blog.example.com/feed/
LOOP
INSERT INTO links (href, title, inner_html,date)
SELECT href, title, inner_html,blogpost.date
FROM htmlparse(blogpost.description,"<a>")
END LOOP

SELECT title, href as title, inner_html as description, date
INTO special:output_rss
FROM links

Because, sometimes, a GUI is too much.

💬 idea 🏷 sql 🏷 yahoo