The RDF Schema (RDFS) specification defines a term called rdfs:seeAlso which relates a resource to another resource "that might provide additional information about the subject resource." This grants us NetworkedData.

The RDFS spec tells us:

A triple of the form: S rdfs:seeAlso O
states that the resource O may provide additional information about S. 
It may be possible to retrieve representations of O from the Web, 
but this is not required. When such representations may be retrieved, 
no constraints are placed on the format of those representations.

The rdfs:domain of rdfs:seeAlso is rdfs:Resource. 
The rdfs:range of rdfs:seeAlso is rdfs:Resource.

There has been some discussion in the RDF Interest Group, FOAF developers list and elsewhere about how exactly this is supposed to work. Note that these informal notes do not change the meaning of the spec, here are some observations that may help.

Is it "wrong" to build applications that expect the value of an rdfs:seeAlso property to be a document that parses as RDF/XML?

It is reasonable to expect many (probably even "most") rdfs:seeAlso properties to reference to RDF/XML documents. There are a number of considerations that went into the design of rdfs:seeAlso which argued against the spec making a stricter assertion about the range of the rdfs:seeAlso property. Web applications which expect all rdfs:seeAlso properties to be de-referencable and parseable as RDF/XML are certain to be frustrated on occasion, and hence risk being fragile and unpredictable in their operation.

Taking into account these and related considerations, the RDF Schema (1998-2000) and RDF Core Working Groups decided not to specify the rdfs:seeAlso property further than noting that it references another resource that "might provide further information".

It should be remembered, however, that this wording is presented within the context of the RDF project, whose premise is that we can and should move towards the deployment of machine-readable information on the Web.

All such disclaimers aside, it should be clear from rdfs:seeAlso being part of the RDF framework that RDF as a whole is a project which encourages information to be encoded in RDF wherever possible. The formal definition of rdf:seeAlso is couched in very neutral terms, allowing for a wide variety of deployment practices to be experimented with. You could reference a JPEG or PDF or XHTML document with rdfs:seeAlso. However to do so and not have the referenced content contain (ideally in RDF/XML but at least in some form) machine-readable information would be dissapointing. Web applications should expect, on occasion, to be dissapointed.

When you want to be very clear in markup that you are using an rdfs:seeAlso property to reference a document that is available in RDF/XML format, it is possible to do this using additional markup, for example drawing upon the Dublin Core vocabulary. Many RDF applications (crawlers/spiders etc.) are likely to be optimistic and try to find some way of retrieving or extracting RDF from anything that is referenced in an rdfs:seeAlso. Others will be more cost conscious (eg. because of bandwidth, processing or storage concerns) and look for a combination of local (RDF statement) and perhaps remote (HTTP HEAD etc.) metadata to help determine whether a machine-readable version of a resource is available.

Here is an example of using rdfs:seeAlso with Dublin Core's dc:format property to indicate that a document is in RDF/XML format:

<foaf:Person>
  <rdfs:seeAlso>
    <rdf:Description rdf:about="http://rdfweb.org/people/danbri/rdfweb/danbri-foaf.rdf">
     <dc:format>application/rdf+xml</dc:format>
    </rdf:Description>
  </rdfs:seeAlso>
</foaf:Person>

Note that this claims the remote document is in RDF format. It does not guarantee that it is currently available, that it isn't password protected, etc etc. Web applications (RDF or otherwise) need to be robust in the face of such inevitable uncertainties. RDF Schema's rdfs:seeAlso property provides a valuable hint that can be used to cross-reference RDF data to form a Semantic Web of interconnected claims about the world. The formal semantics of this property have been designed in a way that will allow it to serve us even as our machine-processable data formats evolve. On occasion it may be that an rdfs:seeAlso reference cites a document for which no machine-readable variant can be extracted. This, from the perspect of an RDF application which is hoping to find RDF statements, might be treated similarly to scenarios in which the document was in RDF/XML but contained no RDF statements, or in which it was illformed RDF/XML.

UsingSeeAlso (last edited 2005-01-13 06:43:44 by DanC)