HTML rev link metadata

This document is a collection of working notes on the meaning of Dublin Core metadata encoded in HTML link elements with rel attributes. This form of markup implies a reversal of the normal triple structure to take the take the target of the link's href attribute to be the subject of the statement, and the source document to be its object.

In a document whose URI is "http://source.example/document.html", this link:

<link rev="DC.Source" href="http://remote.example/resource.html" />

Gives the triple:

<http://remote.example/resource.html> <http://purl.org/dc/elements/1.1/source> <http://source.example/document.html> .

This says that the document containing the link is the source of the document it refers to. If this is the case, then a document can make statements about other resources that are not governed by the owners of the respective resources, e.g.

<link rev="DC.Rights" href="http://www.gutenberg.org/etext/5000" />

This says the source document carries statements about rights to the notebooks of Leonardo da Vinci, which may not be true. The publisher of the source document may make arbitrary statements regarding another resource. The publisher of the other (Leonardo) resource cannot control the metadata statements made by the first (except legally).

Usability and reverse metadata statements

Users are familiar with the nature of standard Web search engines, which give results based on the content of the documents they are searching for. People soon become aware that publishers can make inflated statements about the contents of their sites and make judgements on that basis.

In this case, the provenance of the statements is clear; the subject URI of the metadata/content is the origin or source of the statement and whatever it says reflects the intention of the publisher.

To date, people are not used to the reversal of subject/object relations in search results. They will expect (as normal) that the target of a search will be documents that fulfil the relevant metadata terms. If metadata derived from rev statements (which may be about other people's resources) were to be granted an equal footing as the source documents themselves, it may well be misleading to users and open up a bizarre new realm of search engine spam.

Reified RDF statements

To distinguish reverse metadata statements from standard “forward” references, these statements may be annotated, so that the origin of the statement is explicit and not implied to be the same authority as the publisher of the resource itself. There are two ways of representing so-called reified statements in RDF; one which is verbose, the other shorthand, as below.

Verbose syntax

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:dc="http://purl.org/dc/elements/1.1/">
  <rdf:Description rdf:about="#resource1">
    <rdf:subject rdf:resource="http://remote.example/resource.html"/>
    <rdf:predicate rdf:resource="http://purl.org/dc/elements/1.1/rights"/>
    <rdf:object rdf:resource="http://source.example/document.html"/>
    <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
    <dc:source rdf:resource="http://source.example/document.html"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://source.example/document.html">
    <dc:publisher>Philip Shaw</dc:publisher>
    <!-- Other source metadata -->
  </rdf:Description>
</rdf:RDF>

Shorthand syntax

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:dc="http://purl.org/dc/elements/1.1/">
  <rdf:Description rdf:about="http://remote.example/resource.html">
    <dc:rights rdf:resource="http://source.example/document.html" rdf:ID="resource1"/>
  </rdf:Description>
  <rdf:Description rdf:about="#resource1">
    <dc:source rdf:resource="http://source.example/document.html"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://source.example/document.html">
    <dc:publisher>Philip Shaw</dc:publisher>
    <!-- Other source metadata -->
  </rdf:Description>
</rdf:RDF>

The shorthand syntax reads as if the statement is taken for granted (on the same footing as the standard statement about http://source.example/document.html), and only marked as a reified statement. Remains to be seen whether both forms would be treated the same in a Sesame SeRQL query and reified statements can be excluded from basic searches.

Document Links

Dublin Core in HTML
The recommended markup for Dublin Core metadata in HTML and XHTML
http://dublincore.org/documents/dcq-html/
This document was last modified on 2005-03-11 08:31:30.
Copyright MKDoc Ltd. and others.
The Free Documentation License http://www.gnu.org/copyleft/fdl.html