我目前正在運行將我的關係數據庫升級到Neo4J數據庫的過程。到目前爲止,我已經能夠超越我最初在關係數據庫(MySQL)中設計的所有東西。也就是說,直到需要編寫我的報告。Neo4J - 將多個節點結果轉換爲單行使用Python
我使用Python來查詢數據庫,我可以返回所有相關信息,但不是以我想要的方式返回。
代碼:
AList = session.run("match (dept:Department)<-[]-(d1:Domain)<-[]-(d2:Domain)<-[]-(a:TestAnswer)-[]->(q:SurveyQuestion) return dept.ABBR as Department, d1.DomainName as Forest, d2.DomainName as Domain, q.QuestionDesc as Question, a.Result as Answer ORDER BY Department")
這將返回節點的精彩名單,由部門的縮寫,即對每一個問的問題的答案排序。
電流輸出的實施例:
部|森林|域名|問|答案|
Dname | ForestLocation |域名| Q1 | 90 |
Dname | ForestLocation |域名| Q2 | 1 |
等
我想重新創建此具有以下佈局,但我不能完全肯定,如果我必須要經過一個漫長的過程在Python 3或者,如果我可以使用某種形式的在Neo4j內實現最簡單的結果:
部門|森林|域| Q1 | Q2
Dname | ForestName | DomainName | 90 | 1
任何援助將不勝感激 - 或者如果有人能指出我在正確的方向,我可以找到答案,這也會有所幫助。
謝謝您的時間, 吉姆
據我知道的Neo4j不能提供動態列,但如果你知道的問題,你想提前使用列,你應該能夠做到這一點。但是,您的標題表明您需要的只是將所有這一切都放在一行上,我假設每個部門/林區/域。你真的需要每個問題單獨列嗎?還是足以通過其他方式將問題和答案彙總到一行中? – InverseFalcon
@InverseFalcon如果我可以將它放入自己的迭代器/列表中,那麼我可以使用print命令將其打印到CSV中以模擬由報告創建的原始表格(使用硬編碼標題)。這將是一個可以接受的解決方案 - 我怎麼能得出這個結論? –