Title: SSP Linking Implementation Preconference
1Z39.88-2004The OpenURL Framework
forContext-Sensitive Services
Herbert Van de Sompel Los Alamos National
Laboratory Thanks for the nice slides Oliver
Pesch Chief Architect, EBSCO Publishing
2Registry
Referrer
ReferringEntity
By Reference
Schema
Namespace
POST
KEV
UTF-8
ContextObject
Z39.88-2004
Profiles
Service types
Referent
URI
Metadata formats
HTTPS
OFI
Resolver
By Value
Identifiers
URI
XML
GET
HTTP
Requester
Encoding
3Topics
- What is a 0.1 OpenURL?
- Why the NISO OpenURL Standard?
- A tour of the NISO OpenURL Standard
4What 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
- The concept of context-sensitive linking
implemented for a specific class of resources
(some) scholarly assets
5OpenURL 0.1
6OpenURL 0.1
Link Resolver
INFORMATION SOURCE
http//lib.example.edu/resolver.cgi
7OpenURL 0.1
genrearticletitleJournal of Banking and
Financeissn0378-4266date2000-03volume24
issue3spage395aulastNarayananaufirstRang
aatitleInsider Trading and the Voluntary
Disclosure of Information by Firms
sidInfoSource
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
TitleJournal of Banking and Financeissn0378-42
66date2000-03volume24issue3spage395a
ulastNarayananaufirstRangaatitleInsider
Trading and the Voluntary Disclosure
of Information by FirmssidInfoSource
http//lib.example.edu/resolver.cgi
Address
8OpenURL 0.1
9OpenURL 0.1 - limitations
genrearticletitleJournal of Banking and
Financeissn0378-4266date2000-03volume24
issue3spage395aulastNarayananaufirstRang
aatitleInsider Trading and the Voluntary
Disclosure of Information by
FirmssidInfoSource
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
10 Why the NISO OpenURL Standard?
- Ensure wide acceptance
- Facilitate emergence of Context-Sensitive Service
Applications beyond the original OpenURL 0.1
community - Address specific OpenURL 0.1 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 an environment for OpenURL Applications
to evolve in a controlled way
11 NISO OpenURL Standard
- A very generic specification that allows to
implement OpenURL Applications - OpenURL Applications networked applications that
implement the concept of context-sensitive
services for a certain class of resources - Based on generalization of original OpenURL ideas
in D-Lib Bison-Fute paper
12 NISO OpenURL Standard
- Core Concept 1 The ContextObject
- An information package that describes a
referenced resource and the context within which
it is being referenced - ContextObject has abstract definition (data
model). - The data model can be instantiated via different
representations KEV, XML, RDF,
13 NISO OpenURL Standard
- Core Concept 2 Transport of a ContextObject
- The idea is that ContextObjects will be
transported in OpenURL Applications - Reason of transportation of a ContextObject
probably the request of services pertaining to
the referenced resource - Transport of ContextObject is decoupled from
representation of ContextObject gt Can transport
ContextObjects over HTTP, HTTPS, SOAP, OAI-PMH,
14networked resource
15Deliverables from Committee AX
- 4 part standard
- Part 1 ContextObject Transport
- Part 2 KEV ContextObject Format
- Part 3 XML ContextObject Format
- Part 4 OpenURL HTTP(s) based - Transports
- Registry
- Community profiles SAP-1 , SAP-2
- Implementation guidelines
16Part 1 ContextObject and Transports
- Defines the general framework for specifying
OpenURL Applications - Introduces the ContextObject data model
- Introduces what it takes to represent a
ContextObject - Introduces Transports
- Defines Community Profiles as a means to define
OpenURL Applications - Defines the OpenURL Registry
17ContextObject
- An information construct with descriptions of 6
Entities - Referent (the resource that is being referenced)
- Entities that make up the context in which the
Referent is referenced - ReferringEntity (the resource that references
the Referent) - Requester (the agent initiating the
transportation of the ContextObject) - ServiceType (the purpose of transportation)
- Resolver (the target of transportation)
- Referrer (the system providing the ContextObject)
18reference
19ContextObject
- Entities of the ContextObject can be described by
means of the 1-4 Descriptors - Identifiers many Namespaces
- By-Value Metadata many Metadata Formats
- By-Reference Metadata many Metadata Formats
- Private Data
20(No Transcript)
21(No Transcript)
22reference
23reference
24ContextObject Format
- Standard introduces interesting formalization of
a Format as a triple consisting of choice for - Serialization i.e. KEV, XML
- Constraint Language i.e. Z39.88-2004 Matrix, XML
Schema Language - Constraint Definition i.e. an XML Schema created
to convey book metadata
25ContextObject Format
- The triple-formalism is used for
- Metadata Formats to describe Entities
- ContextObject Format to represent ContextObjects
- The triple-formalism is revealed in Registry
Identifiers for Metadata Formats ContextObject
Formats - infoofi/fmtkevmxtbook
- infoofi/fmtxmlxsdctx
26(No Transcript)
27reference
28Transports
- A representation of a ContextObject can be
transported in different ways, e.g. - HTTP(S) GET/POST
- SOAP
- OAI-PMH
-
29reference
30Registry
- At http//www.openurl.info/registry/
- Contains entries for all choices of the core
components of the OpenURL Framework - Registry comes pre-loaded to facilitate an
OpenURL Application similar to OpenURL 0.1 - New entries can be registered
- Entries have Registry Identifiers in infoofi/
namespace
31(No Transcript)
32Community Profiles
- A Community Profile summarizes the choices of
core components of the OpenURL Framework for the
creation of a specific OpenURL Application - Machine readable, format defined by XML Schema
- Currently in Registry infoofi/prosap-1 ,
infoofi/prosap-2
33scholarly information community
http//www.openurl.info/registry/
xyz community
34Part 2 KEV ContextObject Format
- Represents a ContextObject as a list of
ampersand-delimited Key/Encoded-Value pairs - Similar to payload of OpenURL 0.1
- But extensible
- Format triple is (kev,mtx,ctx)
- Illustrated here for use in OpenURL Application
similar to OpenURL 0.1
35(No Transcript)
36(No Transcript)
37OpenURL 0.1 example
http//lib.example.edu/resolver.cgi?
http//lib.example.edu/resolver.cgi?genrearticle
titleJournal of Banking and Financeissn0378-
4266date2000-03volume24issue3spage395
aulastNarayananaufirstRangaatitleInsider
Trading and the Voluntary Disclosure
of Information by FirmssidInfoSource
genrearticle titleJournal of Banking and
Finance issn0378-4266 date2000-03
volume24 issue3 spage395
aulastNarayanan aufirstRanga
atitleInsider Trading and the Voluntary
Disclosure of Information by Firms
sidInfoSource
38And the ContextObject is
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 users institution
The desired services from the Resolver. E.G.
Full text, ILL, Abstract, etc.
39KEV ContextObject
40KEV ContextObject
genrearticletitleJournal of Banking and
Financeissn0378-4266date2000-03volume24
issue3spage395aulastNarayananaufirstRang
aatitleInsider Trading and the Voluntary
Disclosure of Information by Firms
sidInfoSource
rfr_idinfosid/InfoSource.com
rfr_idinfosid/InfoSource.com
TitleJournal of Banking and Financeissn0378-42
66date2000-03volume24issue3spage395a
ulastNarayananaufirstRangaatitleInsider
Trading and the Voluntary Disclosure
of Information by Firms
http//lib.example.edu/resolver.cgi
Address
41KEV ContextObject
rft_val_fmtinfoofi/fmtkevmtxjournalrft.genr
earticlerft.titleJournal of Banking and
Financerft.issn0378-4266rft.date2000-03rft
.volume24rft.issue3rft.spage395rft.aulast
Narayananrft.aufirstRangarft.atitleInsider
Trading and the Voluntary Disclosure
of Information by Firms
genrearticletitleJournal of Banking and
Financeissn0378-4266date2000-03volume24
issue3spage395aulastNarayananaufirstRang
aatitleInsider Trading and the Voluntary
Disclosure of Information by Firms
rft_val_fmtinfoofi/fmtkevmtxjournal
rft.genrearticlerft.titleJournal of Banking
and Financerft.issn0378-4266rft.date2000-03
rft.volume24rft.issue3rft.spage395rft.au
lastNarayananrft.aufirstRangarft.atitleInsi
der Trading and the Voluntary
Disclosure of Information by Firms
rfr_idinfosid/InfoSource.com
http//lib.example.edu/resolver.cgi
res_idhttp//lib.example.edu/resolver.cgi
res_idhttp//lib.example.edu/resolver.cgi
42KEV ContextObject
ctx_verZ39.88-2004ctx_tim2003-10-26
ctx_verZ39.88-2004ctx_tim2003-10-26
rft_val_fmtinfoofi/fmtkevmtxjournal
rft.genrearticlerft.titleJournal of Banking
and Financerft.issn0378-4266rft.date2000-03
rft.volume24rft.issue3rft.spage395rft.au
lastNarayananrft.aufirstRangarft.atitleInsi
der Trading and the Voluntary
Disclosure of Information by Firms
rfr_idinfosid/InfoSource.com
res_idhttp//lib.example.edu/resolver.cgi
http//lib.example.edu/resolver.cgi
43Example of KEV Metadata Format
The class of resources that can be described.
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
Serializationis Key/Encoded- Value. E.G.
aulastSmith
44(No Transcript)
45Part 3 XML ContextObject Format
- Represents a (list of) ContextObject(s) as an XML
document - Format triple is (xml,xsd,ctx)
- Far more expressive than KEV ContextObject Format
46Part 4 OpenURL Transports
- 3 types of HTTP(S)-based manners to Transport
ContextObjects - For all representations of ContextObjects
- By-Reference OpenURL
- By-Value OpenURL
- For KEV ContextObjects only
- Inline OpenURL (very similar to OpenURL 0.1)
- Flag on OpenURL identifies ContextObject Format
- url_ctx_fmtinfoofi/fmtkevmtxctx
47KEV ContextObject, Inline OpenURL
http//lib.example.edu/resolver.cgi?url_verZ39.8
8-2004url_tim2003-10-25url_ctx_fmtinfoofi/f
mtkevmtxctx
http//lib.example.edu/resolver.cgi
http//lib.example.edu/resolver.cgi?url_verZ39.8
8-2003url_tim2003-10-25url_ctx_fmtinfoofi/f
mtkevmtxctx
48KEV ContextObject, Inline OpenURL
49Inline OpenURL
- http//example.org/myResolver?url_verz39.88-2004
url_ctx_fmtinfoofi/fmtkevmtxctx - rft_val_fmtinfoofi/fmtkevmtxjournalrf
r_idinfosid/myid.commydbrft_idinfodoi/10.11
26/science.275.5304.1320rft_idinfopmid/9036860
rft.genrearticle rft.atitleIsolation of a
common receptor for coxsackie Brft.titleScience
rft.aulastBergelsonrft.auinitJrft.date199
7 -
50By-Reference OpenURL
- http//example.org/myResolver?url_verz39.88-2004
url_ctx_fmtinfoofi/fmtxmlxsdctx - url_ctx_refhttp//www.example.org/my_ctx.xml
51By-Value OpenURL
- http//example.org/myResolver?url_verz39.88-2004
url_ctx_fmtinfoofi/fmtxmlxsdctx - url_ctx_vallt?xml .gtltctxcontext-objectgt.
Would typically use this with HTTP(S) POST
52Implementation Guidelines
- Centered on SAP-1
- 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
53New use cases?
54LANL aDORe repository
id_1
repository
OpenURL
id_2
id_3
id_1 . id_16
55travelling shopping cart?
56To summarize Big Picture
57- Architecture for context-sensitive services
- Framework for the representation and
transportation of contextual information
Registry - Allows for the emergence of OpenURL Applications
- Address
- Architecture for context-sensitive links in
scholarly information environment - HTTP GET syntax for scholarly information
- Address the appropriate copy problem
mountain of context-sensitive services
58mountain of context-sensitive services
59mountain of context-sensitive services