RDFMap (RDF Mapping Language)
Version 0.9
7/24/02


Chris Goad
cg@mapbureau.com



RDFMap defines a simple set of RDF classes and properties which express locations of resources, and how they should be depicted on a map. Usually, but not necessarily, these are locations on the earth's surface (rather, than, eg on a chess board, though the latter application is also possible). RDFMap is compliant with the recommendations for RSS modules in RSS 1.0 (see http://purl.org/rss/1.0/ and http://purl.org/rss/1.0/modules/)

This means that, by including the RDFMap module with RSS, many kinds of web resources, including blogs and news feeds, can be annotated with geographical information. This in turn supports applications which map the contents of blogs, news feeds, and other web resources.

RDFMap deals only with point locations, not areas, routes, or other more complex geographical features. When applicable, it uses the same class and property names as GML, the XML language for geography developed by the Open GIS Consortium. Although version 1.0 of GML was given an RDF formulation, version 2.0 is based on XML Schema, and cannot be applied directly to the current purposes.

The motivation for partitioning off a language for point locations from a more general RDF geography language is that the former is adequate for many applications, but an order of magnitude simpler than the latter. RDFMap, thus, aims to follow the example of RSS in minimizing complexity while covering useful territory. We anticipate developing another module which will include the remaining geometric constructs of GML

The namespace for RDFMap is http://nurl.org/0/RDFMap. "nurl" stands for "Not a URL". nurl.org is a domain which does not resolve to an IP address, and which we use for naming entities which are not web resources. Here are the classes and properties that define the RDFMap language. Note that classes have uppercase names, and properties lowercase.

The classes Point and Box, and the properties x,y,z, and location have the same meanings as the GML elements with the same names. The property srs in RDFMap is the counterpart of srsName in GML.

Class: Point

Property: x; range = xsd:decimal for the domain Point
Property: y; range = xsd:decimal for the domain Point
Property: z; range = xsd:decimal for the domain Point

(xsd:decimal is the numerical data type defined by XML Schema dataypes; xsd is the namespace http://www.w3.org/2001/XMLSchema)

Class:Box

Property: minCoords; range = Point for the domain Box
Property: maxCoords; range = Point for the domain Box

Property:location; range = Point

Property:srs

This completes the section of the specification which replicates portions of GML. The remaining classes and properties relate to the depiction of locations on maps.

Class:Map

Property:coverage; range = Box for the domain Map

Property:extent; range = Box for the domain Map

Property:referenceMap; range = Map

Property:seeOnMap

Property:useMap range:Map

Usage with RSS

A channel is typically assigned a useMap which specifies how its items are to be mapped. Each item may have a location property, indicating where that item should be mapped. Also, an item may have one or more seeOnMap properties, which will be mapped as well.

The channel may also have location and/or seeOnMap properties, indicating how the channel as a whole should be mapped for a resource describing a set of channels.

It is common for RSS items to have other properties that are relevant to mapping. For example, the dc:type property (dc = Dublin Core) may specify the category of entity described by an item. The map implementation is free to exploit this category information in defining map layers.

The following convention is a part of this specification: whenever a container of some kind is assigned an srs (resp. referenceMap), its contents are to use that srs (resp. referenceMap) as the default. For example, if a channel is assigned an srs, then its items may be assigned locations which fail to specify srss individually. Then, the srs of the channel is used to interpret these locations.

These techniques are illustrated by Blogmapper, an application which uses RDFMap and RSS to map the contents of web logs.

Implementation notes

The intention of the RDFMap specification is to allow resources of all kinds to be annotated with location information, not to specify in detail how this information is to displayed. In this respect as in others it follows the example of RSS, which specifies content only, and not presentation. Just as there are many RSS viewers, so it is to be hoped that over time many RDFMAP viewers will be developed with functionality adapted to various specialized applications.

Here's an example of an RDFMap file.