The structure of O’Reilly book and author data in Fluidinfo
This short post explains how the O’Reilly catalog is represented in Fluidinfo.
Put simply, we annotate two types of object: those representing products (usually books) and those representing authors. We annotate them using namespaces and tags within the oreilly.com top level namespace so you can be sure that this is bona fide O’Reilly information.
Within the oreilly.com namespace we store a bunch of “top level” tags that describe a product in the O’Reilly catalogue (title, summary, URL and so on). The oreilly.com namespace has two child namespaces: “authors” and “media“. (If you want a visual representation of this structure head on over to the Fluidinfo explorer and explore, starting from the tree menu on the left hand side.)
The authors namespace contains tags that define information about an author (name, biography, homepage and so on) and also contains a child namespace called “expertise“. The expertise namespace contains a set of tags that map to the list of areas of expertise that O’Reilly uses to categorise their authors. So, for example, an object representing the O’Reilly author “Chris DiBona” looks like this:
Notice how Chris’s object has tags under the oreilly.com/authors namespace including several under the oreilly.com/authors/expertise namespace. Importantly, the object also has tags that were not provided by the O’Reilly data. Terry has added a tag terrycojones/met to indicate (rather obviously) that he’s met Chris and the fluiddb/about tag is used to indicate that the object is about the author called Chris diBona.
What about the objects that represent books..? What do they look like..? Well let’s consider a current favourite of mine: “XMPP: The Definitive Guide”. Here’s how Nick Radcliffe’s excellent abouttag utility displays the object representing this book:
Whoa! Lots more tags! Many of them are from the oreilly.com domain (although notice how there are 15 missing). Once again it’s possible to see who/what else has been tagging the object. I’ve added a review and rating (ntoll/review and ntoll/rating) and various other people have annotated useful information that wasn’t at first in the dataset provided by O’Reilly.
How are authors and books linked..?
Every author object has an oreilly/authors/works tag that contains a list of the 13 digit O’Reilly ID / ISBN for each work they were involved in. Every book object has a corresponding oreilly.com/id and oreilly.com/isbn tag.
Alternatively, every book object has an oreilly.com/authors-urls tag that contains a list of it’s author’s homepages on the O’Reilly website and every author object has an associated oreilly.com/url containing the same information.
Finally, for the sake of completeness here’s a list of all the book and author tags along with a description of what each one represents:
- publication-day: The day of the month upon which the item was published.
- publication-month – The number of the month within which the item was published.
- duration – The duration of this item in minutes.
- subtitle – The subtitle associated with the item.
- id – The unique ID used by O’Reilly to identify the item, usually the 13-digit ISBN number (as a string).
- page-count-is-estimate – A flag to indicate that any associated page count value is only an estimate.
- cover-medium – The URL for a medium size image of the cover at the oreilly.com domain.
- toc – The table of contents as text/html.
- homepage – A URL to the item’s homepage on the O’Reilly website.
- description – A long description of the item as text/html.
- cover-small – The URL for a small size image of the cover at the oreilly.com domain.
- author-urns – A list of unique reference numbers used by O’Reilly to reference the authors of the item.
- cover-large – The URL for a large size image of the cover at the oreilly.com domain.
- isbn – The 13-digit ISBN number (as a string).
- safari-url – A URL to the item’s page on O’Reilly’s Safari service.
- author-urls – A list of URLs pointing to the author’s homepages on the O’Reilly website.
- pages – The number of pages this item has.
- publisher – The name of the publisher of the item.
- price-us – The advertised US price in cents.
- title – The title of the item.
- author-names – A list of author names.
- summary – A short summary of the item as text/html.
- publication-date – The publication date as YYYY-MM-DD.
- price-uk – The advertised UK price in pence.
- media – A list of the type[s] of media in which the item is available. Can be one or more of: ‘up-to-date’, ‘rough cut’, ‘dvd’, ‘ebook’, ‘kit’, ‘video’, ‘print’, ‘early release ebook’, ‘safari books online’ or ‘merchandise'”
- name – The author’s full name.
- url – A URL to the author’s homepage on the O’Reilly website.
- photo – A path to an image file containing a photo of the author hosted at the oreilly.com domain.
- twitter – The author’s Twitter username.
- works – A list of the ids of items that the author has created.
- expertise – A list of the expertise tags associated with the author.
- biography – The author’s biography as text/html.