我正在玩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