The RDF vocabularies discussed in the RDFIG GeoInfo chats and wiki, such as RDF Geo and RDFMap, allow points on the earth to be associated with RDF resources. This note describes a simple and perhaps obvious approach to expressing more complex geographical information in RDF, and thus reclaiming some of the expressiveness of GML for near-term RDF applications.
Geographical statements involve three kinds of objects: physical objects on the earth's surface (called "features" in GML), abstract geometrical objects (points, lines, areas, and curves), and spatial reference systems (SRSs), which transform abstract geometrical points to points located on the earth's surface. When describing geography, some statements may be (1) non-geometric (eg this feature is made of those parts). (2) purely geometric (this circle has that radius), (3) may relate a feature to its geometry, or (4) may assign an SRS to a geometry, thereby interpreting it in a specific way as a geometry on the earth's surface. (GML covers all of these varieties of statements, with XML-schema as its basic formalism.) The current proposal is simple: non-geometric and purely geometric statements should be left to their own RDF vocabularies.
This leaves two kinds of statement as the job for an RDF vocabulary for geography.
<feature> <geometricProperty> <geometry>.
and
<geometry> <hasProjection> <projection_or_datum>.
Conceivably, the realm of geometricProperties in the above sense could be covered by a short catalog of basic relationships, such as location, hasBoundary, hasCenterline, and so forth. GML includes a catalog of this kind.
In regards to projections, the RDFMap vocabulary proposes a particular URI for hasProjection (http://nurl.org/0/geography/map/1.0/srs), and a catalog of common projections based on the EPSG codes. This is already adequate for most purposes.
To make matters concrete, consider this example:
:mybox a geom2d:Box;
geom2d:xmin 50000;geom2d:xmax 51000;
geom2d:ymin 20000;geom2d:ymax 22000;
map:srs <http://nurl.org/0/geography/SRSCatalog/utm10>.
:goldengatepark a somenamespace:publicpark; geo:boundedBy :mybox.
Here, Box is a purely geometric entity, and xmin,xmax,ymin,ymax, are purely geometric properties. map:srs places this box on the earth. geo:boundedBy is an example of the kind of geometricProperty needed in the yet-to-be-formulated RDF geography vocabulary.
The tiny RDFGeom2d vocabulary provides only the box and point primitives - enough to get started with the geography of locations.
So, the substantive part of the problem becomes the development of an RDF vocabulary for geometry (including topology). (What RDF vocabularies have already been defined for 2d geometry?) It might be possible to "port" the relevant part of a successful formalism that includes geometry to RDF. I'm thinking here of the geometric parts of GML3 itself, or of SVG (my vote would be with SVG). Such an RDF vocubulary for geometry would of course have many other applications.
This may or may not be a sensible direction to pursue at this time. There is a lot of useful RDF work to be done with locations alone, and covering 2d geometry will be a fair amount of work. On the other hand, it doesn't have to be done all at once. The current version of geom2d consists of only points and boxes. Adding, say, 2d coordinate systems, polygons, and polylines would be easy but would immediately make many more things possible (covering a lot of GML2 - which lacks curves).
Chris Goad
cg@mapbureau.com
April 29, 2003