Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Indexing Neo4j查询关系类型的效率_Indexing_Neo4j_Relationship - Fatal编程技术网

Indexing Neo4j查询关系类型的效率

Indexing Neo4j查询关系类型的效率,indexing,neo4j,relationship,Indexing,Neo4j,Relationship,假设我有一张有数百万用户的图表,以及他们之间数百万的关系。 但图中只存在一种类型X的关系。 目前,Neo4j不支持关系上的模式索引。 然后,当我运行查询时: 匹配n-[r:typeX]->m返回r 这是否意味着为了找到这种关系, Neo4j必须以百万为单位迭代所有节点/关系 如果是这样,可以做些什么来改进它? 我不喜欢引入额外节点的想法。 首先,有些事情自然应该被视为关系。说“爱”、“恨”。 第二,即使添加了额外的节点,查询如下 a-[*…5]->b可能变得更加复杂 没有关系模式索引是对的。通常

假设我有一张有数百万用户的图表,以及他们之间数百万的关系。 但图中只存在一种类型X的关系。 目前,Neo4j不支持关系上的模式索引。 然后,当我运行查询时:

匹配n-[r:typeX]->m返回r

这是否意味着为了找到这种关系, Neo4j必须以百万为单位迭代所有节点/关系

如果是这样,可以做些什么来改进它? 我不喜欢引入额外节点的想法。 首先,有些事情自然应该被视为关系。说“爱”、“恨”。 第二,即使添加了额外的节点,查询如下
a-[*…5]->b可能变得更加复杂

没有关系模式索引是对的。通常,域中的任何东西都应该是节点。如果您正在寻找一个单一的全局类型_X关系,它看起来就像是您的领域中的一个东西。您基本上有两种选择:

将类型_X视为域中的东西,并将其作为节点。 对关系使用旧索引,请参见
这是完整的查询吗?按原样,这将返回图形中typeX类型的每一个关系。并且没有关系的模式索引。这是否意味着对关系类型的任何查询都是无效的?例如:Match n-[r:typeX]-m return countr;匹配n-[r{propertyA:valueA}]-m返回计数r;这类查询始终是遍历整个图的全局查询。