- From: Ian Hickson <ian@hixie.ch>
- Date: Wed, 5 Dec 2012 04:18:54 +0000 (UTC)
- To: Ed Summers <ehs@pobox.com>
- Cc: whatwg@lists.whatwg.org
On Tue, 4 Dec 2012, Ed Summers wrote: > > Over on a schema.org related list [1] there has been a discussion about > making identifiers for bibliographic items (books, articles, etc) > available in microdata using itemid. The use case is well described in > the dev edition, with this example [2]: > > <dl itemscope > itemtype="http://vocab.example.net/book" > itemid="urn:isbn:0-330-34032-8"> > <dt>Title > <dd itemprop="title">The Reality Dysfunction > <dt>Author > <dd itemprop="author">Peter F. Hamilton > <dt>Publication date > <dd><time itemprop="pubdate" datetime="1996-01-26">26 January 1996</time> > </dl> > > Our use case is when a publisher wants to record multiple identifiers > for an item. For example The Reality Dysfunction also has an OCLC number > 225870439, which can be expressed as a URI, info:oclcnum/225870439. When a property isn't the sole unique identifier for an item, just use a property instead of itemid="", as in: <div itemscope itemtype="http://vocab.example.net/book"> <meta itemprop="id" content="isbn 0-330-34032-8"> <meta itemprop="id" content="oclcnum 225870439"> <dl> <dt>Title <dd itemprop="title">The Reality Dysfunction <dt>Author <dd itemprop="author">Peter F. Hamilton <dt>Publication date <dd><time itemprop="pubdate" datetime="1996-01-26">26 January 1996</time> </dl> </div> ...or, if continuing to use URLs makes more sense: <div itemscope itemtype="http://vocab.example.net/book"> <link itemprop="id" href="urn:isbn:0-330-34032-8"> <link itemprop="id" href="info:oclcnum/225870439"> <dl> <dt>Title <dd itemprop="title">The Reality Dysfunction <dt>Author <dd itemprop="author">Peter F. Hamilton <dt>Publication date <dd><time itemprop="pubdate" datetime="1996-01-26">26 January 1996</time> </dl> </div> > One alternative to using itemid would be to define an oclcnum itemprop > to the relevant schema.org types. This solution is a bit unwieldy > because there are so many identifier types in the bibliographic world. I > imagine the same is similar in other domains. That's another possibility, yes. If having a large numbmer of properties is not practical for some reason, then having one property use a common syntax that can express all the identifier types (e.g. URLs, or the "type number" syntax in the first example above) can work too. > Another solution would be to come up with some generic identifier > mechanism, but I feel like this would then duplicate what itemid is > already doing. That's fine. itemid="" is intended just for the very specific case of there being a specific unique identifier that is globally used as the key by which a particular vocabulary's items are identified; if there's no such key, or there are many keys and none are more important than the others, then it's better to just use a property. Honestly, itemid="" isn't really intended to be a particularly widely used feature. This is reflected by the way the spec only has one example that uses itemid="", and that example's purpose is to demonstrate itemid="". It's really just a shorthand for a property (though not one whose name can be specified in itemprop=""), and if it doesn't quite fit, it's fine to ignore it and use something else. HTH, -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Wednesday, 5 December 2012 04:19:21 UTC