我正在構建一個應用程序,並需要可以查詢和遍歷的互連對象的數據結構。對象之間的連接可以是任意的,並不一定在手之前就知道。我需要這個數據結構是可查詢的(通常SQL提供的),也可以遍歷(像neo4j提供的新圖數據庫)。我試圖找到能夠同時處理大量數據集的方法。我們稱之爲數據結構dao。我就如下原始的方法:大量查詢和遍歷數據結構
// dealing with the objects
dao.save(s);
Something s = dao.load(Something.class, 5);
dao.update(s);
dao.delete(s);
// dealing with the relations
dao.relate(s, t);
dao.unrelate(s, t);
// the tricky methods
dao.querier(Something.class).filter(...).sort(...).values();
dao.traverser(Something.class).start(s).path(...).filter(...).sort(...).values();
的過濾會是這樣的SQL WHERE子句,排序會是這樣的SQL命令子句,開始將是起始節點用於遍歷,並且路徑將定義諸如BFS和DFS遍歷以及何時停止搜索。
我試圖把它建模爲具有鄰接列表的頂點,但必須有更好的方法。有任何想法嗎?