I tried to use the GeoNames RDF file, but it does not seem to be valid RDF.
This can be tested with the following command:
$ curl 'http://download.geonames.org/all-geonames-rdf.zip' | gunzip | head
This shows that the GeoNames RDF file contains snippets of RDF/XML interspersed with loose URLs (see below). Since this is a non-standard format, I assume that there is a common procedure or script to transform this file into a valid RDF file.
It's a somewhat strange format. It's a url followed by rdf/xml for that url. I put together a short bash script to output it to a single n-triples file. That I'll post when I find it. It takes a while, maybe a day, and results in about a 600mb file compressed.
I've asked for the mappings used to generate the rdf several times but for some inexplicable reason they won't share it.