Re: [whatwg] Proposal: allow itemid to record multiple identifiers for an item

2012-12-05 Thread Ed Summers
Ian,

Thanks very much for the guidance re: using meta and link. I like
both solutions quite a bit better than leaning more on itemid for this
use case.

Was the id itemprop you used in your examples a hypothetical
property that would need to be defined at schema.org or elsewhere, or
did you find it defined already?

//Ed


Re: [whatwg] Proposal: allow itemid to record multiple identifiers for an item

2012-12-05 Thread Ian Hickson
On Wed, 5 Dec 2012, Ed Summers wrote:
 
 Was the id itemprop you used in your examples a hypothetical property 
 that would need to be defined at schema.org or elsewhere, or did you 
 find it defined already?

Hypothetical. In the schema.org vocabulary, the existing url property 
could be used, maybe? Or a new one, of course. I couldn't quite tell from 
the schema.org documentation if url was intended to do this.

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


Re: [whatwg] Proposal: allow itemid to record multiple identifiers for an item

2012-12-04 Thread Ian Hickson
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
  dtTitle
  dd itemprop=titleThe Reality Dysfunction
  dtAuthor
  dd itemprop=authorPeter F. Hamilton
  dtPublication date
  ddtime itemprop=pubdate datetime=1996-01-2626 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
   dtTitle
   dd itemprop=titleThe Reality Dysfunction
   dtAuthor
   dd itemprop=authorPeter F. Hamilton
   dtPublication date
   ddtime itemprop=pubdate datetime=1996-01-2626 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
   dtTitle
   dd itemprop=titleThe Reality Dysfunction
   dtAuthor
   dd itemprop=authorPeter F. Hamilton
   dtPublication date
   ddtime itemprop=pubdate datetime=1996-01-2626 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.   `._.-(,_..'--(,_..'`-.;.'