470 likes | 496 Views
OpenURL and OpenURL Framework: Demystifying Link Resolution. The promise of OpenURL 1.0 Oliver Pesch Chief Architect, EBSCO Publishing opesch@epnet.com. Registry. Referrer. ReferringEntity. By Reference. Schema. Namespace. POST. UTF-8. KEV. ContextObject. OpenURL 1.0. Profiles.
E N D
OpenURL and OpenURL Framework: Demystifying Link Resolution The promise of OpenURL 1.0 Oliver Pesch Chief Architect, EBSCO Publishing opesch@epnet.com
Registry Referrer ReferringEntity By Reference Schema Namespace POST UTF-8 KEV ContextObject OpenURL 1.0 Profiles Service types Referent URI Metadata formats HTTPS OFI By Value Resolver Identifiers URI XML GET HTTP Requester Encoding
Topics we will cover • History • Item level linking and link resolvers • What is an “OpenURL” • Why OpenURL 1.0 • A tour of the “standard” • Future possibilities • Evolving challenges • Next steps
History • Mid 1990s digital collections take hold as does desire for interlinking • 1998 Van de Sompel & Hoshstenbach begin work on linking solutions • 1999 NISO sponsors workshops about reference linking. “Appropriate copy problem” emerged as the major issue. • 1998 SFX linking server created and OpenURL (0.1) specification published • 2000-today OpenURL (0.1) sees wide adoption by information providers • 2001 Van de Sompel & Beit-Arie approach NISO to make OpenURL an official standard • 2001 – NISO Committee AX formed • 2001-2003 Committee AX works to generalize and allow extensibility • 2003 – OpenURL 1.0 available for trial use
Scholarly institutions have many resources from many vendors ISI ingenta Publishersites Full text DBs EhostEJS British Library A&I service Google
Some services offer links to selective resources ISI ingenta Publisher sites Full text DBs EhostEJS British Library A&I service Google User
Some services offer links to selective resources ISI ingenta Publisher sites Full text DBs EhostEJS User British Library A&I service Google
Predefined links inconsistent and their management complex ISI ingenta Publisher sites For the library, when it is possible to control links at these services, they must manage on each service. This could means 100s of places to control links, update holdings, etc. Full text DBs EhostEJS For the online service it is a burden to try and link to each other with only bi-lateral agreements British Library A&I service Google Strict service-to-service linking DOES NOT SCALE and often does not involve the library.
Introducing a link resolver allows morecomprehensive and easier to manage linking ISI ingenta Publisher sites Resolver can link to the resources. Information sources need only to know how to link to a link resolver. Resolver controlled by library. One place to manage holdings and links. Information Source need not worry about bi-lateral development. A solution that definitely scales Link Resolver Full text DBs EhostEJS British Library A&I service Google
Without link resolver user may notaccess the appropriate copy ISI Pay per view $$$ ingenta A Publisher sites Library subscribes Full text DBs EhostEJS A With a predefined link, the user may be presented with a link and not have a choice where that link goes British Library A&I service Google User
With a link resolver the institution candetermine which copy is appropriate ISI Pay per view $$$ ingenta A Publisher sites Link Resolver Library subscribes Full text DBs EhostEJS A With the resolver, the library can control where the link goes and get the user to the appropriate copy. As long as the A&I service knows the user has a resolver and where it is, it can create the link. British Library A&I service Google User
What is OpenURL (0.1) • An accepted “standard” syntax for creating a link between an information source and a link resolver • Pre-defines sets of data elements to use in describing an “item” • Relies on HTTP protocol for transmission
OpenURL Author: Narayanan, RangaTitle: Insider Trading and the Voluntary Disclosure of Information by FirmsJournal: Journal of Banking and FinanceISSN: 0378-4266Date: 2000-03Volume: 24Issue: 3Page: 395 OpenURL Link Resolver INFORMATION SOURCE http://lib.example.edu/resolver.cgi OpenURL is the connection between the Information Source and the link resolver. OpenURL is transferring the information about an item (article) from the Information Source to the resolver.
OpenURL 0.1 HTTP Transport genre=article&title=Journal of Banking and Finance&issn=0378-4266&date=2000-03&volume=24&issue=3&spage=395&aulast=Narayanan&aufirst=Ranga&atitle=Insider Trading and the Voluntary Disclosure of Information by Firms&sid=InfoSource Journal: Journal of Banking and FinanceISSN: 0378-4266Date: 2000-03Volume: 24Issue: 3Page: 395 Author: Narayanan, RangaTitle: Insider Trading and the Voluntary Disclosure of Information by Firms Article metadata is tagged using predefined element set. Genre is added to give the resolver information on the nature of the item being referenced. The source of the link is added as an “SID”. http://lib.example.edu/resolver.cgi Title=Journal of Banking and Finance&issn=0378-4266&date=2000-03&volume=24&issue=3&spage=395&aulast=Narayanan&aufirst=Ranga&atitle=Insider Trading and the Voluntary Disclosure of Information by Firms&sid=InfoSource Add the address and now the link is ready. Address The OpenURL is a self-contained link very much tied to HTTP protocol.
OpenURL 0.1 - limitations Context of link limited to-resolver (address) -item-source (sid) HTTP Transport Title=Journal of Banking and Finance&issn=0378-4266&date=2000-03&volume=24&issue=3&spage=395&aulast=Narayanan&aufirst=Ranga&atitle=Insider Trading and the Voluntary Disclosure of Information by Firmssid=InfoSource Address genre=article&title=Journal of Banking and Finance&issn=0378-4266&date=2000-03&volume=24&issue=3&spage=395&aulast=Narayanan&aufirst=Ranga&atitle=Insider Trading and the Voluntary Disclosure of Information by Firms&sid=InfoSource Allowable metadata genres and elements pre-defined with no means to define new ones Only provides for key-value pair (HTTP GET or POST) representation of metadata. OpenURL 0.1 is tied to HTTP transport
Why OpenURL as a NISO standard? • Ensure wide acceptance • Address specific shortcomings • Support additional genres • Support richer data formats • Provide more complete context description • Allow ability to send request “by reference” • Support transports other than HTTP • Provide environment for OpenURL to evolve in a controlled way
OpenURL 0.1 (genres) Journal Article Preprint Book Book item Conference Proceeding OpenURL 1.0 (format/genres) Journal Journal Issue Article Conference Proceeding Preprint Book Book Book item Report Document Dissertation Patent Dublin CORE Others can be registered New genres
OpenURL 0.1 Physical representation Key encoded values OpenURL 1.0 Physical representation Key encoded values XML Others can be registered Constraint languages Matrix XML Schema Others can be registered Richer data formats
Goals of the standard • Create an OpenURL Framework • Separate the “information package” from the transport • Formalize the “framework” for the information package and for OpenURL itself • Provide a means to extend • Allow practical application of a generalized framework
Deliverables from NISO Committee AX • 2 part standard • Part 1: General Framework • Part 2: Initial Registry content • Registry • Community profiles • Implementation guidelines
Part 1: Context Object and Transport Mechanisms • Defines the general framework for bundling contextual metadata • Introduces the ContextObject • Defines “Formats” and other elements • Defines the registry • Defines the notion of Community Profiles
OpenURL 0.1 example In original OpenURL, you can see the information package can be separated. It contains the genre, the item description and the referrer. http://lib.example.edu/resolver.cgi? genre=article&title=Journal of Banking and Finance&issn=0378-4266&date=2000-03&volume=24&issue=3&spage=395&aulast=Narayanan&aufirst=Ranga&atitle=Insider Trading and the Voluntary Disclosure of Information by Firms&sid=InfoSource However, nothing within this package describes the nature what is in the package. It is just assumed to be key-value pair and based on “genre” only one element set. It does not accommodate different character encodings. To offer ability to extend to different element sets, and representations (e.g. XML), this information package must contain information about its make up.
The “ContextObject” • The “information package” • At the heart of the standard • Describes a referenced item and the context within which it is being referenced • Allows independence from transport method • Formalizes expression of context
The “ContextObject” contains… Version control, character encodings, timestamp, etc. Administrative Referent Item being referenced. E.G. bibliographic reference in full text article. “User” making the request Service creating the link. E.G. where the user found the reference. Requester Referrer The item which contains the reference. E.G. the article in which the bibliographic reference was found. ReferringEntity Resolver ServiceType The target of the link. E.G. the link server of the user’s institution The desired services from the Resolver. E.G. Full text, ILL, Abstract, etc.
KEV “ContextObject” example Administrative Referent Referrer Resolver ContextObject ctx_ver=Z39.88-2004&ctx_tim=2003-10-26& Administrative ctx_ver=Z39.88-2004&ctx_tim=2003-10-26& rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.title=Journal of Banking and Finance&rft.issn=0378-4266&rft.date=2000-03&rft.volume=24&rft.issue=3&rft.spage=395&rft.aulast=Narayanan&rft.aufirst=Ranga&rft.atitle=Insider Trading and the Voluntary Disclosure of Information by Firms& rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.title=Journal of Banking and Finance&rft.issn=0378-4266&rft.date=2000-03&rft.volume=24&rft.issue=3&rft.spage=395&rft.aulast=Narayanan&rft.aufirst=Ranga&rft.atitle=Insider Trading and the Voluntary Disclosure of Information by Firms& Referent rfr_id=info:sid/InfoSource.com& res_id=http://lib.example.edu/resolver.cgi Referrer Resolver rfr_id=info:sid/InfoSource.com& res_id=http://lib.example.edu/resolver.cgi
KEV “ContextObject” example Administrative ctx_ver=Z39.88-2004&ctx_tim=2003-10-26& Referent rft_val_fmt=info:ofi/fmt:kev:mtx:journalrft.genre=article&rft.title=Journal of Banking and Finance&rft.issn=0378-4266&rft.date=2000-03&rft.volume=24&rft.issue=3&rft.spage=395&rft.aulast=Narayanan&rft.aufirst=Ranga&rft.atitle=Insider Trading and the Voluntary Disclosure of Information by Firms& Referrer rfr_id=info:sid/InfoSource.com& Administrative Resolver ctx_ver=Z39.88-2003&ctx_tim=2003-10-26& res_id=http://lib.example.edu/resolver.cgi Referent rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.title=Journal of Banking and Finance&rft.issn=0378-4266&rft.date=2000-03&rft.volume=24&rft.issue=3&rft.spage=395&rft.aulast=Narayanan&rft.aufirst=Ranga&rft.atitle=Insider Trading and the Voluntary Disclosure of Information by Firms& Referrer rfr_id=info:sid/InfoSource.com& Resolver res_id=http://lib.example.edu/resolver.cgi http://lib.example.edu/resolver.cgi?url_ver=Z39.88-2003&url_tim=2003-10-25&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx& HTTP Transport To make OpenURL we add the URL of the resolver. Note the additional descriptive information. url_ctx_fmt tag says that the ContextObject in the back of the transport is formatted using key/encoded values (KEV) as describe by the matrix (MTX) for the ContextObject (CTX) that is found on the registry using the identifier:info:ofi/fmt:kev:mtx:ctx Load ContextObject on transport http://lib.example.edu/resolver.cgi?url_ver=Z39.88-2004&url_tim=2003-10-25&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx& Address and packing slip to driver
KEV “ContextObject” example Administrative ctx_ver=Z39.88-2003&ctx_tim=2003-10-26& Referent rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.title=Journal of Banking and Finance&rft.issn=0378-4266&rft.date=2000-03&rft.volume=24&rft.issue=3&rft.spage=395&rft.aulast=Narayanan&rft.aufirst=Ranga&rft.atitle=Insider Trading and the Voluntary Disclosure of Information by Firms& Referrer rfr_id=info:sid/InfoSource.com& Resolver res_id=http://lib.example.edu/resolver.cgi http://lib.example.edu/resolver.cgi?url_ver=Z39.88-2003&url_tim=2003-10-25&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx& HTTP Transport Link is ready for clicking. The payload of the link, the ContextObject is on the back, the driver has the address (baseURL) and there is the packing slip that describes to the recipient what is in the back and how it can be interpreted
Format A concrete method of expression for a class of information constructs. It is a triple comprising: (1) a Physical Representation; (2) a Constraint Language; and (3) a set of constraints expressed in that Constraint Language
Example of metadata “Format” info:ofi/fmt:kev:mtx:journal The actual set of elements that have been defined. Namespace: to do with OpenURL Constraint language is a table (matrix). This is the form used to describe the list of possible elements. Other examples are DTD or XML Schema. Describing a format Physical element representation is key-encoded- values. E.G. aulast=Smith
ContextObject Format Metadata Format Using Format in a sentence http://example.org/myResolver?url_ver=z39.88-2004&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rfr_id=info:sid/myid.com:mydb&rft_id=info:doi/10.1126/science.275.5304.1320&rft_id=info:pmid/9036860&rft.genre=article &rft.atitle=Isolation of a common receptor for coxsackie B&rft.title=Science&rft.aulast=Bergelson&rft.auinit=J&rft.date=1997 …
Administrative Referent Requester Referrer ReferringEntity Resolver ServiceType Elements of the general Framework ContextObject • Entities • ContextObject Formats • Metadata Formats • Identifiers • Namespaces • Character encodings • Transports • Profiles
Part 2: Initial Registry Content • KEV and XML OpenURL instances • Bootstrap standard for initial use by scholarly information community • Defines HTTP-based transport methods
Registry Entries • Namespaces • Character encodings • Physical representations • Constraint languages • ContextObject Formats • Metadata Formats • Transports • Community Profiles
Community Profiles • San Antonio Level 1 • Built around Key/Encoded Value • Provide close compatibility with original OpenURL • Metadata Formats support new genres • San Antonio Level 2 • Built around XML representations • Similar Metadata Formats as SAP1 • Dublin Core • XML based • Dublin Core Metadata Format
Implementation Guidelines • Centered on SAP1 • For implementers • Describe necessary bits of the standard • How to create KEV OpenURLs • Demonstrates the upgrade path from OpenURL 0.1 to OpenURL 1.0 • Includes hybrid OpenURLs
The future for OpenURL • Adoption of OpenURL 0.1 very solid • OpenURL 1.0 can be extended to meet evolving needs • Provides focal point standardizing link-to syntaxes • Potential use in server-to-server applications
Evolving Challenges • Adoption of the standard • Data quality issues • Knowledgebase • Identifiers • Authentication • Extending interest within scholarly information communities and beyond
Next steps though NISO • Standard will go to ballot • Assign Maintenance Agency • Advisory Committee • Registration policies • Assign Registration Agency • Facilitate community interest groups • Develop new uses for OpenURL or ContextObject • Create additional profiles • Register additional metadata formats and identifier namespaces
Thank you Oliver Pesch opesch@epnet.com