[Developers] Casting ISBN-10 to ISBN-13
Brian Karlak
zenkat at metaweb.com
Thu Feb 19 19:41:33 UTC 2009
Hello All --
From the discussions on this thread last week, it sounds like an
acceptable consensus is to do the following:
1) Change the property ID of /book/book_edition/ISBN to /book/
book_edition/ISBN_13 .
2) Keep /book/book_edition/ISBN as an alternate key (alias) to /book/
book_edition/ISBN_13 .
3) Change the display name of /book/book_edition/ISBN_13 to "ISBN-13".
3) Modify /book/book_edition/ISBN_13 to /type/rawstring.
4) Make /book/book_edition/ISBN_13 unique (an edition can have only
one ISBN, but multiple editions can share an ISBN).
5) Cast all 10-digit ISBN numbers to 13-digit ISBN numbers during the
conversion, and run a daily gardening task to convert any new 10-digit
ISBNs to 13-digits.
6) We'll maintain the option of creating a /book/book_edition/ISBN_10
property (with appropriate auto-population & casting) if we find that
the single 13-digit field proves problematic.
Because we will keep /book/book_edition/ISBN as an alias to /book/
book_edition/ISBN_13, this change should not break any applications
that currently rely on this property -- unless, of course, they expect
a 10-digit ISBN.
These changes will first be tested on sandbox and then migrated to
OTG. Notification will be sent for both events.
Please note there's quite a bit of behind-the-scenes massaging of the
data & schema that will be required that aren't documented here -- but
this should adequately describe the end-state you'll see.
Many thanks to all those who participated in the discussion -- your
feedback was very valuable!
Brian
On Feb 11, 2009, at 11:21 AM, Vishal Talwar wrote:
> We are thinking about standardizing on 13-digit ISBNs for the
> property /book/book_edition/ISBN on the Book Edition type. To
> accomplish this, all ISBN-10s (~60K of them) would have to be
> converted to ISBN-13s. These new ISBN-13s would then completely
> replace the old ISBN-10s.
>
> Additionally, we are considering the following schema reviews:
>
> 1) /book/book_edition/ISBN currently expects /type/text. This should
> really be /type/rawstring since the lang(uage) field is irrelevant.
>
> 2) /book/book_edition/ISBN is not currently unique. This should
> probably be a unique property. That is to say, multiple book
> editions can have the same ISBN but individual book editions should
> not have multiple ISBNs.
>
> 3) To make the schema changes, we would keep the current ISBN
> property around for historical purposes but rename the key and hide
> the property. A new property would be created which would inherit
> the /book/book_edition/ISBN key. The change should thus have minimal
> impact on developers' queries, and no impact on the average user's.
>
> We are looking to make these changes within the next week. Cleanup
> of bad ISBNs will happen later and should require no further schema
> changes. If there are any strong objections, please raise them for
> discussion.
>
> See http://en.wikipedia.org/wiki/Isbn#Overview for more details if
> interested.
>
> Thanks,
> Vishal Talwar
> _______________________________________________
> Developers mailing list
> Developers at freebase.com
> http://lists.freebase.com/mailman/listinfo/developers
More information about the Developers
mailing list