News from the frontier: Geonames on the Semantic Web

The Geonames database is available on the Semantic Web. Announcement, Details, Discussion, notes about the ontology.

In summary, this means a whole lot of places with their names and geo coordinates and links to other places are now available on the Semantic Web. For example, this is a URI for Berlin:

http://ws.geonames.org/rdf?geonameId=2950159

And now I can linkt to it from my FOAF file.

This is an excellent example of a Semantic Web site done right. Well, almost right …

The good stuff:

  • URIs for all concepts, like the Berlin URI.
  • All URIs are dereferenceable. Click on the one above!
  • The data contains links to related places and concepts.
  • Clear, simple vocabulary.
  • Vocabulary re-uses existing work where appropriate (SKOS).
  • Small, easily processable chunks of data.

The bad stuff:

  • Mixing of documents and concepts. Thou Shalt Not use the same URI for a concept and the document describing it! See TBL’s Linked Data, section “Variation: URIs without Slashes and HTTP 303”
  • Dead vocabulary links. The vocabulary uses URIs like http://www.geonames.org/ontology#inCountry, but these URIs resolve to an HTML page; it would be much better to serve the RDFS/OWL specification (which actually resides here), or serve the right thing depending on the Accept: HTTP header (content negotiation).
  • No backlinks. There are links to concepts higher up in the hierarchy, but not the other way. This limit the possibilities of browsing and crawling the linked web of places.
  • No rdfs:labels. Adding the value of geonames:name redundantly as an rdfs:label (or at least declaring geonames:name a sub property of rdfs:label, which would be a good idea no matter what) would help RDF browsers like Tabulator to display the data in a better way.

But still, this is an extremely cool addition to the Semantic Web, and a nice showcase for linked data. Kudos to Bernard Vatant, who seems to have done most of the work and lobbying.

This entry was posted in General, Semantic Web. Bookmark the permalink.

9 Responses to News from the frontier: Geonames on the Semantic Web

  1. Pingback: Semantic Web « Geonames

  2. Thanks Richard for the review, and I hope it will help to go from almost right to right :)) First quick reactions :
    Concerning the URI ambiguity, I think it is a non-starter in this case. What “concepts” do you refer to? You have resources, and it’s up to you to interpret them as documents and/or concepts. Read Pat Hayes “In Defence of Ambiguity” at http://www.ibiblio.org/hhalpin/irw2006/presentations/HayesSlides.pdf … this is my defence :)
    Concerning content negotiation, I thought Marc had did the right stuff, since I directed him to the W3C Working Draft on “Publishing Vocabularies for the Semantic Web”. He is the responsible for the server, Web Service and all of geonames. I only worked on the ontology.
    Concerning backlinks : not sure it is a good idea for the Web service given the size of the data base.
    Concerning rdfs:label. Sure a good idea. I think it should not be too difficult to add.

  3. marc says:

    I have changed added content negotiation configuration on the webserver and hope it is working better now for you.

  4. Bernard: The TAG has spoken on the issue of concepts vs. documents. Of course there will always be people who are unhappy with the consensus, such as Pat, and they might be right or they might be wrong, and we could keep discussing the “URI crisis” to the heat death of the universe. For the sake of building an interoperable Web please let’s just get over it and move on.

    About the backlings being too expensive, that’s too bad, it means that crawlers and browsers can never discover the range of available names. Now, places will become part of the Web only when they are linked to by someone else.

    Marc: Cheers, the new configuration works great.

  5. Bernard, PLEASE use HTTP 303s to from the concept to the document. This was the conclusion that the W3C TAG came to about what should be done. (Wheras ambiguity can be handled by people, it is a mess for machines. A place name and a document about it quite different. )

    For example, the tabulator view http://dig.csail.mit.edu/2005/ajar/ajaw/tab.html?uri=http://ws.geonames.org/rdf%3FgeonameId%3D2950159
    shows something which “mentions Feature, and is inCountry DE”. That’s silly. The file mentions the class “Feature”. The cty is in Germany. Confusing them really does not help.

    This is a tremendous set of data you have there. Richard’s review is spot on. The data is currently spolied by this architectural flow which could be fairly easily fixed, as is done in semantic wiki sites, among many.

    (The backlinks is the one thing which is less clear. If there are many, then it may be useful to give instead of all the “contains” give a pointer “containsList” to a virtual documnent which has a list of tall the things Berlin contains. This is like having a pointer to a list of publications on your FOAF page instead of all the publications themselves.)

  6. Richard, Tim

    Thanks again for your quick reaction to geonames-in-RDF. Please consider again this is a first release, set up in two weeks through a few exchanges with Marc, and subject to improvements. Actually, I’m amazed by the feedback so far.
    About the TAG resolution, which I have read again and again trying to make sense of it – and must admit I have not yet … (and yes, it’s a consensus, and yes we have to apply it, even if some very smart people have explained why it’s broken …)
    So let me make sure what it is the TAG want here on an example :
    http://ws.geonames.org/rdf?geonameId=3014258 (1) should be only the URI for the “document” as it stands now (although I have hard time considering the result of a query as a “document”, let’s assume it), and we should have a different URI, like e.g. http://ws.geonames.org/rdf#geonameId=3014258 (2) or whatever, identifying the “Feature” itself, and have for (2) a 303 redirecting to (1).
    If it’s only that, ask Marc to go for it, and he surely will : let me insist again he does all the real stuff, he’s the data base and server administrator, and I just wrote a few lines of OWL for him.

  7. Bernard, conceptually there’s no difference between a Web page and a Web API query result. In both cases, the server accepts a URI and answers with a document (HTML or XML or whatever), which may be generated dynamically. This, I think, is the key idea behind the REST style of web services.

    I’ve written some more about the 303 thing.

  8. Pingback: Semantic Web : Concept vs Document « Geonames

  9. Pingback: to.rtic.us » Blog Archive » dowhatimean.net » News from the frontier: Geonames on the Semantic Web