View stunning SlideShares in full-screen with the new iOS app!Introducing SlideShare for AndroidExplore all your favorite topics in the SlideShare appGet the SlideShare app to Save for Later — even offline
View stunning SlideShares in full-screen with the new Android app!View stunning SlideShares in full-screen with the new iOS app!
The Semantic What?
• Web pages are views of data for people to
• Search Engines are a hack
• They treat pages as a bucket of words
• Lets turn the web into a database
• APIs are good, but there is no “web” of APIs
• If you ﬁgure out a good way of doing that, let
Part of the puzzle
Semantic markup on web pages
• Need to speak the same language
• I like to see girls of that... caliber.
• English, French, Spanish, Esparanto?
• URLs to the rescue
– Dublin Core (http://purl.org/dc/elements/1.1/)
– Friend of a Friend (http://xmlns.com/foaf/0.1/)
– X-Friend Network (http://gmpg.org/xfn/11/)
– … (many more)
• Nouns, Verbs, and Adjectives, oh my!
• All phrases become lots of triples
• (Subject, Verb / Adj. / Prep. / etc, Object)
• Key / Value pairs ++
– Everything is a URL or String
– Subject doesn’t have to be the document
Innards of SearchMonkey
• You build a web-service inside our
• When a search page renders
– We check which SM apps are enabled
– We call them
• 50ms for in-page
• Long time for AJAX
– They return data in our template
– We render them (and cache)
Prototyping with XSLT
• What if I don’t have structured data?
– I don’t own the site
– I do own the site, but I want to prototype ﬁrst
• Build an XSLT custom data service ﬁrst
– Write some XSLT to extract the data and
transform it into DataRSS
– Mostly about ﬁnding the right XPath (use
Firebug or XPather )
– Quick to implement, but brittle
– Can’t do a good Enhanced Result