sql >> Databáze >  >> RDS >> Mysql

Neo4j - Výběr dat pomocí MATCH pomocí Cypher

Cypher's MATCH výpis umožňuje najít data, která odpovídají daným kritériím. Můžete použít MATCH vrátit data nebo s nimi provést nějakou jinou operaci.

MATCH příkaz se používá ke shodě s daným kritériem, ale ve skutečnosti se nevrací data. Chcete-li vrátit jakákoli data z MATCH musíme ještě použít RETURN doložka.

Načíst uzel

Zde je jednoduchý příklad použití MATCH příkaz k načtení uzlu:

MATCH (p:Person)
WHERE p.Name = "Devin Townsend"
RETURN p

WHERE klauzule funguje stejně jako WHERE v SQL klauzule v tom, že vám umožňuje zúžit výsledky poskytnutím dalších kritérií.

Stejného výsledku však můžete dosáhnout i bez použití WHERE doložka. Můžete také vyhledat uzel zadáním stejného zápisu, který jste použili k vytvoření uzlu.

Následující kód poskytuje stejné výsledky jako výše uvedený příkaz:

MATCH (p:Person {Name: "Devin Townsend"})
RETURN p

Spuštění některého z výše uvedených dotazů bude mít za následek zobrazení následujícího uzlu:

Možná jste si všimli, že kliknutím na uzel se rozšíří vnější kruh rozdělený na tři části – každá představuje jinou možnost:

Kliknutím na spodní část se rozbalí vztahy uzlu:

Vztahy

Vztahy můžete také procházet pomocí MATCH prohlášení. Ve skutečnosti je to jedna z věcí, v nichž je Neo4j opravdu dobrý.

Pokud bychom například chtěli zjistit, který interpret vydal album s názvem Heavy as a Really Heavy Thing , mohli bychom použít následující dotaz:

MATCH (a:Artist)-[:RELEASED]->(b:Album)
WHERE b.Name = "Heavy as a Really Heavy Thing" 
RETURN a

Tím se vrátí následující uzel:

Vzor, který používáme, můžete vidět v MATCH prohlášení je téměř samovysvětlující. Odpovídá všem interpretům, kteří vydali album s názvem Heavy as a Really Heavy Thing .

Používáme proměnné (tj. a a b ), abychom na ně mohli později v dotazu odkazovat. Neposkytli jsme žádné proměnné pro vztah, protože jsme později v dotazu nemuseli odkazovat na vztah.

Můžete si také všimnout, že první řádek používá stejný vzor, ​​který jsme použili k vytvoření vztahu. To zdůrazňuje jednoduchost jazyka Cypher. Můžeme použít stejné vzory v různých kontextech (tj. k vytváření dat a získávání dat).

Vrátit všechny uzly

Všechny uzly v databázi můžete vrátit jednoduše vynecháním jakýchkoli podrobností o filtrování. Proto následující dotaz vrátí všechny uzly v databázi:

MATCH (n) RETURN n

To má za následek vrácení všech našich uzlů:

Můžete také kliknout na Řádky ikona na straně pro zobrazení dat ve formátu řádků:

Buďte opatrní při vracení všech uzlů. U velké databáze by to mohlo mít zásadní dopad na výkon. Obecně se doporučuje omezit výsledky, abyste předešli nezamýšleným problémům.

Viz „Omezit výsledky“ níže.

Omezit výsledky

Použijte LIMIT omezit počet záznamů ve výstupu. Je to dobrý nápad použít, když si nejste jisti, jak velká bude výsledná sada.

Můžeme tedy jednoduše připojit LIMIT 5 k předchozímu příkazu k omezení výstupu na 5 záznamů:

MATCH (n) RETURN n 
LIMIT 5

  1. SQL Server 2017:Import dat CSV z Linuxu do Salesforce pomocí SSIS

  2. Příklad replikace Oracle Streams krok za krokem

  3. Jak načíst názvy polí z dočasné tabulky (SQL Server 2008)

  4. Vložte data JSON do databáze SQLite v systému Android