Metadata Links

This page is an HTML version of the Internet draft draft-daviel-metadata-link-00.txt.

Here are some examples using this method.

Abstract

This memo describes a method of linking resource metadata to resource objects using HTTP headers or HTML hyperlinks. The method uses features which exist in HTTP/1.0 and HTML 2.0, namely the Link element, to reference metadata of arbitrary MIME type from resources of arbitrary MIME type.

Introduction

Resources of various types may have metadata associated with them. Where this metadata, and often the resources, are available on the World-Wide Web, resource discovery and indexing may be performed by automated agents which traverse hyperlinks between Web objects. In cases where the resource or the metadata do not support hyperlinks, links in the HTTP protocol header may be used in place of links in the body. Examples of such resources include JPEG images and PDF documents.

This memo describes a method which may be used with existing servers and software, and is readily available to most Web authors. It is not intended to take the place of structured metadata support currently in development for deployment with future versions of HTTP, but may co-exist in many cases with such support. It may be used where legacy metadata is defined in ASCII or binary format but no crosswalk or encapsulation method has been defined to convert to new structured types.

Terminology

Application

HTTP transport

Where a resource is available by HTTP transport, the following forward link may be used to indicate the URI of corresponding metadata:

    "Link" ":" "<" URI ">" ";" "rel" "=" "meta" *( ";" 
      "scheme" "=" scheme )
Where metadata is available by HTTP transport, the following reverse link may be used to indicate the URI of the corresponding resource:
    "Link" ":" "<" URI ">" ";" "rev" "=" "meta" *( ";" 
      "scheme" "=" scheme )
Examples of usage include:
    Link: <http://vancouver-webpages.com/ml/ch4.1.2.gif>; 
      rev="META"; scheme="DC"
    Link: <http://vancouver-webpages.com/ml/ch4.1.2.H.html>; rel="META"
    Link: <http://vancouver-webpages.com/ml/ch4.1.2.sgml>; 
      rel="META"; scheme="FGDC"

HTML encoding

Where a resource is available in HTML, a forward link in the document head may be used to indicate the URI of corresponding metadata:
    "<" "LINK" *( "SCHEME" "=" scheme) "REL" "=" "META" 
      "HREF" "=" URI ">"
A forward anchor construct may be used in the document body where a visible link is required:
    "<" "A" *( "SCHEME" "=" scheme) "REL" "=" "META" "HREF" "=" URI ">" 
       label "</A>"
Where metadata is available in HTML, a reverse link may be used to indicate the URI of the corresponding resource:
    "<" "LINK" *( "SCHEME" "=" scheme) "REV" "=" "META" 
      "HREF" "=" URI ">"
A reverse anchor construct may be used in the document body where a visible link is required:
    "<" "A" *( "SCHEME" "=" scheme) "REV" "=" "META" "HREF" "=" URI ">"
       label "</A>"
Examples of usage include:
<LINK REL=META HREF="/ml/ch4.1.2.H.html">
    <LINK SCHEME=FGDC REL=META 
      HREF="http://vancouver-webpages.com/ml/ch4.1.2.sgml">
    <A REV=META HREF="http://vancouver-webpages.com/ml/ch4.1.2.gif">
      Barkley Sound</A>
    <LINK REV=META SCHEME=DC href="ch4.1.2.gif">

Resource Indexing

Link Priority

Multiple metadata links using the same scheme are deprecated. Where multiple metadata links using the same scheme are present, only one link should be used by a discovery agent. HTTP headers should be given a higher priority than HTML link and anchor elements.

If a metadata link is present in the HTTP header of an object, the body may be ignored, so that an HTTP HEAD request may be used. Therefore if any metadata link is present in the HTTP header, all links using alternative schemes must also be present.

Metadata Spoofing

In order to minimize the possibility of metadata spoofing ( one organization supplying misleading metadata for a resource belonging to another organization), the forward relationship should have priority over the reverse relationship.

Therefore, if a document defining a reverse relationship is traversed, a request should immediately be made for the resource and any forward link traversed in turn to discover definitive metadata for the resource.

If any metadata exists for a resource defined by a forward relationship, metadata defined only by a reverse relationship should be considered invalid for all schemes. For example, Dublin Core metadata defined with both forward and reverse links invalidates MCF metadata defined with only a reverse link. If the author has the ability to add a forward link for one scheme, they are assumed to have that ability for all schemes.

If no forward metadata links exist, multiple reverse metadata links may optionally be resolved in favour of the link most closely matching the host and path of the resource URI.

These requirements reflect the fact that in many situations an author currently has control only over HTML documents, and has limited access to HTTP server features.

Offline Resources

Where a resource is not available online, a null URI may be used in the reverse link to so indicate. Resources such as paper maps or audio CDs may thus be indexed by means of online metadata. The metadata scheme used may indicate the physical availability and format of the resource.

Example: <LINK SCHEME=DC REV=META HREF="">

(Such a provision may seem to be pointless, but it would enable a search for a book by ISBN where it is clear to the agent that the object itself is offline, and conversely allow a search for online objects only if desired.)

Example

A short example is available at http://vancouver-webpages.com/ml/example.shtml

References