Topology and RDBMS’s

I just read through an interesting article by Joe Celko where he actually admits that “RDBMS is very useful, but there are problems in the world that cannot be done with deductive methods”. Joe then describes how a tool like Cogito that can do “graph theory” (i.e. topology) is useful for discovering relationships.

In my earlier post I discussed some limitations I see in using featurelayers to describe spatial phenomena that are not yet fully understood. Here is an attempt to elaborate further.

Suppose there is a soldier on patrol policing some foreign land. Let’s say this soldier is equiped with a tablet with GIS and Cogito (or something similar) on it. As he patrols he makes observations that populate a Cogito graph. Some (though not necessarily all) of the observations would tie to a feature on the map.

I wonder if ArcGIS’s topology engine could be adapted to provide functionality similar to Cogito. Cogito’s whitepaper doesn’t go into much detail on how it manages location. Interesting how Cogito’s graphics are similar to those produced by ArcGIS schematics.

PS – here‘s a whitepaper that describes the graph database.

3 comments so far

  1. Curt Monash on


    I have a couple of posts on graph-based data management at the URL above, including specifically on Cogito. At Oracle, the graph stuff is part of the spatial group, but that’s probably for historical reasons rather than because of any close kinship in current technology.

    And Cogito itself is very much oriented to a logical graphical model, with no kind of geometrical understanding that would make it especially suited for GIS types of apps. There are nodes, which have attributes, and may be connected by arcs of different types. Period.


  2. Administrator on

    Hi Curt –

    My experience with graph based programming has mostly been with “ArcGIS”. It is very useful at modeling geography based on spatial connectivity. An area that I feel could be improved, however, is the tight coupling between what they call the “logical” network and the “geometric” network. If it were more loosely coupled I think it would be possible to write the types of apps one would write using Cogito.

    So for example, say you had a point featurelayer of cities with a table of airline schedules with flights connecting the cities. As far as I know, in order to do a path finding trace through the network, you would first have to create line features that represent each flight segment. This seems to be an onerous requirement.

    Regards, Kirk

  3. Rob on

    Hi Kirk –

    Great blog, some really interesting posts, hope you can find the time to keep it up.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: