我想在Neo4j中构建一个包含七种不同类型的节点的结构,共约4-5000个节点,并且它们之间有40000个关系。我目前使用的密码是我首先用代码创建节点:在neo4j中同时创建节点和关系
Create (node1:type {name:'example1', type:'example2'})
约4000个具有唯一节点的示例。
表述为这样然后我有关系:这种独特的关系
Create
(node1)-[:r]-(node51),
(node2)-[:r]-(node5),
(node3)-[:r]-(node2);
大约40000。
随着规模较小的图形,这根本就没有任何问题。但是用这个,执行查询从不停止加载。
关于如何使这种类型的查询工作的任何建议?或者我应该做什么呢?
编辑。我试图构建的是一个产品的大图,它的发布,发布版本,功能等与电影图形示例构建的方式相同。
该产品共有约6个版本,每个版本都有大约20个发行版本。总共有371个功能和371个功能,还有438个功能转换。一次发布版本(总共120次),然后每个版本大约有2-300个特色版本。这些Featureversions被映射到它的特性,这些特性对db中的一切都有依赖性。我也involed HW相关性,如可能的硬件上运行这些功能,使用暗号代码等设备上,以便basicaly IM版本,例如:
Create (Product1:Product {name:'ABC', type:'Product'})
Create (Release1:Release {name:'12A', type:'Release'})
Create (Release2:Release {name:'13A, type:'release'})
Create (ReleaseVersion1:ReleaseVersion {name:'12.0.1, type:'ReleaseVersion'})
Create (ReleaseVersion2:ReleaseVersion {name:'12.0.2, type:'ReleaseVersion'})
和低于我已经构建起来使用
Create (Product1)<-[:Is_Version_Of]-(Release1),
(Product1)<-[:Is_Version_Of]-(Release2),
(Release2)<-[:Is_Version_Of]-(ReleaseVersion21),
所有到功能的方式,然后我还添加了它们之间的相关性,如:
(Feature1)-[:Requires]->(Feature239),
(Feature239)-[:Requires]->(Feature51);
因为我已经找到许多不同的Excel表è所有这些信息tc,我这样做了代码,以为我可以把它放在一个大规模密码查询中,并在本地主机上的/浏览器上运行它。只要我一次不使用超过4-5000个查询,它就非常好用。然后它最多在5-10秒内创建完整的数据库,但现在当我试图在同一时间运行45000个查询时,它已经运行了将近24小时,并且仍在加载并且正在执行查询。 ..“。我想知道是否可以改进所需的时间,数据库最终是否会创建?或者我可以做一些更聪明的索引或其他东西来改善性能?因为顺便说一句,我的密码是现在写的,我不能将它分成几部分,因为数据库中的所有内容都与产品有某种连接。我是否需要重写代码或者是否有任何顺畅的方法?
谢谢!这应该被接受为答案 – troig
我们不需要括号吗? (a) - [:BLAH] - >(b) – orestiss
是的。答案是在2014年写的,当你不需要它们的时候。 – FrobberOfBits