# A Programmable Web

Aaron Swartz's
A Programmable Web
An Unfinished Work
Aaron Swartz
Synthesis Lectures on
The Semantic Web: Theory and Technology
Aaron Swartz's
A Programmable Web:
An Unfinished Work
​Copyright © 2013 by Morgan & Claypool
This work is made available under the terms of the Creative Commons Attribution-NonCommercial-Sharealike 3.0 Unported license http://creativecommons.org/licenses/by-nc-sa/3.0/.
    Aaron Swartz’s A Programmable Web: An Unfinished Work
    Aaron Swartz
    www.morganclaypool.com
    ISBN: ISBN 9781627051699 ebook
    DOI 10.2200/S00481ED1V01Y201302WBE005
Aaron Swartz's
A Programmable Web:
An Unfinished Work
Aaron Swartz
This short work is the ﬁrst draft of a book manuscript by Aaron Swartz written for the “Synthesis Lectures on the Semantic Web” at the invitation of its editor, James Hendler. Unfortunately, the book wasn’t completed before Aaron’s death in January 2013. As a tribute, the editor and publisher are publishing the work digitally without cost.
From the author’s introduction:
“…we will begin by trying to understand the architecture of the Web—what it got right and, occasionally, what it got wrong, but most importantly why it is the way it is. We will learn how it allows both users and search engines to co-exist peacefully while supporting everything from photo-sharing to ﬁnancial transactions.
We will continue by considering what it means to build a program on top of the Web—how to write software that both fairly serves its immediate users as well as the developers who want to build on top of it. Too often, an API is bolted on top of an existing application, as an afterthought or a completely separate piece. But, as we’ll see, when a web application is designed properly, APIs naturally grow out of it and require little effort to maintain.
Then we’ll look into what it means for your application to be not just another tool for people and software to use, but part of the ecology—a section of the programmable web. This means exposing your data to be queried and copied and integrated, even without explicit permission, into the larger software ecosystem, while protecting users’ freedom.
The Author’s Original Dedication: To Dan Connolly, who not only created the Web but found time to teach it to me. November, 2009.
Contents
* Foreword by James Hendler................................................................................................................................................................................................................................................................................................................................................................................................ix
* 1Introduction: A Programmable Web................................................................................................................................................................................................................................................................................................................................................................................................1
* 2Building for Users: Designing URLs................................................................................................................................................................................................................................................................................................................................................................................................9
* 3Building for Search Engines: Following REST................................................................................................................................................................................................................................................................................................................................................................................................19
* 4Building for Choice: Allowing Import and Export................................................................................................................................................................................................................................................................................................................................................................................................25
* 5Building a Platform: Providing APIs................................................................................................................................................................................................................................................................................................................................................................................................31
* 6Building a Database: Queries and Dumps................................................................................................................................................................................................................................................................................................................................................................................................41
* 7Building for Freedom: Open Data, Open Source................................................................................................................................................................................................................................................................................................................................................................................................43
* 8Conclusion: A Semantic Web?................................................................................................................................................................................................................................................................................................................................................................................................51
This work is licensed under the Creative Commons Attribution 3.0 Unported License. This page must provide all available authorship information.
Public domainPublic domainfalsefalse