Programming the Semantic Web and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
More Buying Choices
Have one to sell? Sell yours here
Start reading Programming the Semantic Web on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Programming the Semantic Web [Paperback]

Toby Segaran , Colin Evans , Jamie Taylor
4.3 out of 5 stars  See all reviews (14 customer reviews)

List Price: $39.99
Price: $26.62 & FREE Shipping. Details
You Save: $13.37 (33%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it tomorrow, May 24? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Kindle Edition $17.27  
Paperback $26.62  
Like this book? Find similar titles in the O'Reilly Bookstore.

Book Description

July 21, 2009 0596153813 978-0596153816 1

With this book, the promise of the Semantic Web -- in which machines can find, share, and combine data on the Web -- is not just a technical possibility, but a practical reality Programming the Semantic Web demonstrates several ways to implement semantic web applications, using current and emerging standards and technologies. You'll learn how to incorporate existing data sources into semantically aware applications and publish rich semantic data.

Each chapter walks you through a single piece of semantic technology and explains how you can use it to solve real problems. Whether you're writing a simple mashup or maintaining a high-performance enterprise solution,Programming the Semantic Web provides a standard, flexible approach for integrating and future-proofing systems and data.

This book will help you:

  • Learn how the Semantic Web allows new and unexpected uses of data to emerge
  • Understand how semantic technologies promote data portability with a simple, abstract model for knowledge representation
  • Become familiar with semantic standards, such as the Resource Description Framework (RDF) and the Web Ontology Language (OWL)
  • Make use of semantic programming techniques to both enrich and simplify current web applications

Frequently Bought Together

Programming the Semantic Web + Learning SPARQL + Semantic Web for the Working Ontologist, Second Edition: Effective Modeling in RDFS and OWL
Price for all three: $95.58

Buy the selected items together


Editorial Reviews

About the Author

Toby Segaran is the author of "Programming Collective Intelligence", a very popular O'Reilly title. He was the founder of Incellico, a biotech software company later acquired by Genstruct. He currently holds the title of Data Magnate at Metaweb Technologies and is a frequent speaker at technology conferences.

Colin Evans combines machine learning and semantic analysis into a deadly one-two punch against information entropy and noisy data. The results of his efforts appear as millions of facts in Freebase. Prior to joining Metaweb, Colin helped users organize their world through his work on the IRIS semantic desktop project at SRI.

Jamie Taylor started one of the first ISPs in San Francisco while developing an Internet laboratory for studying economic equilibria. His goal was to get a better connection at home. He finally got a real job as CTO at DETERMINE Software (now a part of Selectica) helping create order in the unstructured world of Enterprise contract management. He is now helping to organize the world's structured information at Metaweb where he oversees data operations.


Product Details

  • Paperback: 302 pages
  • Publisher: O'Reilly Media; 1 edition (July 21, 2009)
  • Language: English
  • ISBN-10: 0596153813
  • ISBN-13: 978-0596153816
  • Product Dimensions: 7 x 0.6 x 9.2 inches
  • Shipping Weight: 15.2 ounces (View shipping rates and policies)
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (14 customer reviews)
  • Amazon Best Sellers Rank: #411,583 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.3 out of 5 stars
(14)
4.3 out of 5 stars
This book starts in that direction. David B. Jensen     
The book is full of practical examples and working code. Aaron M. Malenfant  |  1 reviewer made a similar statement
Most Helpful Customer Reviews
19 of 19 people found the following review helpful
Format:Paperback
The semantic web. We have all heard about it, the buzz, the hype, and the excitement. Much of it seems well founded once you look deeper into the idea of organizing and making data available in a way that machines can find it, share it, and combine it in new ways that were not considered or even thought of when the data was being collected. This can yield amazing results and discoveries, but to do it, we need to move beyond theory and into practice. That is what this book is about.

Programming the Semantic Web starts with a clear and practical introduction to the idea of the semantic web that will give any web developer the background necessary to comprehend the potential and usefulness of the concept. This is not a book for complete novices as it does anticipate that the reader will have previous experience with programming for the web, including the concepts of relational databases, familiarity with HTML and XML and perhaps a little RDF, and it would be useful to have some knowledge of Python and/or other computer programming languages.

The first part of the book, about 20% of the text, is dedicated to a discussion of what semantics are, how they can be used to express meaning, and why they have the potential to make data storage easily searchable and allow the discovery of new connections that were not considered during the design or collection stages. We learn here how semantic modeling can be expanded with far less pain than a traditional relational database format, allowing the administrator to adjust interfaces and searches quickly in response to the needs of users.

In Part II, the book discusses the practical technological foundations necessary to begin using RDF and other formats to store data in semantic fashion and make it useful. This involves understanding the libraries available to various programming languages and sources of semantic data from which connections may be made or discovered. One of the really powerful aspects here is that you are not constrained to using data from only one database or server, but when the data is organized and stored in a standardized semantic format such as RDF, it may be made available for reading by anyone (if desired) without any risk of it being overwritten by using a query language like SPARQL instead of the better known SQL.

The rest of the book is where the real meat and uniqueness lie. We need the foundation of the previous parts to be certain that everyone has the same understanding of the philosophy and goal of the semantic web. However, the third part of the book is what makes this discussion unique and useful. Here we get a practical overview of toolkits and examples, both code and frameworks, to enable web designers and data wranglers to begin to use the ideas in real life scenarios. Finally we have a way to move beyond all of the discussions and evangelism into implementation! The examples given are clear, useful, practical, and cover all of the sorts of things one might want to do with data. This section is the reason anyone interested in the semantic web should buy the book, and it is also the reason that anyone buying the book should be familiar with coding for the web. The examples are often given in Python and/or Java, using specific toolkits and frameworks like Sesame. The section describes how to publish for internal use as well as how to format and publish data so that others may use it without risking it being corrupted or changed.

The book ends with a short section intended to separate hype from reality and give some vision for where semantic web design might fit in with other technologies already in use, coming alongside already useful tools, not to make them obsolete, but to make them even more beneficial.
Comment | 
Was this review helpful to you?
41 of 49 people found the following review helpful
3.0 out of 5 stars Welcomed book, but some disappointments August 17, 2009
Format:Paperback|Amazon Verified Purchase
While I am glad to see books about Semantic Web technologies that are written specifically for software developers, I am disappointed that I cannot give this book more than 3 stars. Why? The book contains misleading statements that may lead a developer new to these technologies astray and encourage non-optimal practices. I will give a few examples illustrating what I mean:

-On page 131, the example explaining property domains may lead the reader to believe that having two separate domain statements (ex:hasEyeColor rdfs: domain ex:Human and ex:hasEyeColor rdfs: domain ex:Animal) is "the" way to do things. Such a practice creates issues which are not properly explained. And the diagram 6-1 illustrating this modeling example is wrong. Looking at it, the reader is left believing that the domain of ex:hasEyeColor property is a universe of things that includes Humans and Animals, while in reality it is an intersection of Humans and Animals. If someone were now to add another domain triple such as ex:hasEyeColor rdfs: domain ex:Dog, the domain would become the intersection of Humans, Animals and Dogs and a conclusion could be drawn that Jamie Taylor is a dog - obviously, not what was intended.

-On page 140 it is stated that RDF schemas are usually stored in the same graph with the data they represent. This is not true and, to the contrary, is considered to be a poor practice - keeping schema and data separate is important for schema reuse. Did the writers intended to say that they are usually put in the same triple store? The statement is confusing and it is contradicted by the book examples such as those using FOAF. It is clear that FOAF schema and FOAF data files are separate graphs.

-While modularity is talked about ("semantic data model is not a monolithic thing"), the key mechanisms used for modularity (e.g., imports and named graphs) are not mentioned anywhere.

-Describing SPARQL as a "read only" language is not correct. While INSERT or DELETE keywords are not part of SPARQL 1.0, the CONSTRUCT keyword provides a way to create new triples. Developers can also use CONSTRUCT to identify triples to be deleted. I also believe it would have been useful to mention that Jena API (arguably the API most used by the developers building Semantic Web applications) already directly implements inserts and deletes and this implementation is being used in the upcoming SPARQL 2.0 spec. Perhaps, this was not known at the time certain chapters of the book were written.

-The cursory of SPARQL is disappointing. SPARQL mastery is as important to the developer working with the Semantic Web data as SQL mastery is to the developer working with the relational data.

-The blank node example of address raised a concern that the imprecise language used in describing the motivations for using the blank node does not make it clear that a blank nodes can never be referenced across graphs.

In conclusion, the book does a good job covering a broad range of topics in a very concrete, down-to-earth way. It directly addresses some of the key misconceptions about the Semantic Web standards. For example, it makes it very clear that RDF is a data model and RDF/XML is simply one serialization of it. The depth of coverage is insufficient and uneven impacting the book's effectiveness for developers. Some choices of the areas authors decided to focus on are questionable. For example, I would have preferred to see less coverage of Freebase and more of SPARQL. I am also left wondering how much of a peer review the book had received prior to publication. An even modestly rigorous review process would probably have caught the most notable errors, imprecisions and omissions and resulted in a stronger book.
Was this review helpful to you?
8 of 8 people found the following review helpful
Format:Paperback
Note: this review is based on a pre-release copy of the book.

When I first encountered RDF years ago, I wrote it off. It seemed unlikely that it would get much use. But the recent arrival of collections of so-called 'semantic' data via organizations like Freebase, has made me rethink that position. Of course, figuring out how to make use of this data is another proposition, but Programming the Semantic Web serves as a solid introduction and survey of the tools and techniques necessary to make it into something worth your effort.

I can say that after reading this book, I finally get the concept of semantic data and the relationships it defines. The book begins by walking through the building of a basic triple-store (that is, a data store full of triples -- if you don't know what they are, you should read the book). This and the ensuing discussion of the graph structures built from these triples leads into an introduction to RDF. In this context, it really starts to make sense.

The examples in this book are quite useful and not too abstract. For instance, one of the examples shows how to take legacy data from an RDBMS and generate an RDF graph, going from implicit to explicit semantics. Another uses a programmatic version of the popular 'Six Degrees of Kevin Bacon' trivia game to show how you can use a semantic database of movie data to find the shortest path between two given actors (one, clearly, being the ever-popular Kevin Bacon). The final example in the book shows in brief how you might build a system for managing job listings for various companies. The example is thorough and reasonably complex, but still manages to cover a lot of ground, including integration with libraries for visualizing the data. The majority of the examples in the book are written in Python, though Java makes an appearance in the toolkit chapter, which covers various libraries available for working with RDF.

One item of note is that in the conclusion, the authors do stress caution about this technology or at least particular approaches or tools. It's important to sort out the hype from the real deal and it takes a realists perspective to understand that semantic web tools have been considered the 'next great thing' by various pundits for much of the last decade -- clearly it's not what some envisioned back when the ideas were first brought forth.

I can't say that I'm going to be rushing out and building next great application after having read this book, nor will I be looking at bring RDF into each system I build. But I do have an appreciation for what semantic data and RDF can bring to aspects of future projects I might work on. I would have enjoyed seeing more details about using external, non-semantic data source and using that data in a semantic graph, but given the range of material to cover, I can understand that this could be an entire book of it's own.
Was this review helpful to you?
Most Recent Customer Reviews
4.0 out of 5 stars Good intro to the subject
I was looking for a smooth intro into this subject. This title, as do many of the O'Reilly titles, fit the bill nicely.
Published 5 months ago by luis uribe
3.0 out of 5 stars Ask Felgall - Book Review
According to this book Web 3.0 is the semantic web and it will be coming soon to a web browser near you. Read more
Published 17 months ago by Stephen Chapman
5.0 out of 5 stars will keep your amused
this book will take your breadth away both in spirit of how its written and examples it provides. i had read it with delight from start to end.
Published on January 14, 2011 by Sam S
3.0 out of 5 stars Reasonable, but disappointed.
I finished reading through chapter 6 so far... my overall impression is, reasonable, but feel inadequate. Read more
Published on April 15, 2010 by Oliver
4.0 out of 5 stars What would it look like in Perl?
I found "Programming the Semantic Web" to be a useful introduction to the concept of a 'triple store', RDF, OWL and some existing software implementations. Read more
Published on January 14, 2010 by Gordon L. Vanamburg
5.0 out of 5 stars Planet Earth
This is the first book I have read on the semantic web that does not give me feeling that I am in outer space. Read more
Published on November 4, 2009 by David B. Jensen
5.0 out of 5 stars Several ways to implement semantic web applications are explored
Toby Segaran, et.al.'s PROGRAMMING THE SEMANTIC WEB tells how to use graph data to build solid, flexible applications - applications in which machines can find, share and combine... Read more
Published on October 12, 2009 by Midwest Book Review
5.0 out of 5 stars Awesome book for using RDF / Triple Store models in the real world
So much written about the Semantic Web is theoretical, often verging on esoteric. Programming the Semantic Web crosses the gap from theory to practice: it's a book for real-world... Read more
Published on September 26, 2009 by T. Greene
5.0 out of 5 stars excellent overview of semantic data
There aren't many other books that a programmer can buy hoping to actually learn how to build real systems based on semantic data. Read more
Published on September 25, 2009 by Jesper S. Andersen
5.0 out of 5 stars Good overview of an exciting new technology
Programming the semantic web provides a practical hands on overview of this exciting new technology. Read more
Published on July 31, 2009 by Aaron M. Malenfant
Search Customer Reviews
Only search this product's reviews

What Other Items Do Customers Buy After Viewing This Item?


Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 



So You'd Like to...


Create a guide


Look for Similar Items by Category