Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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
Neo4j 如果图的部分变小,密码查询会变慢_Neo4j - Fatal编程技术网

Neo4j 如果图的部分变小,密码查询会变慢

Neo4j 如果图的部分变小,密码查询会变慢,neo4j,Neo4j,我的图形由对象、链接和标记节点组成。一件事可以是:连接ed到链接s和标记s。 该图的大小约为45GB,包含4mio节点和84mio关系。 节点仅由一个字段组成,该字段带有一个键,用于外部系统引用 我在图中寻找通过链接与另一事物(t1)强连接的事物s(t2) 例如,密码查询是: MATCH (t1:Thing {key: "a80b3828-6fec-4031-b552-d3397d1737b7"}) MATCH p=(t1)-[:CONNECT]->(l:Link)<-[:CONN

我的图形由对象、链接和标记节点组成。一件事可以是:连接ed到链接s和标记s。 该图的大小约为45GB,包含4mio节点和84mio关系。 节点仅由一个字段组成,该字段带有一个键,用于外部系统引用

我在图中寻找通过链接与另一事物(t1)强连接的事物s(t2)

例如,密码查询是:

MATCH (t1:Thing {key: "a80b3828-6fec-4031-b552-d3397d1737b7"}) 
MATCH p=(t1)-[:CONNECT]->(l:Link)<-[:CONNECT]-(t2:Thing) 
WHERE t1<>t2 WITH t2, count(DISTINCT p) AS links 
RETURN t2, links 
ORDER BY links DESC 
LIMIT 25
表演不是很精彩。但这不是我目前的主要问题

我现在喜欢在我的图中寻找通过链接与另一个事物(t1)强连接并连接到特定标记的事物s(t2)

MATCH(标记:`tag`{key:'da8115ff-95fb-46d7-bd14-24bdd16f0a04})
匹配(t1:Thing{key:“a80b3828-6fec-4031-b552-d3397d1737b7”})
匹配p=(t1)-[:连接]->(l:链接)(标记)
t1t2在哪里
返回t2,将(不同的p)计数为链接
按链接订购说明
限制25
问题是,此查询将永远运行。在我看来,这应该比第一个Cpyher查询运行得更快,因为我感兴趣的图形部分要小得多


我使用的Neo4j 2.1.2运行在80GB SDD上,16GB RAM用于Java,16GB RAM用于4核操作系统。

我认为有两种不同的关系类型会有所帮助

您对
:标记(键)
有索引或约束吗

如果不限制/排序路径,将返回多少路径?如果只使用“限制”而不使用命令,性能会有什么不同

MATCH (t1:Thing {key: "a80b3828-6fec-4031-b552-d3397d1737b7"})-[:CONNECT]->
      (l:Link)<-[:CONNECT]-(t2:Thing) 
RETURN t2, count(DISTINCT p) AS links 
ORDER BY links DESC LIMIT 25
MATCH(t1:Thing{key:“a80b3828-6fec-4031-b552-d3397d1737b7”})-[:CONNECT]>
(l:链接)
(l:链接)(l)
具有不同的l,t1

MATCH(l)我观看后最快的版本是:


更改关系类型需要一些时间:)因此,我稍后会给出相应的数字。

我对键属性有唯一的限制。我认为您应该真正更改关系类型,连接到一个链接和一个标记是两件不同的事情,如果你不按rel类型选择,它会慢得多。现在图形已经更新,查询匹配(tag:
tag
{key:“da8115ff-95fb-46d7-bd14-24bdd16f0a04”})匹配(t1:Thing{key:“a80b3828-6fec-4031-b552-d3397d1737b7”})匹配(t1)-(connect]>(l:link)匹配(标记)对于t2,按links DESC LIMIT 25将(l)计数为链接顺序返回t2,链接;现在可以在14962毫秒内运行。你知道如何调整吗?你能分享你的个人资料吗?也就是说,转到localhost:7474/webadmin/console并在您的查询前面加上“profile”试试这个:MATCH(t1:Thing{key:“a80b3828-6fec-4031-b552-d3397d1737b7”})-[:CONNECT]->(l:Link)和不同的t1,l匹配(l)(tag:tag{key:“da8115ff-95fb-46d7-bd14-24bdd16f0a04”})返回t2,按链接顺序计数(l)按链接描述限制25;你确定你有:Tag(key)和:Thing(key)的索引吗?
MATCH (tag:`Tag` {key: "da8115ff-95fb-46d7-bd14-24bdd16f0a04"}) 
MATCH (t1:Thing {key: "a80b3828-6fec-4031-b552-d3397d1737b7"}) 
MATCH p=(t1)-[:CONNECT]->(l:Link)<-[:CONNECT]-(t2:Thing)-[:CONNECT]->(tag) 
WHERE t1<>t2 
RETURN t2, count(DISTINCT p) AS links 
ORDER BY links DESC 
LIMIT 25
MATCH (t1:Thing {key: "a80b3828-6fec-4031-b552-d3397d1737b7"})-[:CONNECT]->
      (l:Link)<-[:CONNECT]-(t2:Thing) 
RETURN t2, count(DISTINCT p) AS links 
ORDER BY links DESC LIMIT 25
CYPHER 2.1.experimental
MATCH (t1:Thing {key: "a80b3828-6fec-4031-b552-d3397d1737b7"})-[:CONNECT]->
      (l:Link)<-[:CONNECT]-(t2:Thing) 
RETURN t2, count(DISTINCT p) AS links 
ORDER BY links DESC LIMIT 25
MATCH (t1:Thing {key: "a80b3828-6fec-4031-b552-d3397d1737b7"})-[:CONNECT]->(l)
WITH distinct l,t1
MATCH (l)<-[:CONNECT]-(t2)  
WHERE t1<>t2  
RETURN t2, count(distinct l) AS links  
ORDER BY links DESC 
LIMIT 25  
MATCH (t1:Thing {key: "a80b3828-6fec-4031-b552-d3397d1737b7"}) 
MATCH (t1)-[:CONNECT]->(l:Link) MATCH (l)<-[:CONNECT]-(t2:Thing) 
WHERE t1<>t2 WITH t2, count(l) AS links 
ORDER BY links DESC LIMIT 25 RETURN t2, links
CYPHER 2.1.experimental 
MATCH (t1:Thing {key: "a80b3828-6fec-4031-b552-d3397d1737b7"})  
MATCH (t1)-[:CONNECT]->(l:Link)  
MATCH (l)<-[:CONNECT]-(t2:Thing)  
WHERE t1<>t2  
WITH t2, count(l) AS links  
ORDER BY links DESC LIMIT 25  
RETURN t2, links
MATCH p=(t1:Thing {key: "a80b3828-6fec-4031-b552-d3397d1737b7"})-[:CONNECT]->(l:Link)<-[:CONNECT]-(t2:Thing)  
RETURN t2, count(DISTINCT p) AS links  
ORDER BY links DESC LIMIT 25
CYPHER 2.1.experimental  
MATCH p=(t1:Thing {key: "a80b3828-6fec-4031-b552-d3397d1737b7"})-[:CONNECT]->(l:Link)<-[:CONNECT]-(t2:Thing)  
RETURN t2, count(DISTINCT p) AS links  
ORDER BY links DESC LIMIT 25
+------------------------------------------------------------------+
| t2                                                       | links |
+------------------------------------------------------------------+
| Node[166590]{key:"4b06471e-0849-4e56-b5c9-6bc04730c899"} | 854   |
| Node[190480]{key:"8934c635-17de-449a-9437-a24857b8b1c6"} | 698   |
| Node[153785]{key:"476f9756-e829-495c-82a2-6d05efa24a5a"} | 665   |
| Node[217705]{key:"4e69f054-3828-4c9c-829d-bc1b94499d26"} | 595   |
| Node[434466]{key:"372832f9-338b-4818-b7df-f60ec68e0dbc"} | 586   |
| Node[188948]{key:"ed023053-9c4d-4978-b884-cd7a77f9d610"} | 580   |
| Node[129093]{key:"49dfa255-8455-4f90-962d-63e9244b4337"} | 576   |
| Node[249272]{key:"fbdcbba8-c47d-4e4d-bae1-0ebadf6e7692"} | 553   |
| Node[253605]{key:"4c7848aa-eff7-4cd8-ab1e-79cb9a17fe59"} | 533   |
| Node[149177]{key:"9e5e830e-8ebd-456d-9e0c-094b5fc6964b"} | 519   |
| Node[155016]{key:"0d1148ff-3040-4c45-8198-a5918dd96721"} | 503   |
| Node[346978]{key:"640812b0-996e-4a1b-9a55-80417b010403"} | 478   |
| Node[256312]{key:"a16b233f-e363-4883-bc4c-9ccb1e4d1738"} | 463   |
| Node[203843]{key:"e739384f-0b1d-4f47-9abb-debfdc438796"} | 421   |
| Node[632642]{key:"8788d644-11ff-4a49-805e-32268183a712"} | 420   |
| Node[222103]{key:"eb4cdb73-67b7-46aa-a26f-1612a855a7d4"} | 419   |
| Node[156930]{key:"1ee362fb-0308-45e4-9dbc-1286e4571cb9"} | 414   |
| Node[445506]{key:"c1d50c68-748c-4551-ab4f-7313bf38ec70"} | 407   |
| Node[205489]{key:"fcf2f12a-b6cf-4d74-afbc-b75f1e57dd40"} | 384   |
| Node[134227]{key:"d44a2c49-35dd-44c1-82cb-c1386bb1beec"} | 368   |
| Node[360284]{key:"8fbed168-9183-455e-8869-350fbf9310f4"} | 365   |
| Node[223032]{key:"4424b8e8-d4aa-43dc-8b21-d6c119645092"} | 359   |
| Node[769577]{key:"8b538f97-8152-4552-aa6a-eadd78cfbe9c"} | 358   |
| Node[754437]{key:"925b4f3a-0c69-46b9-8f35-294b9539a98b"} | 345   |
| Node[656436]{key:"50424c32-8ce8-495b-a8d3-f4864b1c3adc"} | 342   |
+------------------------------------------------------------------+