SSP 25 th Annual Meeting: “Navigating Change” Linking Seminar Implementing OpenURL 1.0 (Updated...
-
Upload
annabella-bond -
Category
Documents
-
view
214 -
download
0
Transcript of SSP 25 th Annual Meeting: “Navigating Change” Linking Seminar Implementing OpenURL 1.0 (Updated...
SSP 25th Annual Meeting: “Navigating Change”
Linking Seminar
Implementing OpenURL 1.0(Updated Oct-31-2003 to match standard sent to ballot)
Oliver PeschChief Architect, EBSCO Publishing
ContextObject
Referent
Referrer
Requester
Resolver
Referring Entity
Namespace
Registry
ORI
URI
URI
Profiles
Encoding
KEV
XML
SchemaBy Reference
By ValueIdentifiers
Metadata formats
Service types
HTTP
HTTPS
GET
POSTUTF-8
OpenURL 1.0OpenURL 1.0
Overview
Why OpenURL 1.0 Definitions ContextObject and related “entities” San Antonio Profile Becoming a compliant source
OpenURL 0.1 example
http://example.org/myResolver?sid=myid:mydb&id=doi:10.1126/science.275.5304.1320&id=pmid:9036860&genre=article&atitle=Isolation of a common receptor
for coxsackie B&title=Science&aulast=Bergelson&auinit=J&date=1997&volume=275&spage=1320&epage=1323
BaseURL
Source
Item
Why OpenURL 1.0
Represent new genres Richer metadata options Version control More complete context description Ability to send request “by reference” Extensible
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 metadata formats
OpenURL 0.1 Key-value pairs Limited pre-set list of
elements
OpenURL 1.0 Key-value pairs XML MARC Other formats can be
registered Options for element
sets New data elements can
be registered
Describing “context”
Up to six entities to describe item and context Referent (item being referenced) Referrer (site sending request) Resolver (site request is being sent to) Requester (user making request) Referring entity (article containing reference) Service type (what the resolver should do)
New terminology
ContextObject
An information construct that binds a description of a primary entity -- the referenced resource -- together with descriptions of entities that indicate the context of the reference to the referenced resource.
New terminology
Entity
One of the six possible constituents of a ContextObject: Referent, Requester, Referrer, Resolver, ReferringEntity, or ServiceType
New terminology
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
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.
The actual set of elements that have been defined.
Metadata formats in registry
Info:ofi/fmt:kev:mtx:journalInfo:ofi/fmt:kev:mtx:journal
ContextObject format
Metadata format
Using Format in a sentence
http://example.org/myResolver?url_ver=z39.88-2003&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rfr_id=ori:rfr:myid.com:mydb&rft_id=ori:doi:10.1126/science.275.5304.1320&rft_id=ori:pmid:9036860
Journal KEV Metadata Format
New terminology
Transport
A Transport is a network protocol and the method in which it is used to convey representations of ContextObjects.
OpenURL is about “transporting” ContextObjects using HTTP GET and POST.
New terminology
By-Value OpenURL
An OpenURL in which all of the metadata and identifiers for the entities are included as part of the request.
Example of By-Value OpenURL
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 &atitle=Isolation of a common receptor
for coxsackie B&rft.title=Science&rft.aulast=Bergelson&rft.auinit=J&rft.date=1997…
New terminology
By-Reference OpenURLAn OpenURL in which the initial request contains a pointer to the ContextObject being referenced.
Optionally, an entity within a ContextObject can be pointed to.
The ContextObject can be created as a stand-alone file on a web server, then referred to. Can reduce size of web pages and amount of data transferred.
Example of By-Value OpenURL
http://example.org/myResolver?url_ver=Z39.88-2004&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx
&url_ctx_ref=http://www.example.org/objects/1234.txt
Declares that this ContextObject (ctx) is being passed by reference (ref)
Network location of ContextObject
ContextObject
Describes item and its context Uses up to six entities: Referent, Resolver,
Referrer, Requester, Referring Entity and Service Type
Can be described separately from its transport
OpenURL is the HTTP GET or POST transport of a ContextObject
OpenURL 0.1 example
http://example.org/myResolver?sid=myid:mydb&id=doi:10.1126/science.275.5304.1320&id=pmid:9036860&genre=article&atitle=Isolation of a common receptor
for coxsackie B&title=Science&aulast=Bergelson&auinit=J&date=1997&volume=275&spage=1320&epage=1323
Resolver
Referrer
Referent
New Entities in OpenURL 1.0 Requester
Allow the identity of the user to be passed to the resolver. Identification not authentication
Referring Entity For links from references in other articles Identity of article where reference found in can be
important context Don’t create link back to this article Use information about that article to tailor results
Service Type Define what “services” to present the user.
Full text, interlibrary loan, abstract record, etc.
Why separate ContextObject from its transport?
Assumptions: Notion of describing an item and its context has
value beyond simple HTML-based linking applications of today
Communication between link resolvers reasonable (see Jenny’s examples)
Using Microsoft SOAP or other protocols can be more efficient in some applications
Conclusion: Separating standard into parts allows more
flexible options for future growth.
Dealing with complexity
OpenURL 0.1 was simple because it was hardwired
ContextObjects OpenURL 1.0 is extensible and flexible and much more abstract
Many options for implementation and extension can lead to confusion and interoperability problems
Community Profiles introduced to simplify implementation
San Antonio Profile
Represents view of scholarly information community List of choices for implementing OpenURL
Framework. For example: Physical Representations (KEV, XML, etc.) Constraint languages (Matrix, Schema, etc.) ContextObject Format Metadata formats (Journal, Book, etc.) Transports (HTTP GET and PUT)
Provides a roadmap for building compliant sources and targets
Implementing OpenURL 1.0
Goals Keep it simple Use data already available (tagged metadata,
DOI) Stick to widely accepted approaches
Implementing OpenURL 1.0
Recommended approach to take: Base on San Antonio Profile Start with key-encoded-values for metadata Inline representation of keys and values Tag data elements according to the registered
metadata formats (e.g. ori:fmt:kev:mtx:journal) Stick to the required entities
Resolver (baseURL) Referent Referrer
Create links on-the-fly
Building an OpenURL
http://resolver.example.org? Start with the BaseURL
Building an OpenURL
http://resolver.example.org?
url_ver=Z39.88-2004
&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx
Add the fixed elements
Version
Declare format for ContextObject
Building an OpenURL
http://resolver.example.org?
url_ver=Z39.88-2004
&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx
&rfr_id=info:sid/publisher.com
Add the referrer
Identifier for referrer
OpenURL “Source ID” Domain of referrer
The tag for Referrer (rfr) ID
Building an OpenURL
http://resolver.example.org?
url_ver=Z39.88-2004
&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx
&rfr_id=info:sid/publisher.com
&rft_id=info:doi/10.1126/science.275.5304.1320
&rft_id=info:pmid/9036860
Add the referent
Include identifiers
Building an OpenURL
http://resolver.example.org?
url_ver=Z39.88-2004
&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx
&rfr_id=info:sid/publisher.com
&rft_id=info:doi/10.1126/science.275.5304.1320
&rft_id=info:pmid/9036860
&rft_val_fmt=info:ofi/fmt:kev:mtx:journal
Add the referent
Declare the metadata format
Shows referent (rft) format (fmt) is by value (val)
Indicates we are using key-encoded-values (kev) as
defined in the “journal” matrix (mtx) in the registry.
Building an OpenURL
http://resolver.example.org?
url_ver=Z39.88-2004
&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx
&rfr_id=info:sid/publisher.com
&rft_id=info:doi/10.1126/science.275.5304.1320
&rft_id=info:pmid/9036860
&rft_val_fmt=info:ofi/fmt:kev:mtx:journal
&rft.genre=article
&rft.atitle=Isolation of a common receptor for …
&rft.jtitle=Science
&rft.aulast=Bergelson
&rft.auinit=J
…
Add the referent
Add the metadata elements
Substitute actual values for the item being referenced
Where to add OpenURL links
Citation/Abstract display OpenURL would allow the user’s institution to
control access to alternate copy’s, order through document delivery, etc.
List of references for article Must have separately tagged elements Allow user to access to appropriate copy for
referenced item
Example of OpenURL Link
Example of OpenURL Link
When to add OpenURL links
Show links if a customer has a link resolver The customer-specific BaseURL – the link to
their resolver – is primary building block of OpenURL
Allow customer to indicate they have a resolver: Store BaseURL as customer-specific data in an
admin option Use of a cookie to indicate BaseURL
(http://www.sfxit.com/openurl/cookiepusher.html)
References The OpenURL Framework for Context-Sensitive Services
http://library.caltech.edu/openurl/PubComDocs/StdDocs/Part1-PC-20030513.pdf
The OpenURL Framework for Context-Sensitive Services – Part 2 http://library.caltech.edu/openurl/PubComDocs/StdDocs/Part2-PC-20030513.pdf
The San Antonio Level 1 Community Profile (SAP1): Implementation Guidelines http://library.caltech.edu/openurl/PubComDocs/StdDocs/SAP1_Guidelines-20030425.pdf
Registry for the OpenURL Framework - ANSI/NISO Z39.88-2003 http://alcme.oclc.org/openurl/servlet/OAIHandler?verb=ListSets
Cookie Pusher Document http://www.sfxit.com/openurl/cookiepusher.html
OpenURL 0.1 http://www.sfxit.com/openurl/openurl.html