« Update on LCCN Permalinks Post | Main | Identities timeline »

Linking to WorldCat Identities

Smollett

Since previous posts about linking to WorldCat Identities are getting out of date, here's a summary of the current API.  There are several ways of linking to Identities:

  1. Directly to the pages themselves
  2. OpenURL
  3. NameFinder searches
  4. SRU searches

DIRECT LINKING

The first is by far the simplest.  If you have an LCCN for a person (or corporation, or horse, etc.) you can link using that:

People that do not have an LCCN can also be referenced directly:

We only do this for names without LCCN's, so you can't just stick an arbitrary name in and expect to get an Identity page back.  For that matter, we only have pages for names found in WorldCat, so at least right now we do not cover all possible LCCN's.  The best way to get an LCCN for a name is probably from the results of a NameFinder search (discussed below).  There is a form to do these searches at http://worldcat.org/identities/.

We are attempting to make these links as permanent as possible, so when Ralph finally gets an LCCN associated with him, we will make the above link redirect to that new URI.

OpenURL LINKING

OpenURL links are what we use in WorldCat.org to link to pages about people:

Here’s the short version, with just last name and OCLC#.

http://worldcat.org/identities/find?url_ver=Z39.88-2004 &rft_val_fmt=info:ofi/fmt:kev:mtx:identity &rft.namelast=Shaw &rft_id=info:oclcnum/30702926


Here’s an example with everything turned on.

http://worldcat.org/identities/find?url_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:identity &rft.namelast=Shaw &rft.namefirst=Bernard &rft.nameinit=G &rft.nameinit1=G &rft.nameinitm= &rft.namesuffix= &rft.nametitle= &rft.date=1856-1950 &rft.name= &rft.birthdate=1856 &rft.deathdate=1950 &rft.arn=240672 &rft.title=Pygmalion &rft_id=info:oclcnum/30702926

The 'arn' in that last URI refers to the Authority Record Number, a number assigned by OCLC to each authority record.  Currently we only use a few pieces of the possible fields in the OpenURL.  First we look to see if there is an ARN and use that to find a record.  If there is no ARN, then we use a combination of the last name and OCLC number.  If those are absent or do not result in a unique record, then we assemble a full name from the component pieces and send that to the NameFinder.


NameFinder SEARCHES

The name finder service gives back a list of candidate names with URI's, ranking information, a sample title and other information about the name.  The REST-ful version of this is:

http://worldcat.org/identities/find?fullName=George+Bernard+Shaw, but there is also a SOAP version.  NameFinder looks at lots of possible variations in names, so almost always results in a list rather than a unique Identity record.


SRU SEARCHES

There is also full SRU searching against the component databases that make up Identities. 

There are 5 SRU databases associated with Identities: CorporateIdentities, PersonalIdentities, SubjectIdentities, AbandonedIdentities, and Identities.  The last database does a federated search across the other 4.  They can be found at:


 

http://worldcat.org/identities/search/CorporateIdentities

http://worldcat.org/identities/search/PersonalIdentities

http://worldcat.org/identities/search/SubjectIdentities

http://worldcat.org/identities/search/AbandonedIdentities

http://worldcat.org/identities/search/Identities

 

The Explain record for each of those services lists the indexes that can be searched.  The only other trick is that a sortKey of “holdingscount” can be used to order the result sets by library holdings counts.


The URI for Ralph LeVan (http://worldcat.org/identities/np-levan,+ralph+r) turns into an SRU search: http://worldcat.org/identities/search/Identities? query=local.pnkey+exact+"np-levan,+ralph+r" .

All the URI's return SRU searchRetrieveResponses (except for NameFinder which returns pages originally designed for the ePrints-UK project).


If this explanation isn't clear, or doesn't go far enough, please let me know.  Since the whole thing is built on top of SRU and all the SRU is exposed, it should be possible to do lots of things with the results and pages.


Thanks to Ralph LeVan who both wrote most of the code involved and drafted the explanation of much of the above.


--Th

Comments

If it were possible to get more SRU examples, that would be helpful!

Actually, I guess I don't need examples, but I'm running into some real weirdness.

Why does this SRU search for firstname:Emma, lastname:Goldman return as the first result a very weird alternate record, instead of the main record that the NameFinder succesfully relevancy ranks first. Is the relevancy ranking being used in namefinder not being used in SRU?

http://worldcat.org/identities/search/Identities?query=local.FamilyName+%3D+%22Goldman%22+and+local.FirstName+%3D+%22Emma%22&version=1.1&operation=searchRetrieve&recordSchema=info%3Asrw%2Fschema%2F1%2FIdentities&maximumRecords=10&startRecord=1&resultSetTTL=300&recordPacking=xml&recordXPath=&sortKeys=


And what do the "Fuzzy" elements do?

I expected FuzzyName would use a very similar algorithm to the name finder. But the NameFinder succesfully finds "Emma Goldman", but SRU on FuzzyName does not. Huh?

http://worldcat.org/identities/search/Identities?query=local.FuzzyName+%3D+%22Emma+Goldman%22&version=1.1&operation=searchRetrieve&recordSchema=info%3Asrw%2Fschema%2F1%2FIdentities&maximumRecords=10&startRecord=1&resultSetTTL=300&recordPacking=xml&recordXPath=&sortKeys=

I really want to use this functionality in some software. I was initially very excited by the very flexible and powerful search APIs you seemed to offer, but I'm having trouble putting them into practice. I'd like the enhanced control that SRU offers, but for some reason the NameFinder seems to be a lot more powerful at actually finding the right record. What's going on?

Response:
We're working with Jonathan to try to answer his questions. I'll do another posting summarizing the additional information he needed.

--Th

where to get the explain record for each services?

Response:

Only the SRU service provides Explain records. If you are interested in SRU access to Identities, try this URL: http://worldcat.org/identities/search/Identities. In a browser, that URL will bring up a simple search interface. But, if you view the source of that page, you will see that it was rendered from the Explain record delivered by the SRU server.

Ralph

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been saved. Comments are moderated and will not appear until approved by the author. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Comments are moderated, and will not appear until the author has approved them.

My Photo

June 2009

Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30