2013-11-25 23 views
1

我想知道是否有人知道neo4j的一個工具,它允許非開發人員查詢neo4j數據庫而無需學習密碼。基本上是在他們看到一些奇怪的事情時做某種根本原因分析。是否有一個Neo4j的圖形查詢生成器工具來探索圖形並做RCA

一個假設的例子可能是我們在neo4j上對我們的商店操作進行建模,並且所有交易都通過我們的應用程序記錄在neo4j db中,但是當店主看到商店中存在一致的缺失庫存時,可能想開始做一些RCA而無需學習密碼。可能會要求neo4j在特定的日子向所有員工展示,然後選擇一名員工並詢問該員工在過去6個月內的所有日期,以及庫存中的偏差等。

我知道我可以使用密碼構成這樣的查詢,但很難要求最終用戶瞭解,那麼是否有任何圖形工具可以讓他們自己進行分析,付費或其他方式?

問候

+0

我確實嘗試搜索網絡,發現那裏很少的信息,這就是這篇文章的原因。我真的不知道我們不能問社區是否有人使用過或知道任何能滿足一些共同需求的工具。當有人知道任何開源項目或商業工具可以做同樣的事情時,必須從頭開始構建一個工具似乎非常不直觀。我並不是真的想在這裏找到一個自以爲是的答案,而是一些建議來開始我的分析。要求這樣一個要求真的不是問題,還是可以通過改寫來通過這個規則? – Kiran

+0

查看http://maxdemarzi.com/2013/01/28/facebook-graph-search-with-cypher-and-neo4j/查看將自然語言查詢轉換爲Cypher的示例。我們即將使用Treetop來做到這一點... – MrMattWright

回答

4

至於圖形化的工具去,你可以使用的Neo4j 2.0瀏覽器但這需要一套最喜歡的Cypher查詢爲您分析的基礎數據集的帶來。這裏有幾個可視化工具,但是我不知道這些工具對於你的場景來說是完美的。

我建議在這種情況下,您將組裝一組模板查詢,其中包含一系列參數。您的員工希望問的每個問題都會提前轉換爲Cypher,您的應用程序的前端將允許您的用戶爲您的每個問題指定範圍和其他相關參數信息。

可能會問的Neo4j顯示在某一天所有的員工,並 然後選擇僱員,並要求所有的日子在過去的6一個月的時候 該員工在店內,什麼是庫存的偏差 等

顯示所有在某一天工作的員工。

MATCH (e:Employee)-[:WORKED_ON]->(d:Day) 
WHERE d.Date = "11/24/2013" 
RETURN e.LastName, e.FirstName, e.EmployeeId 

你這裏的參數是d.Date和你e.EmployeeId將被用作下一個查詢的參數。

MATCH (e:Employee)-[:WORKED_ON]->(d:Day) 
WHERE e.EmployeeId = {EmployeeId} AND d.Timestamp > 123456789 
WITH e, d 
MATCH (e)-[:WORKS_IN]->(s:Store)-[:ON_DAY]->(d) 
WITH e, d, s 
MATCH (s)-[:HAS_INVENTORY_DEVIATION]->(delta:InventoryDeviation) 
RETURN e.EmployeeId, e.FirstName, e.LastName, d.Date, d.Timestamp s.StoreLocation, delta.Deviation 
ORDER BY d.Timestamp DESC 

在查詢上述你會從第一個查詢提供EmployeeIdd.Timestamp值將代表一個時間戳作爲一個32位的整數。在這種情況下,值123456789將表示從今天起6個月前的日期時間值。

+0

好吧,這只是一個例子來解釋我的想法,但是我們的目的是讓實際的最終用戶遍歷圖表並得出結論,而無需像這樣簡單的分析學習密碼。我們在SQL世界中看到的一些東西,其中有一些圖形查詢構建器工具可以用最少的數據模型知識生成簡單的特別報告。有沒有可以幫助他們構建查詢和執行的工具?必須定義所有可能的問題,有些人可能會問這個系統可能預先做了太多的工作。 – Kiran