[gcs-pcs-list] quick thought experiment re: unAPI
Daniel Chudnov
daniel.chudnov at yale.edu
Fri Dec 2 15:16:53 EST 2005
I keep getting stuck on the COinS-PMH requirements of COinS (OpenURL)
and OAI-PMH. I think these will keep it from succeeding at all.
What I want is a way that *anybody* can implement the following functions
quickly, in javascript/dhtml or any other language:
- for identified content items on any HTML page,
- find out what kinds of "records" are available for one or more of
them, and
- get one or more of those record kinds for one or more of the items.
If we simplified unAPI further, it might look like:
- "identified" items are those with "class='identifier'" elements
on them; the content of the element with that attribute/value
pair is the identifier for that item.
- we retain the link tag, but specify "unapi" and a base url of
"http://blah.blah.blah/blah/blah/unapi" *instead* of "COinS-PMH"
and a pseudo-or-real OAI-PMH service that supports
ListMetadataFormats and GetRecord.
- /unapi URIs must respond to several kinds of GETs:
- /unapi/formats (formats supported site-wide)
- /unapi/identifier/formats (formats for a given item)
- /unapi/identifier/format (a specific record format for that iitem)
Then we specify a number of "bindings", i.e. ways to implement unapi
using different underlying tools/protocols:
- COinS/OAI-PMH: as before, with the differences that COinS also
get a class='identifier' around the actual identifier, and the
unapi calls map to OAI-PMH calls that filter out the OAI wrapper
stuff and just return metadata
- Atom: the element from hAtom that gets the id attribute also
gets a class='attribute'. then the unapi calls just map to the
same responses you'd get from Atom calls to GET that identifier,
with the atom wrapper stuff elided.
- SRW/U: the listformats/getrecord bit is implemented using SRW/U
with SRW/u wrapper bits elided and formats list from the explain
response; the get calls are searches by identifier with wrapper
stuff elided.
- OpenSearch: similar to SRW/U in that the formats list comes from
the opensearch description response and the getrecords just
search on identifier and strip response RSS wrapper bits.
I think this might scale to World Domination (tm).
-dchud
--
Daniel Chudnov
Yale Center for Medical Informatics
(203) 737-5789
More information about the gcs-pcs-list
mailing list