Which graph database for search engine and gis? I just learned there are "graph databases" out there, which are more suited for two applications "search engine" and especially "gis".

To avoid discussions whether a relational DB is better suited and to make clear what kind of Database is needed, here some more details what I want to use it for:


Application (Search Engine): Handling search engine data in a relational DB is slow because you'll have big tables with enormous indeces. Imagine just a table like 'links' which is just from_pageid INT, to_pageid INT with PRIMARY KEY(from_pageid, to_pageid), INDEX (from_pageid) and INDEX (to_pageid); which would have some 1'000'000 Entries. When using a graph database there are just all "from" and all "to" links for each nodes, with or without index, which are right there without looking up a huge index.
Application (GIS): If you have a map, which consists of nodes (with geographical positions) and links between them (=ways, roads, autoroutes...) you'll have a big "links" table to ask for which links (road, ways,...) can be used at node x. Same problem as for the search engine application.


Ok, now some more specialties:


It should be a free software (at no cost). Reason: I want to use it for research/educational purposes (and I currently have to finance this my own). AND: I possibly want to let it become a commercial product. Therefore a "free for non-commercial use"-solution should be at least effordable, if switching to commercial application...
I would like to use PHP, C/C++ for accessing the DB (preferably both should be possible). If also Java/Android is supported, it would even better.
Operating System: Linux!; I would like to avoid a Java based product, as the javaVMs tends to eat up all RAM (only have very limited server resources) and don't free any - even if they could.


What DBs would you suggest to me?
Well you could use IBM DB2 LUW (Linux,Unix, Windows) Express-C edition. It is free and has community support. It is the same engine/binaries as DB2 Enterprise Edition, it just has certain features "turned off" and has memory and CPU caps, but for what you are describing, it may suit your needs. If you do find you need more memory/CPU you could always purchase a license from IBM to upgrade it to Express or one of the higher editions.

There is an add on called DB2 Spatial Extender, which has functionality for geo-spatial analysis. According to this chart here, it should be free to download and use, even with Express-C edition. You can download DB2 Spatial Extender here. And here is the Information Center documentation on DB2 Spatial Extender. Use the table of contents to browse.