Answers:
Neo4j是一个基于图的数据库(节点类似于对象),Neo4j Spatial是“ Neo4j实用程序库,可简化对数据的空间操作的实现”。一些幻灯片在这里和这里。
另请参见StackOverflow上的以下相关问题:NoSQL和空间数据
Wikipedia文章中列出了其他一些面向对象的空间数据库示例:基于对象的空间数据库
我对该理论了解甚少,但是我认为您可以使用Postgis和ORM(例如Django框架或SqlAlchemy)来获得伪的面向对象的解决方案。
我将Postgis和Django结合使用,并且处理地理模型的方法是面向对象的,但是它们存储为关系数据库。
例如,您可以有一个“点”模型和一个“数据”(键:值)模型。
任何“点”实例都具有add_data()方法以及地理方法,例如is_near(),contains(),get_xy()等。
比起使用特殊方法(例如BurgerShop.get_burger_types(),BurgerShop.get_nearest_busstop()或BusStop.get_nearest_burgershop())的“ BurgerShop(point)”和BusStop(point)类而言。