2011-09-12 21 views
0

這是一個與有向圖相關的相當高級的主題。我正在研究一個項目的NOSQL技術。特別是使用圖形數據庫。它非常適合支持我想要保存關係的豐富模型,問題域是圖本身(頂點和邊)。現在顯然這讓我看到了Neo4j和這個領域的其他廠商。現在我相信他們已經用圖形數據結構的方式來解決或縮小與數據的持續差距......這是完美的。有向圖的規範

但是,當需要理解有向圖的規範以創建「有向圖」的實際實例時,我的要求更進一步,因此在實際創建圖時會遵守特定的規則和約束條件。圖數據庫不關心這是正確的,並不希望它(很高興它是不可知的)。問題是這使得它有點開放,因爲確保圖形符合你的圖規則(即某些節點可以有某種關係,或者甚至與其他節點有關係)。我應該使用什麼,這將允許我指定有向圖的規範/元數據,以便在運行時創建它的實例時,它將正確地遵守它的規範 規範。

對什麼是可用的或者什麼是標準的方式來處理任何幫助或建議,將不勝感激

+0

橋接節點和映射到與行的關係關係模型邊緣的曲線之間的差距被封裝在企業要素資源庫工具...簡短的回答,您需要元數據 – Randy

+0

蘭迪..與關係商店的映射關係不大。這是關於定義圖形本身的規則。我想或需要這個定義。我知道它需要是元數據,而不是什麼形式。 GraphML描述了一個圖的實例。我所能想到的只是將規範描述爲一個圖本身,並且在創建實例時將它引用到該圖中以獲取規則和約束。 – Roger

+0

很抱歉誤讀你的第一句話。完全同意元數據是必要的。但是什麼類型。有沒有可以使用的標準。 – Roger

回答

0

我想你應該看看春天的數據圖表,http://www.springsource.org/spring-data/neo4j這是接近你有得到一個強大的映射層,可以投影規則等,非常像JPA或Hibernate。

WDYT?

/彼得

+0

謝謝彼得。我以前遇到過彈簧數據圖。我可以看到它很有用,但它沒有解決我有的問題 - 在實際持久化或創建節點和邊的實例之前允許圖的規範。 IE瀏覽器。需要一種方法來表示類型爲n1的節點只能與類型爲n2的節點關聯,類型爲x等。 - 理想的情況是將此作爲配置 – Roger

+0

mmh,這聽起來像您希望「架構」不是在代碼中但在數據庫中?聽起來像NOSQL有點太鬆。但是,您可以通過Neo4j Event API執行低層次的模式實施,請參閱http://wiki.neo4j.org/content/Event_framework –