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
(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
An Open GIS standard for spatial reference systems is under development. The current recommendation can be found at http://www.opengis.org/techno/specs/01-014r3.pdf. However, practical purposes are served adequately by the availability of standard URIs for the commonly used projections. As part of this specification, we designate the URI
http://nurl.org/0/RDFMap/SRSCatalog
as the parent beneath which SRSs are named. The most commonly used SRS's can be specified via their EPSG (European Petroleum Survey Group) codes. The SRS with EPSG code <N> is named "epsg<N>". For example,
http://nurl.org/0/RDFMap/SRSCatalog/epsg32610
denotes UTM zone 10N, the universal transverse mercator zone for points in the northern hemisphere between 120 and 126 degrees west longitude (eg San Francisco). (A listing of EPSG codes can be found at http://www.inovagis.org/giserver/epsg.asp).We also specify that UTM zone <N> is designated by "utm<N>n", or "utm<N>s" for the northern and southern hemispheres, respectively (eg utm10n for the zone which includes San Francisco).
Programmers who use RDFMap will rarely have any need to understand the intricate details of these spatial reference systems, but will sometimes need access to a library of functions for transforming points between them. End users of systems based on RDFMap normally won't need to concern themselves with spatial reference systems at all.
Class:Map
The affine transformation is described by the following properties:
Property:extent; range = Box for the domain Map
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.
Here's an example of an RDFMap file.