Related topics

Yahoo!'s web-wide query language learns to write

Missing SQL verbs no longer missing

Yahoo!'s SQL-like web query language just learned to write.

Wednesday, the web giant added a trio of previously absent SQL verbs to its nine-month-old Yahoo! Query Language (YQL), an umbrella API that lets app developers query, filter, and join data across disparate web services offered up by Yahoo! and the web at large. With the addition of INSERT, UPDATE, and DELETE, your web apps can now write and modify data via YQL - not just read it.

"These were our language's three missing SQL verbs," YQL product lead Jonathan Trevor tells The Reg. "Now developers can modify data on the web as well as consume it." For example, Trevor says, you can now use YQL not only to receive Tweets via Twitter's API but also send them. Likewise, you can not only read comments from a blog but also post them. You can not only grab data from a remote database but also store it.

The Yahoo! Query Language made its debut in October as part of what the company insists on calling Y!OS 1.0. This marketing-speak umbrella also covers the Yahoo! Social Platform (a set of social-networking APIs) and the Yahoo! Application Platform (a means of distributing your applications via Yahoo!'s various web properties).

YQL provides a common API for tapping data offered up not only by Yahoo!'s own services - including, say, its Flickr photo-sharing tool - but also by third-party web services and data stores. As the name implies, the syntax mimics SQL.

"We picked an SQL-like syntax that enables people to query, filter, and join data across web services, across the internet," Trevor said. "Rather than thinking about specific databases, we're thinking about an SQL-like language that treats the internet as one big database."

Yahoo! makes the API available as its own web service. "We do all the work, so you don't have to worry about parallel requests and network requests and so on. That's all done by our hosting platform." The service includes a web console here (sign-in required), where you can browse example queries and test your own.

When YQL debuted, it was limited to Yahoo!'s own services and generic data sources such as RSS feeds and HTML pages. But earlier this year, Yahoo! unveiled what it called Open Data Tables, which lets anyone create XML tables that extend the API to all sorts of other web services. These then get uploaded to Yahoo!'s platform so that anyone can use them.

YQL also lets you add server-side code to these Open Data Tables. "Open Data Table developers can now add JavaScript into their table definitions," Trevor says. "When we use the table in the system, we can run the code to do the work connecting to the remote data source. The upshot is you get the ability to aggregate data sources. You can combine multiple data sources into one single table where it's logical."

One existing table, for instance, grabs data from text web searches with image search results. "You can query, say, Madonna, and you get this combined results that includes both images and text."

Yahoo! now provides access to about 25 web APIs by default, but if you include Open Data Tables, you can tap about 200 more data sources, including Twitter, Yelp, The New York Times, and Microsoft Bing. "Any data-source provider can effectively be brought into this language that developers can be familiar with."

How many developers have achieved familiarity? Trevor isn't quite sure. But he says it's now widely used within Yahoo! itself. ®

Sponsored: 10 ways wire data helps conquer IT complexity