400 likes | 494 Views
Join Oliver Pesch at the 25th Annual Meeting of SSP to learn about OpenURL 1.0, discussing rich metadata options, version control, and more. Explore new genres and formats, key-value pairs, and metadata descriptions for enhanced context. Discover the concept of ContextObject and its entities. Get insights on defining formats and transports for efficient information conveyance.
E N D
SSP 25th Annual Meeting: “Navigating Change” Linking Seminar Implementing OpenURL 1.0(Updated Oct-31-2003 to match standard sent to ballot) Oliver Pesch Chief Architect, EBSCO Publishing opesch@epnet.com
Registry Referrer Referring Entity By Reference Schema Namespace POST UTF-8 KEV ContextObject OpenURL 1.0 Profiles Service types Referent URI Metadata formats HTTPS ORI By Value Resolver Identifiers URI XML GET HTTP Requester Encoding
Overview • Why OpenURL 1.0 • Definitions • ContextObject and related “entities” • San Antonio Profile • Becoming a compliant source
OpenURL 0.1 example BaseURL 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 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
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 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 Richer metadata formats
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
Example of metadata “Format” info:ofi/fmt:kev:mtx:journal The actual set of elements that have been defined. 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
Metadata formats in registry Info: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
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 OpenURL An 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 Network location of ContextObject Declares that this ContextObject (ctx) is being passed by reference (ref)
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 Resolver 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 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
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 Building an OpenURL Version Declare format for ContextObject
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 Building an OpenURL Identifier for referrer OpenURL “Source ID” Domain of referrer The tag for Referrer (rfr) ID
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 Building an OpenURL Include identifiers
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 Building an OpenURL 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.
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 Building an OpenURL 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
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
Thank you Oliver Pesch opesch@epnet.com