310 likes | 456 Views
Linking digital objects and standardisation of URL’s. Linking electronic documents and standardisation of URL’s. What can libraries do to enhance dynamic linking and bring related information within a distance of “ only one click ”?. Theo van Veen.
E N D
Linking digital objects and standardisation of URL’s Linking electronic documents and standardisation of URL’s What can libraries do to enhance dynamic linking and bring related information within a distance of “onlyone click”? Theo van Veen Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
What can libraries do? • Standardisation and agreements • Personal linking page (SFX and OpenUrl) • Offer additional query responses in XML • Conversion of references in electronic documents to OpenUrl (DOI, CrossRef) • Local resolution and redirection of OpenUrl • Disclosure of searchable sites (harvesting, OAI-protocol and deep linking) Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Trend Request telnet,VT100ASCII scripting screensteeling Z39.50 Z39.50 (dynamic) url’s HTML, javascript http to Z39.50 Z39.50 to http OpenUrl HTML, javascript OpenUrl XML, javascript XML XML, javascript Response Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Aspects in standardisation • What do we want ? • High degree of interoperability • Low barrier implementation • High level of automation • How (besides reaching agreements)? • Extendibility: Do not reject a response with items that are not (yet) in the standard • Tolerance: Do not reject a response if items are missing if it is not fatal • Flexibility: Try to allow responses that are not requested • Do not rely on negotiation between http server (“take it or leave it”) and browser (“make the best of what it gets”) • Keep it simple Personal remark: As interaction between systems becomes more complex and is moving all the time, standardisation of request and response might require a more non-conventional approach. Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
OpenUrl (simplified) • OpenUrl=Base-url + query with standardised syntax Example: Base-url: http://my.pc.com/request? Query:issn=12345678&year=2000&vol=8&spage=123 • Usage: Dynamic and automatic generation of “just in case” links depending on “current” metadata and “user preferences”. • Link = request for service, search or object Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Personal link page • Metadata from anywhere link to any system of the user’s choice • Let the user set his own base-url (by means of a cookie) • Allow the user to set this base-url when presenting the metadata (“only one click away”) • The personal link page can analyse the query-part of the OpenUrl in the user’s browser: no server needed! Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Personal Link Page Query Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Personal Link Page Response with javascript to allow setting thebase url to personal link page. Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Personal Link Page Personal,context dependent, dynamically generated links Next responseswill show personal link page as default for openURL link. Base-url points to plp PLP Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Record display with option to select personal link page Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Example of personal link page for articles Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Result obtained via PLP Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Example of personal link page for books Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
HTML-page to create plp Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
HTML page with Javascript to get issn from openurl and present a link <html> <script> srch=unescape(location.search); srch=srch.substring(1,999); sarray=srch.split("&"); issn=""; for (i=0 ; i<sarray.length ; i++) { ind_key=sarray[i].split("="); if (ind_key[0] == "issn") issn=ind_key[1]; } function search() { if (issn== "") alert("No issn"); else location="http://hognose.kb.nl/cgi-bin/gurl2url.pl?issn=" + issn } </script> This is a very simple example of a personal link page. Click <a href="javascript:search()"> here </a>to search on issn. </html> Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
NO HITS • Fuzzy matching terms: • Term 1 • Term 2 • Term 3 • Term 4 • Term 5 Response Query Example : Response with terms that are most alike (fuzzyness) Additonal XML-metadata Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Additional responses • Related terms • Results of fuzzy matching • Index browse (z39.50 scan) • Short title list • Number of hits for each term • Etc. Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Query to different targets Integration of the results allows the user to improve his query and retry a distributed search Responses from different targets Additional data in XML Fuzzy results Short title list No hits Index browse Index browse Fuzzy results Related terms Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Example of additional responses XML <response> <number-of-hits>0</number-of-hits> <fuzzy-list> <fuzzy-term>abc</fuzzy-term> <fuzzy-term>bcd</fuzzy-term> </fuzzy-list> <scan-list> <scan-term>abc</scan-term> <scan-term>acc</scan-term> </scan-list> </response> • For new tags that are not know to the client: • Adapt XSL (and/or javascript) to display this item • The user application may try to ask for this new tag (using the same name) in automatic generated urls. Example of requesting URL: http://www.demo.nl/query?keyword=test&request=<fuzzy-list> Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Electronic references, DOI and Crossref • Remarks: • Not all references have a DOI • User may not have access to DOI-resolver • User may not have access to locations specified by the metadata from DOI-agent • The DOI identifies but does not localise objects • Author submits article • Publisher resolves references • Publisher submits metadata to DOI-agent and receives DOI for referenced articles • Publication is issued • User requests publication • User clicks on DOI of reference (link to DOI-resolver) • DOI-resolver presents DOI metadata • User selects location from DOI metadata • User requests article from that location Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Retrieval of electronic references Article Reference 1 Reference 2 Reference 3 Query ? Referenced article Search for referenced article Personal link page resolved base-url (resolution) Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Retrieval of electronic references Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Electronic references: what can libraries do? • Convert references via XML or HTML to OpenUrl’s • Maintain a local list of journals with the base-url of their locations • Forward the user’s query to new base-url for journals that are on other locations. Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Distributed query (Z39.50) Distributed query to the “whole world” user query Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Central index (web search engines) Harvesting of the “whole world” user query Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Selective query propagation geographical subject y ownership subject x Distributed search to selected targets user query Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Central index(OAI-protocol ?) Distributedquery to selected targets target selection for subject x query to gateway or to selected targets directly Selective query propagation (hybride solution) geographical ownership subject y subject x Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Multi target search • Search for : dutchess art search* • Enter new search e.g. Rembrandt • Query will be send to all searchable targets Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Metadata and digital objects • Fields to be used in URL to request digital objects: • Identification of object (oid) • Role (standardised) • Separation of metadata and digital objects (different databases) • Metadata independent from digital objects (no hardcoded file names in bibliographic metadata) • Structure of digital objects not always known (e.g. subject to change e.g. due to preservation activities) • Digital objects can be anything (from single file to database of streaming objects) • Request is not always the whole digital object but a role: thumbnail, table of contents, title page etc. Examples: http://dnep.kb.nl/openurl?oid=kb:1234&role=thumbnail http://dnep.kb.nl/openurl?oid=kb:1234&role=table-of-contents Koninklijke Bibliotheek, Nationale bibliotheek van Nederland
Conclusions and recommendations • Make your services OpenUrl-compatible • Focus on XML for the presented results and as transfer format • Implement the small piece of javascript to allow setting of the plp • Let’s come to agreements on extension of OpenUrlto allow for fast and “low barrier” implementation of extra services and searches. Koninklijke Bibliotheek, Nationale bibliotheek van Nederland