Upload
jacob-white
View
222
Download
0
Tags:
Embed Size (px)
Citation preview
OpenURL and OpenURL Framework: Demystifying
Link Resolution
The promise of OpenURL 1.0
Oliver PeschChief Architect, EBSCO Publishing
ContextObject
Referent
Referrer
Requester
Resolver
ReferringEntity
Namespace
Registry
OFI
URI
URI
Profiles
Encoding
KEV
XML
SchemaBy Reference
By ValueIdentifiers
Metadata formats
Service types
HTTP
HTTPS
GET
POSTUTF-8
OpenURL 1.0OpenURL 1.0
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
Full textDBs
Full textDBs
EhostEJS
EhostEJS
GoogleGoogle
ISIISI
BritishLibraryBritishLibrary
A&IserviceA&I
service
Publishersites
Publishersites
ingentaingenta
Scholarly institutions have many resources from many vendors
Full textDBs
Full textDBs
EhostEJS
EhostEJS
GoogleGoogle
ISIISI
BritishLibraryBritishLibrary
A&IserviceA&I
service
Publishersites
Publishersites
ingentaingenta
Some services offer links to selective resources
User
Full textDBs
Full textDBs
EhostEJS
EhostEJS
GoogleGoogle
ISIISI
BritishLibraryBritishLibrary
A&IserviceA&I
service
Publishersites
Publishersites
ingentaingenta
User
Some services offer links to selective resources
EhostEJS
EhostEJS
GoogleGoogle
ISIISI
BritishLibraryBritishLibrary
A&IserviceA&I
service
Publishersites
Publishersites
ingentaingenta
Predefined links inconsistent and their management complex
Full textDBs
Full textDBs
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.
For the online service it is a burden to try and link to each other with only bi-lateral agreements
Strict service-to-service linking DOES NOT SCALE and often does not involve the library.
Full textDBs
Full textDBs
EhostEJS
EhostEJS
GoogleGoogle
ISIISI
BritishLibraryBritishLibrary
A&IserviceA&I
service
Publishersites
Publishersites
ingentaingenta
Introducing a link resolver allows morecomprehensive and easier to manage linking
Link Resolver
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
Full textDBs
Full textDBs
EhostEJS
EhostEJS
GoogleGoogle
ISIISI
BritishLibraryBritishLibrary
A&IserviceA&I
service
Publishersites
Publishersites
ingentaingenta
User
A
ALibrary subscribes
Pay per view$$$
Without link resolver user may notaccess the appropriate copy
With a predefined link, the user may be presented with a link and not have a choice where that link goes
Full textDBs
Full textDBs
EhostEJS
EhostEJS
GoogleGoogle
ISIISI
BritishLibraryBritishLibrary
A&IserviceA&I
service
Publishersites
Publishersites
ingentaingenta
User
A
ALibrary subscribes
Pay per view$$$
LinkResolver
With a link resolver the institution candetermine which copy is appropriate
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.
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
INFORMATIONSOURCE
INFORMATIONSOURCE
Link Resolver
OpenURL
http://lib.example.edu/resolver.cgi
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
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 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.
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
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
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
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
OpenURL 0.1
HTTP TransportTitle=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
http://lib.example.edu/resolver.cgi
Address
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”.
Add the address and now the link is ready.
The OpenURL is a self-contained link very much tied to HTTP protocol.
OpenURL 0.1 - limitations
HTTP TransportTitle=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
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
OpenURL 0.1 is tied to HTTP transport
Only provides for key-value pair (HTTP GET or POST) representation of
metadata.
Allowable metadata genres and elements pre-defined with no
means to define new ones
Context of link limited to-resolver (address) -item-source (sid)
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
New genres
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
Richer data formats
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
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
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
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
http://lib.example.edu/resolver.cgi?http://lib.example.edu/resolver.cgi?
In original OpenURL, you can see the information package can be separated. It contains the genre, the item description and the referrer.
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…
ServiceType
Referent
Resolver
ReferringEntity
Referrer
Requester
AdministrativeVersion control, character encodings,
timestamp, etc.
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.
The item which contains the reference. E.G. the article in which the bibliographic
reference was found.
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.
Referent
Resolver
Referrer
Administrative
KEV “ContextObject” example
rfr_id=info:sid/InfoSource.com&
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&
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&
res_id=http://lib.example.edu/resolver.cgi
res_id=http://lib.example.edu/resolver.cgi
ctx_ver=Z39.88-2004&ctx_tim=2003-10-26&ctx_ver=Z39.88-2004&ctx_tim=2003-10-26&ctx_ver=Z39.88-2004&
ctx_tim=2003-10-26&
rfr_id=info:sid/InfoSource.com&rfr_id=info:sid/InfoSource.com&
Reso
lver
Referrer
Referent
AdministrativeContextObject
KEV “ContextObject” example
HTTP Transport
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&
Referent
Resolver
Referrer
Administrative
rfr_id=info:sid/InfoSource.com&
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&
res_id=http://lib.example.edu/resolver.cgi
ctx_ver=Z39.88-2003&ctx_tim=2003-10-26&
Referent
Resolver
Referrer
Administrative
rfr_id=info:sid/InfoSource.com&
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&
res_id=http://lib.example.edu/resolver.cgi
ctx_ver=Z39.88-2004&ctx_tim=2003-10-26&
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&
Load ContextObject on 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
Address and packing slip to driver
KEV “ContextObject” example
HTTP Transport
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&
Referent
Resolver
Referrer
Administrative
rfr_id=info:sid/InfoSource.com&
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&
res_id=http://lib.example.edu/resolver.cgi
ctx_ver=Z39.88-2003&ctx_tim=2003-10-26&
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
Physical element representation is key-encoded- values. E.G.
aulast=Smith
Example of metadata “Format”
info:ofi/fmt:kev:mtx:journal
Describing a format
Namespace: to do with
OpenURLConstraint language is a table (matrix). This is the form used to describe the list of possible elements. Other examples
are DTD or XML Schema.
The actual set of elements that have been defined.
Matrix for info:ofi/fmt:kev:mtx:journal
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…
ContextObject Format
Metadata Format
Using Format in a sentence
Elements of the general Framework
ServiceType
Referent
Resolver
ReferringEntity
Referrer
Requester
Administrative •Entities
•ContextObject Formats
•Metadata Formats
•Identifiers
•Namespaces
•Character encodings
•Transports
•Profiles
ContextObject
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
http://www.openurl.info/registry
ContextObject Formats
KEV ContextObject Format
KEV ContextObject Format
Metadata formats in registry
Journal KEV Metadata Format
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