MATCH
Cyphera zestawienie pozwala na znalezienie danych spełniających zadane kryteria. Możesz użyć MATCH
aby zwrócić dane lub wykonać na nich inną operację.
MATCH
Instrukcja jest używana do spełnienia określonych kryteriów, ale w rzeczywistości nie zwraca dane. Aby zwrócić dowolne dane z MATCH
oświadczenie, nadal musimy użyć RETURN
klauzula.
Pobierz węzeł
Oto prosty przykład użycia MATCH
instrukcja do pobrania węzła:
MATCH (p:Person) WHERE p.Name = "Devin Townsend" RETURN p
WHERE
Klauzula działa tak samo jak WHERE
w SQL klauzuli, ponieważ pozwala zawęzić wyniki poprzez podanie dodatkowych kryteriów.
Możesz jednak osiągnąć ten sam wynik bez użycia WHERE
klauzula. Możesz również wyszukać węzeł, podając tę samą notację, której użyłeś do utworzenia węzła.
Poniższy kod daje te same wyniki, co powyższa instrukcja:
MATCH (p:Person {Name: "Devin Townsend"}) RETURN p
Uruchomienie jednego z powyższych zapytań spowoduje wyświetlenie następującego węzła:
Być może zauważyłeś, że kliknięcie węzła rozszerza zewnętrzny okrąg podzielony na trzy sekcje — każda reprezentuje inną opcję:
Kliknięcie dolnej sekcji spowoduje rozwinięcie relacji węzła:
Relacje
Możesz także przemierzać relacje za pomocą MATCH
oświadczenie. W rzeczywistości jest to jedna z rzeczy, w których Neo4j jest naprawdę dobry.
Na przykład, gdybyśmy chcieli dowiedzieć się, który artysta wydał album zatytułowany Heavy as a Really Heavy Thing , możemy użyć następującego zapytania:
MATCH (a:Artist)-[:RELEASED]->(b:Album) WHERE b.Name = "Heavy as a Really Heavy Thing" RETURN a
Spowoduje to zwrócenie następującego węzła:
Widać, że wzorzec, którego używamy w MATCH
stwierdzenie jest prawie oczywiste. Pasuje do wszystkich wykonawców, którzy wydali album o nazwie Heavy as a Really Heavy Thing .
Używamy zmiennych (np. a
i b
), abyśmy mogli odnieść się do nich w dalszej części zapytania. Nie podaliśmy żadnych zmiennych dla relacji, ponieważ nie musieliśmy odwoływać się do relacji w dalszej części zapytania.
Możesz również zauważyć, że pierwsza linia używa tego samego wzorca, którego użyliśmy do stworzenia relacji w pierwszej kolejności. Podkreśla to prostotę języka Cypher. Możemy używać tych samych wzorców w różnych kontekstach (tj. do tworzenia danych i pobierania danych).
Zwróć wszystkie węzły
Możesz zwrócić wszystkie węzły w bazie danych, po prostu pomijając wszelkie szczegóły filtrowania. Dlatego następujące zapytanie zwróci wszystkie węzły w bazie danych:
MATCH (n) RETURN n
Powoduje to zwrócenie wszystkich naszych węzłów:
Możesz także kliknąć Wiersze ikona z boku, aby wyświetlić dane w formacie wiersza:
Zachowaj ostrożność podczas zwracania wszystkich węzłów. Wykonanie tego na dużej bazie danych może mieć poważne konsekwencje dla wydajności. Ogólnie zaleca się ograniczenie wyników, aby uniknąć niezamierzonych problemów.
Zobacz „Ogranicz wyniki” poniżej.
Ogranicz wyniki
Użyj LIMIT
aby ograniczyć liczbę rekordów w danych wyjściowych. Dobrym pomysłem jest użycie tego, gdy nie masz pewności, jak duży będzie zestaw wyników.
Możemy więc po prostu dopisać LIMIT 5
do poprzedniej instrukcji, aby ograniczyć wyjście do 5 rekordów:
MATCH (n) RETURN n LIMIT 5