[rdfweb-dev] seeAlso

Dan Brickley danbri at w3.org
Sat Aug 9 11:40:49 UTC 2003

* Edd Dumbill <edd at usefulinc.com> [2003-08-09 09:56+0100]
> On Sat, 2003-08-09 at 08:34, Julian Bond wrote:
> > Chris Croome <chris at webarchitects.co.uk> wrote:
> > >One thought, when your weblog has a RSS 1.0 feed would it make sense
> > >to add a seeAlso to point to the blog RDF?
> I use this in my file, in the description of me, to indicate that a
> seeAlso points to my RSS 1.0 feed (rss namespace decl not shown here):
>   <!-- refer to my weblog's RSS, asserting my makership of it -->
>   <rdfs:seeAlso>
>     <rss:channel rdf:about="http://usefulinc.com/edd/blog/rss">
>         <foaf:maker rdf:nodeID="edd" />
>     </rss:channel>
>   </rdfs:seeAlso>
> The includes the statement
> http://usefulinc.com/edd/blog/rss rdf:type rss:channel
> Which is information I can use to decide to follow, or not follow, the link.

This is the right way to do it, and it is nicely extensible while
keeping rdfs:seeAlso in there so that tools which neither know nor care
about RSS can still do the Web harvesting thing, passing the data on to
other apps which do care. 

Sean's nifty FOAFQ thing is a good example of that; Libby's harvester 
scooped up the data, and exposed it as a query service while happily 
ignorant of the specific properties and classes that FOAFQ would be using.

There are two ways of extending rdfs:seeAlso in this fashion, ie.
providing more information about the thing described in the referenced doc.

(1) at the 'blunt' end of the rdfs:seeAlso arc, talk about the kind of
thing that is described, eg. say that it is an Australian, or a W3C
Employee, or a Company, or whatever. Extra snippets of information here 
may be a bit redundant if they reproduce what the cited document tells
you, but they also provide valuable hints to Web crawlers wondering 
whether to visit this file.

For example:

  <foaf:name>Max Froumentin</foaf:name>
  <foaf:workplaceHomepage rdf:resource="http://www.w3.org/"/>
  <rdfs:seeAlso rdf:resource="http://www.w3.org/People/maxf/foaf"/>

...this gives a little info about something the remote document tells

(2) at the 'sharp' end of the rdfs:seeAlso arc, we could talk about 
the kind of thing that is doing the describing, eg. what sort of RDF/XML 
content we're referencing.
This is relatively unexplored territory. I tried it for a while in my
FOAF file. Inside an element describing me, I had this:

<FOAFShopDoc rdf:about="http://rdfweb.org/people/danbri/rdfweb/danbri-foafshop.rdf"/>

...which tells an interesting harvester that (w.r.t. me), the cited
document is likely relevant, and that it is a FOAFShopDoc.

What's a FOAFShopDoc, you might ask... This is where we get into new
territory. We don't really yet have a way of distinguishing classes of
RDF/XML document that draw upon FOAF terms. 

http://rdfweb.org/people/danbri/rdfweb/danbri-foafshop.rdf in its
current draft form doesn't happen to use any actual terms from the FOAF 
namespace, but it could well have done. The idea is to provide
harvesters with hints about (a) what is described, (b) what the
description might be for...

Right now there are only 2-3000 RDF (mostly FOAF-based) docs showing up in 
our crawls; a figure totally overshadowed by the 3 billion pages in Google. 
So we need to find a balance between doing too much up-front design (eg. 
anticipating loads of different sub-classes of 'foaf document') and
having a design that will allow smarter Web crawlers navigate amongst
these documents with some discrimination, so that application-specific 
crawlers could find their way to what they're interested in without
trying to scoop up everything they find.


More information about the foaf-dev mailing list