Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Neo4j - Selecionando dados com MATCH usando Cypher


MATCH de Cypher A instrução permite que você encontre dados que correspondam a um determinado critério. Você pode usar MATCH para retornar os dados ou realizar alguma outra operação neles.

A MATCH instrução é usada para corresponder a um determinado critério, mas na verdade não retorna os dados. Para retornar quaisquer dados de um MATCH declaração, ainda precisamos usar o RETURN cláusula.

Recuperar um nó


Aqui está um exemplo simples de como usar um MATCH instrução para recuperar um nó:
MATCH (p:Person)
WHERE p.Name = "Devin Townsend"
RETURN p

O WHERE A cláusula funciona da mesma forma que a WHERE do SQL cláusula, na medida em que permite restringir os resultados fornecendo critérios extras.

No entanto, você pode obter o mesmo resultado sem usar um WHERE cláusula. Você também pode pesquisar um nó fornecendo a mesma notação usada para criar o nó.

O código a seguir fornece os mesmos resultados que a instrução acima:
MATCH (p:Person {Name: "Devin Townsend"})
RETURN p

A execução de uma das consultas acima resultará na exibição do seguinte nó:

Você deve ter notado que clicar em um nó expande um círculo externo separado em três seções - cada uma representando uma opção diferente:

Clicar na seção inferior expandirá os relacionamentos do nó:

Relacionamentos


Você também pode percorrer relacionamentos com o MATCH demonstração. Na verdade, essa é uma das coisas em que o Neo4j é realmente bom.

Por exemplo, se quisermos descobrir qual artista lançou o álbum chamado Heavy as a Really Heavy Thing , poderíamos usar a seguinte consulta:
MATCH (a:Artist)-[:RELEASED]->(b:Album)
WHERE b.Name = "Heavy as a Really Heavy Thing" 
RETURN a

Isso retornará o seguinte nó:

Você pode ver que o padrão que usamos no MATCH afirmação é quase autoexplicativa. Corresponde a todos os artistas que lançaram um álbum com o nome Heavy as a Really Heavy Thing .

Usamos variáveis ​​(ou seja, a e b ) para que possamos consultá-los posteriormente na consulta. Não fornecemos nenhuma variável para o relacionamento, pois não precisamos nos referir ao relacionamento posteriormente na consulta.

Você também pode notar que a primeira linha usa o mesmo padrão que usamos para criar o relacionamento em primeiro lugar. Isso destaca a simplicidade da linguagem Cypher. Podemos usar os mesmos padrões em diferentes contextos (ou seja, para criar dados e recuperar dados).

Retornar todos os nós


Você pode retornar todos os nós no banco de dados simplesmente omitindo quaisquer detalhes de filtragem. Portanto, a seguinte consulta retornará todos os nós do banco de dados:
MATCH (n) RETURN n

Isso resulta em todos os nossos nós sendo retornados:

Você também pode clicar nas Linhas ícone ao lado para exibir os dados em formato de linha:

Tenha cuidado ao retornar todos os nós. Fazer isso em um banco de dados grande pode ter grandes implicações de desempenho. Geralmente, é recomendável limitar os resultados para evitar problemas não intencionais.

Consulte "Limitar os resultados" abaixo.

Limitar os resultados


Usar LIMIT para limitar o número de registros na saída. É uma boa ideia usar isso quando você não tiver certeza do tamanho do conjunto de resultados.

Então, podemos simplesmente anexar LIMIT 5 para a instrução anterior para limitar a saída a 5 registros:
MATCH (n) RETURN n 
LIMIT 5