我正在玩Neo4j,但試圖讓我的頭繞着圖的概念。作爲一個學習過程,我想將一個小的Postgres關係數據庫模式移植到Neo4j上。有什麼方法可以將它移植到Neo4j併發布「等效」關係查詢?如何將關係數據庫移植到Neo4j?
回答
這個工具的確如此。 將任何關係數據庫導入neo4j https://github.com/jexp/neo4j-rdbms-import
恐怕不是。關係數據模型和圖形數據模型是對現實世界域進行建模的兩種不同方式。它需要人類的大腦(至少在2013年)才能理解該領域以便對其進行建模。
我建議你拿一張紙,用圓圈和箭頭捕捉你的實體(節點)以及它們如何相互關聯(關係)。然後,看看那張紙。瞧,你的新Neo4j數據模型。
然後,接受一個查詢,希望得到回答,並試圖找出如何在沒有計算機的情況下執行此操作,只需在該紙上用手指跟蹤節點和關係即可。一旦你明白了這一點,將你所做的一切翻譯成Cypher查詢。
看看neo4j.org,有很多例子。
是的,您可以將現有架構移植到圖形數據庫。請記住,這不一定是您數據的最佳模型,但它是一個起點。
它的容易程度取決於現有模式的質量。
與實體關係圖中的實體對應的表定義了您的節點類型。在即將推出的neo4j 2.0中,您可以使用實體的名稱來標記它們以使查找更容易。在舊版本中,您可以使用索引或手動標籤屬性。
假設最好的情況下,數據之間的所有關係都使用外鍵建模,節點之間的任何1:1關係可以被識別並接下來移植。
對於建模n:m關係的表格,標識相應的節點並添加它們之間的直接關係。
因此,例如假設表Author[id, name, publisher foreign key]
,Publisher[id, name]
和Book[id, title]
和written_by[author foreign key, book foreign key]
。
Author
,Publisher
和Book
中的每一行都成爲節點。- 每個
Author
節點都與由外鍵關係標識的發佈者建立關係。 - 對於
written_by
每一行你,因爲它表現添加Author
節點和Book
節點引用
對於Neo4j的查詢我建議cypher之間的關係。 A2。0)查詢一些作家找書會是什麼樣子:
MATCH (author:Author)-[:written_by]-(book:Book)
WHERE author.name='Hugh Laurie'
RETURN book.title
實際上,你有幾種選擇在手邊:
- 通過使用Talend connector for Neo4J
- 出口的模式和數據在CSV文件耗材在batch importer
- ,或者你可以做到這一點programmatically
檢查了這一點:
的MusicBrainz的 - > Neo4j的 https://github.com/redapple/sql2graph/tree/master/examples/musicbrainz
Neo4j的SQL的進口商 https://github.com/peterneubauer/sql-import
祝您好運!
- 1. 如何將關係數據庫表加載到neo4j數據庫中
- 2. 有關將對象數據庫+數據移植到關係數據庫的資源和指導原則
- 3. 將neo4j數據庫從Windows移到Ubuntu
- 4. 如何將Ubuntu C++庫移植到MinGW?
- 5. 如何將Java庫移植到Web上?
- 6. 如何將Javascript庫移植到React Native?
- 7. 如何將我的Sqlite數據庫移植到GAE?
- 8. 如何將SqlServer數據庫移植到MySQL?
- 9. Neo4j圖形數據庫關係
- 10. 將關係數據庫中的數據遷移到NoSQL
- 11. 將JavaScript庫移植到Python
- 12. 從關係數據庫移動到mongodb
- 13. Rails 3數據庫移植
- 14. 導入表移植到PostgreSQL數據庫
- 15. 將數據從MySQL(rdbms)遷移到Neo4j數據庫
- 16. neo4j - 圖形數據庫以及關係數據庫?
- 17. 我如何檢索Neo4j圖形數據庫中的關係
- 18. 如何從(spring-data-)neo4j數據庫檢索所有關係?
- 19. 將數據源移植到Glassfish
- 20. C++庫交叉依賴關係 - 從llvm移植到gcc
- 21. 將關係數據遷移到事件存儲庫
- 22. 將CDA存儲到關係數據庫
- 23. 將sql數據庫文件移植到另一臺計算機
- 24. 如何處理數據庫更改並移植我的數據?
- 25. 將Java移植到Android有關視圖
- 26. 將數據加載到Neo4j中並創建關係
- 27. 從關係數據庫轉移到大數據
- 28. 如何將可移植數據庫添加到MVC應用程序?
- 29. 將關係移植到多維 - 如何從時間戳創建時間維 - SSAS
- 30. 將庫從Codeigniter移植到Laravel