As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Especifique etiquetas de borda sempre que possível
É recomendável fornecer uma etiqueta de borda sempre que possível ao especificar uma borda em um padrão. Considere o exemplo de consulta a seguir, que é usado para vincular todas as pessoas que moram em uma cidade a todas as pessoas que visitaram essa cidade.
MATCH (person)-->(city {country: "US"})-->(anotherPerson) RETURN person, anotherPerson
Se seu modelo gráfico vincular pessoas a nós que não sejam apenas cidades usando vários rótulos de borda, ao não especificar o rótulo final, Neptune precisará avaliar caminhos adicionais que serão descartados posteriormente. Na consulta acima, como uma etiqueta de borda não foi fornecida, o mecanismo trabalha mais primeiro e depois filtra os valores para obter o resultado correto. Uma versão melhor da consulta acima pode ser:
MATCH (person)-[:livesIn]->(city {country: "US"})-[:visitedBy]->(anotherPerson) RETURN person, anotherPerson
Isso não só ajuda na avaliação, mas permite que o planejador de consultas crie planos melhores. Você pode até mesmo combinar essa prática recomendada com verificações redundantes de rótulos de nós para remover a verificação de rótulos de cidades e escrever a consulta como:
MATCH (person)-[:livesIn]->({country: "US"})-[:visitedBy]->(anotherPerson) RETURN person, anotherPerson