2013-05-21 42 views
1

我想在有向圖中創建一堆「和」和「或」和「不」門。 然後遍歷輸入,看看他們的結果是什麼。neo4j邏輯門模擬,如何?

我認爲有一個現成的遍歷可以做到這一點,但我沒有看到它。 我不知道這種遍歷的名字是什麼。

當然寬度首先不會做這項工作。 我需要得到所有的葉子,並朝着根。 換句話說

A =(B &(C & Z))

我需要首先解決Ç@ Z。

我需要把這種類型的東西放在一個圖中並遍歷起來。

+0

所以ESSE你試圖在圖數據庫中解決一個布爾表達式? – Nicholas

+1

你有沒有設備的解決方案? – Nicholas

+0

這死了嗎?這是我能找到的唯一資源之一 – tscherg

回答

1

您可能會將每個操作創建爲具有N個傳入連接和一個傳出連接的節點。當然,您也可以將更復雜的操作封裝爲節點。

隨着Neo4j 2.0我會使用標籤的3種類型的操作。

我假設你的葉子會是布爾值?其實我覺得你有很多根,只是單葉(結果表達式)

(input1)-->(:AND {id:1})-->(:OR {id:2})-->(output) 
(input2)-->(:AND {id:1}) 
(input3)------------------>(:OR {id:2}) 

然後你就可以在標籤類型的應用情況,爲決策和使用集合謂詞(ALL,ANY)爲計算

參見:http://docs.neo4j.org/chunked/milestone/cypher-query-lang.html

謂詞:http://docs.neo4j.org/chunked/milestone/query-function.html

標籤:http://docs.neo4j.org/chunked/milestone/query-match.html#match-get-all-nodes-with-a-label