Referenční informace k dotazovacímu jazyku Azure Digital Twins: klauzule POZVYHLEDAT

Tento dokument obsahuje referenční informace o klauzuli POZVYHLEDAT pro dotazovací jazyk Azure Digital Twins.

Klauzule MATCH se používá v dotazovacím jazyce Azure Digital Twins jako součást klauzule FROM. MATCH umožňuje určit, který vzor se má sledovat při procházení relací v grafu Služby Azure Digital Twins (označuje se také jako vzor dotazu proměnný segment směrování).

Tato klauzule je při dotazování nepovinná.

Základní syntaxe: POZVYHLEDAT

MATCH podporuje jakýkoli dotaz, který najde cestu mezi dvojčaty v rozsahu segmentů směrování na základě určitých podmínek vztahu.

Podmínka relace může obsahovat jednu nebo více následujících podrobností:

  • Směr relace (zleva doprava, zprava doleva nebo nesměrový)
  • název relace (jeden název nebo seznam možností)
  • Počet segmentů směrování z jednoho dvojčete do druhého (přesné číslo nebo rozsah)
  • Přiřazení proměnné dotazu, které představuje vztah v textu dotazu. To vám také umožní filtrovat vlastnosti relace.

Dotaz s MATCH klauzulí musí také použít klauzuli WHERE k určení $dtId alespoň jednoho z dvojčat, na které odkazuje.

Poznámka:

MATCH je nadmnožina všech JOIN dotazů, které je možné provádět v úložišti dotazů.

Syntaxe

Tady je základní MATCH syntaxe.

Obsahuje tyto zástupné symboly:

  • twin_or_twin_collection (x2): Klauzule MATCH vyžaduje, aby jeden operand představoval jedno dvojče. Druhý operand může představovat jiné jedno dvojče nebo kolekci dvojčat.
  • relationship_condition: V tomto prostoru definujte podmínku, která popisuje vztah mezi dvojčaty nebo kolekcemi dvojčat. Podmínka může zadat směr relace, zadat název relace, zadat počet segmentů směrování, zadat vlastnosti relace nebo libovolnou kombinaci těchto možností.
  • twin_ID: Zde zadejte $dtId v rámci jedné z kolekcí dvojčat, aby jeden z operandů představoval jedno dvojče.
--SELECT ... FROM ...  
MATCH (twin_or_twin_collection_1)-[relationship_condition]-(twin_or_twin_collection_2)
WHERE twin_or_twin_collection.$dtId = 'twin_ID' 
-- AND ...

Jednu z kolekcí dvojčat můžete nechat prázdnou, abyste umožnili fungování jakéhokoli dvojčete na daném místě.

Můžete také změnit počet podmínek relace, abyste měli více zřetězených podmínek relace nebo vůbec žádnou podmínku relace:

--Chained relationship conditions
-- SELECT ... FROM ... 
MATCH (twin_or_twin_collection_1)-[relationship_condition]-(twin_or_twin_collection_2)-[relationship_condition]-(twin_or_twin_collection_3)...
WHERE twin_or_twin_collection.$dtId = 'twin_ID'
-- No relationship condition
-- SELECT ... FROM ... 
MATCH (twin_or_twin_collection_1)
WHERE twin_or_twin_collection.$dtId = 'twin_ID'

Další podrobnosti o jednotlivých typech podmínky relace a jejich kombinování najdete v dalších částech tohoto dokumentu.

Příklad

Tady je příklad dotazu používajícího MATCH.

Dotaz určuje směr relace a hledá dvojčata budov a senzorů, kde...

  • senzor je cílem jakéhokoli vztahu z dvojčete budovy s budovou $dtId Building21 a
  • Senzor má teplotu nad 50. Výsledkem dotazu je sestavení i senzor.
SELECT Building, Sensor FROM DIGITALTWINS 
MATCH (Building)-[]->(Sensor) 
WHERE Building.$dtId = 'Building21' AND Sensor.temperature > 50

Určení směru relace

Pomocí podmínky relace v MATCH klauzuli určete směr relace mezi dvojčaty. Mezi možné směry patří zleva doprava, zprava doleva nebo nesměrné. Cyklické relace se automaticky detekují, takže relace se prochází pouze jednou.

Poznámka:

Pomocí řetězení je možné znázorňovat obousměrné relace.

Syntaxe

Poznámka:

Příklady v této části se zaměřují na směr vztahu. Nezadávají názvy relací, ve výchozím nastavení jeden segment směrování a nepřiřazují k relacím proměnné dotazu. Pokyny k provedení dalších akcí s těmito dalšími podmínkami najdete v tématu Zadání názvu relace, zadání počtu segmentů směrování a přiřazení proměnné dotazu k relaci. Informace o tom, jak použít několik z nich společně ve stejném dotazu, naleznete v tématu Kombinování operací POZVYHLEDAT.

Popisy směrových relací používají vizuální znázornění šipky k označení směru relace. Šipka obsahuje mezeru vyhrazenou hranatými závorkami ([]) pro volitelný název relace.

Tato část ukazuje syntaxi pro různé směry relací. Zástupné hodnoty, které by měly být nahrazeny hodnotami jsou source_twin_or_twin_collection a target_twin_or_twin_collection.

Pro relaci zleva doprava použijte následující syntaxi.

-- SELECT ... FROM ...
MATCH (source_twin_or_twin_collection)-[]->(target_twin_or_twin_collection)
-- WHERE ...

Pro relaci se zápisem zprava doleva použijte následující syntaxi.

-- SELECT ... FROM ...
MATCH (target_twin_or_twin_collection)<-[]-(source_twin_or_twin_collection)
-- WHERE ...

Pro nesměrovou relaci použijte následující syntaxi. Tím se pro relaci nezadá směr, takže do výsledku budou zahrnuty relace libovolného směru.

-- SELECT ... FROM ...
MATCH (source_twin_or_twin_collection)-[]-(target_twin_or_twin_collection)
-- WHERE ...

Tip

Nesměrové dotazy vyžadují další zpracování, což může vést ke zvýšení latence a nákladů.

Příklady

První příklad ukazuje směr zleva doprava. Tento dotaz najde dvojčata Room a Factory, kde...

  • Objekt pro vytváření cílů místnosti (s libovolným názvem relace)
  • Pokoj má hodnotu teploty, která je větší než 50
  • Továrna má " $dtId ABC"
SELECT Room, Factory FROM DIGITALTWINS MATCH (Room)-[]->(Factory) 
WHERE Room.temperature > 50 AND Factory.$dtId = 'ABC'

Poznámka:

Dotazy POZVYHLEDAT, které obsahují $dtId filtry u jakéhokoli jiného dvojčete než počátečního dvojčete pro procházení POZVYHLEDAT, můžou zobrazovat prázdné výsledky. To platí pro factory.$dtId výše uvedený příklad. Další informace najdete v tématu Omezení.

Následující příklad ukazuje směrové procházení zprava doleva. Tento dotaz vypadá podobně jako předchozí dotaz, ale směr vztahu mezi místností a objektem pro vytváření je obrácený. Tento dotaz najde dvojčata Room a Factory, kde...

  • Objekt pro vytváření cílí na místnost (s libovolným názvem relace)
  • Továrna má " $dtId ABC"
  • Pokoj má hodnotu teploty, která je větší než 50
SELECT Room, Factory FROM DIGITALTWINS MATCH (Room)<-[]-(Factory) 
WHERE Factory.$dtId = 'ABC' AND Room.temperature > 50

Následující příklad ukazuje nesměrné procházení. Tento dotaz najde dvojčata Room a Factory, kde...

  • Místnost a továrna sdílejí jakýkoliv název vztahu, a to v obou směrech.
  • Továrna má " $dtId ABC"
  • Pokoj má hodnotu vlhkosti, která je větší než 70
SELECT Factory, Room FROM DIGITALTWINS MATCH (Factory)-[]-(Room) 
WHERE Factory.$dtId ='ABC'  AND Room.humidity > 70

Zadání názvu relace

Volitelně můžete pomocí podmínky relace v MATCH klauzuli zadat názvy relací mezi dvojčaty. Můžete zadat jeden název nebo seznam možných názvů. Volitelný název relace je součástí syntaxe šipky pro určení směru relace.

Pokud nezadáte název relace, bude dotaz ve výchozím nastavení obsahovat všechny názvy relací.

Tip

Zadání názvů relací v dotazu může zlepšit výkon a zvýšit předvídatelnější výsledky.

Syntaxe

Poznámka:

Příklady v této části se zaměřují na název relace. Všechny zobrazují nesměrové relace, ve výchozím nastavení mají jeden segment směrování a nepřiřazují k relacím proměnné dotazu. Pokyny k provedení dalších akcí s těmito dalšími podmínkami najdete v tématu Určení směru relace, Zadání počtu segmentů směrování a přiřazení proměnné dotazu k relaci. Informace o tom, jak použít několik z nich společně ve stejném dotazu, naleznete v tématu Kombinování operací POZVYHLEDAT.

Zadejte název relace, která se má procházet v MATCH klauzuli v hranatých závorkách ([]), za dvojtečku (:). Tato část ukazuje syntaxi zadávání pojmenovaných relací.

Pro jeden název použijte následující syntaxi. Zástupné hodnoty, které by měly být nahrazeny hodnotami, jsou twin_or_twin_collection_1, relationship_namea twin_or_twin_collection_2.

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)-[:relationship_name]-(twin_or_twin_collection_2)
-- WHERE ...

Pro více možných názvů použijte následující syntaxi. Zástupné hodnoty, které by měly být nahrazeny vašimi hodnotami, jsou twin_or_twin_collection_1, relationship_name_option_1relationship_name_option_2, twin_or_twin_collection_2a poznámka pokračovat v vzoru podle potřeby pro počet názvů relací, které chcete zadat.

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)-[:relationship_name_option_1|relationship_name_option_2|continue pattern as needed...]-(twin_or_twin_collection_2)
-- WHERE ...

Důležité

Dvojtečka (:) v hranatých závorkách je požadovaná část syntaxe pro zadání názvu relace v MATCH dotazu. Pokud dvojtečku nezadáte, dotaz nezadá název relace. Místo toho máte dotaz, který přiřadí k relaci proměnnou dotazu.

(Výchozí) Pokud chcete název ponechat nezadaný, nechejte závorky prázdné závorky s informacemi o názvu, například takto:

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)-[]-(twin_or_twin_collection_2)
-- WHERE ...

Příklady

Následující příklad ukazuje jeden název relace. Tento dotaz najde dvojčata Building and Sensor where...

  • Budova má vztah "obsahuje" se senzorem (v obou směrech).
  • Budova má $dtId "Seattle21"
SELECT Building, Sensor FROM DIGITALTWINS   
MATCH (Building)-[:contains]-(Sensor)  
WHERE Building.$dtId = 'Seattle21'

Následující příklad ukazuje několik možných názvů relací. Tento dotaz vypadá podobně jako výše uvedený dotaz, ale výsledek obsahuje několik možných názvů relací. Tento dotaz najde dvojčata Building and Sensor where...

  • Budova má relaci "contains" nebo "isAssociatedWith" se senzorem (v obou směrech).
  • Budova má $dtId "Seattle21"
SELECT Building, Sensor FROM DIGITALTWINS   
MATCH (Building)-[:contains|isAssociatedWith]-(Sensor)  
WHERE building.$dtId = 'Seattle21'

Následující příklad neobsahuje žádný zadaný název relace. V důsledku toho budou relace s libovolným názvem zahrnuty do výsledku dotazu. Tento dotaz najde dvojčata Building and Sensor where...

  • Budova má relaci se senzorem s libovolným názvem (a v libovolném směru).
  • Budova má $dtId "Seattle21"
SELECT Building, Sensor FROM DIGITALTWINS   
MATCH (Building-[]-(Sensor)  
WHERE Building.$dtId = 'Seattle21'

Určení počtu segmentů směrování

Volitelně můžete pomocí podmínky relace v MATCH klauzuli určit počet segmentů směrování pro vztahy mezi dvojčaty. Můžete zadat přesné číslo nebo rozsah. Tato volitelná hodnota je zahrnuta jako součást syntaxe šipky pro určení směru relace.

Pokud nezadáte určitý počet segmentů směrování, dotaz se ve výchozím nastavení nastaví na jeden segment směrování.

Důležité

Pokud zadáte počet segmentů směrování, který je větší než jeden, nemůžete k relaci přiřadit proměnnou dotazu. V rámci stejného dotazu lze použít pouze jednu z těchto podmínek.

Syntaxe

Poznámka:

Příklady v této části se zaměřují na počet segmentů směrování. Všechny zobrazují nesměrové relace bez zadání názvů. Pokyny k tomu, jak s těmito dalšími podmínkami dělat víc, najdete v tématu Určení směru relace a zadání názvu relace. Informace o tom, jak použít několik z nich společně ve stejném dotazu, naleznete v tématu Kombinování operací POZVYHLEDAT.

Zadejte počet segmentů směrování, které se mají procházet v MATCH klauzuli v hranatých závorkách ([]).

Pokud chcete zadat přesný počet segmentů směrování, použijte následující syntaxi. Zástupné hodnoty, které by měly být nahrazeny hodnotami, jsou twin_or_twin_collection_1, number_of_hopsa twin_or_twin_collection_2.

-- SELECT ... FROM ... 
MATCH (twin_or_twin_collection_1)-[*number_of_hops]-(twin_or_twin_collection_2)
-- WHERE ...

K určení rozsahu segmentů směrování použijte následující syntaxi. Zástupné hodnoty, které by měly být nahrazeny hodnotami, jsou twin_or_twin_collection_1, ending_limitstarting_limita twin_or_twin_collection_2. Počáteční limit není součástí rozsahu, zatímco je zahrnutý koncový limit.

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)-[*starting_limit..ending_limit]-(twin_or_twin_collection_2)
-- WHERE ...

Můžete také vynechat počáteční limit, abyste označili "cokoli až" (a včetně) koncového limitu. Koncový limit musí být vždy poskytnut.

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)-[*..ending_limit]-(twin_or_twin_collection_2)
-- WHERE ...

(Výchozí) Pokud chcete nastavit výchozí hodnotu jednoho segmentu směrování, ponechte závorky prázdné informace o směrování, například takto:

-- SELECT ... FROM ... 
MATCH (twin_or_twin_collection_1)-[]-(twin_or_twin_collection_2)
-- WHERE ...

Příklady

Následující příklad určuje přesný počet segmentů směrování. Dotaz vrátí pouze relace mezi dvojčaty floor a místností, které jsou přesně 3 segmenty směrování.

SELECT Floor, Room FROM DIGITALTWINS 
MATCH (Floor)-[*3]-(Room)
WHERE Floor.$dtId = 'thermostat-15'

Následující příklad určuje rozsah směrování. Dotaz vrátí vztahy mezi dvojčaty floor a místností, které jsou mezi 1 a 3 segmenty směrování (to znamená, že počet segmentů směrování je 2 nebo 3).

SELECT Floor, Room FROM DIGITALTWINS 
MATCH (Floor)-[*1..3]-(Room)
WHERE Floor.$dtId = 'thermostat-15'

Rozsah můžete zobrazit také tak, že poskytnete jenom jednu hranici. V následujícím příkladu dotaz vrátí relace mezi dvojčaty floor a místností, které jsou maximálně 2 segmenty směrování (to znamená, že počet segmentů směrování je 1 nebo 2).

SELECT Floor, Room FROM DIGITALTWINS 
MATCH (Floor)-[*..2]-(Room)
WHERE Floor.$dtId = 'thermostat-15'

Následující příklad neobsahuje žádný zadaný počet segmentů směrování, takže se ve výchozím nastavení nastaví jeden segment směrování mezi dvojčaty Floor a Room.

SELECT Floor, Room FROM DIGITALTWINS  
MATCH (Floor)-[]-(Room)
WHERE Floor.$dtId = 'thermostat-15'

Přiřazení proměnné dotazu k relaci (a určení vlastností relace)

Volitelně můžete přiřadit proměnnou dotazu k relaci odkazované v MATCH klauzuli, abyste na ni mohli odkazovat podle názvu v textu dotazu.

Užitečným výsledkem je možnost filtrovat vlastnosti relace v WHERE klauzuli.

Důležité

Přiřazení proměnné dotazu k relaci se podporuje pouze v případech, kdy dotaz určuje jeden segment směrování. V dotazu musíte zvolit, jestli chcete zadat proměnnou relace, a zadat větší počet segmentů směrování.

Syntaxe

Poznámka:

Příklady v této části se zaměřují na proměnnou dotazu pro relaci. Všechny zobrazují nesměrové relace bez zadání názvů. Pokyny k tomu, jak s těmito dalšími podmínkami dělat víc, najdete v tématu Určení směru relace a zadání názvu relace. Informace o tom, jak použít několik z nich společně ve stejném dotazu, naleznete v tématu Kombinování operací POZVYHLEDAT.

Pokud chcete přiřadit proměnnou dotazu k relaci, vložte název proměnné do hranatých závorek ([]). Zástupné hodnoty uvedené níže, které by měly být nahrazeny hodnotami, jsou twin_or_twin_collection_1, relationship_variablea twin_or_twin_collection_2.

-- SELECT ... FROM ...   
MATCH (twin_or_twin_collection_1)-[relationship_variable]-(twin_or_twin_collection_2>) 
-- WHERE ...

Příklady

Následující příklad přiřadí relaci proměnnou dotazu Rel. Později v WHERE klauzuli používá proměnnou k určení, že relace Rel by měla mít vlastnost name s hodnotou "child".

SELECT Floor,Cafe, Rel DIGITALTWINS   
MATCH (Floor)-[Rel]-(Cafe)  
WHERE Floor.$dtId = 'thermostat-15' AND Rel.name = 'child'

Kombinování operací POZVYHLEDAT

Ve stejném dotazu můžete zkombinovat více podmínek relace. Můžete také zřetězit více podmínek relace a vyjádřit obousměrné relace nebo jiné větší kombinace.

Syntaxe

V jednom dotazu můžete zkombinovat směr relace, název relace a jeden z libovolného počtu segmentů směrování nebo přiřazení proměnné dotazu.

Následující příklady syntaxe ukazují, jak lze tyto atributy kombinovat. Můžete také vynechat některé z volitelných podrobností zobrazených v zástupných symbolech, abyste tuto část podmínky vynechali.

Pokud chcete zadat směr relace, název relace a počet segmentů směrování v rámci jednoho dotazu, použijte v podmínce relace následující syntaxi. Zástupné hodnoty, které by měly být nahrazeny hodnotami, jsou twin_or_twin_collection_1 a optional_left_angle_brackettwin_or_twin_collection_2, a optional_right_angle_bracket, relationship_name(s)a , a number_of_hops.

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)optional_left_angle_bracket-[:relationship_name(s)*number_of_hops]-optional_right_angle_bracket(twin_or_twin_collection_2)
-- WHERE

Pokud chcete zadat směr relace, název relace a proměnnou dotazu pro relaci v rámci jednoho dotazu, použijte následující syntaxi v podmínce relace. Zástupné hodnoty, které by měly být nahrazeny hodnotami, jsou twin_or_twin_collection_1 a optional_left_angle_brackettwin_or_twin_collection_2, a optional_right_angle_bracket, relationship_variablea , a relationship_name(s).

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)optional_left_angle_bracket-[relationship_variable:relationship_name(s)]-optional_right_angle_bracket(twin_or_twin_collection_2)
-- WHERE

Poznámka:

Podle možností pro určení směru relace je nutné vybrat mezi levou závorkou pro relaci zleva doprava nebo závorkou pravého úhlu pro relaci zprava doleva. Na stejné šipkě nemůžete zahrnout obojí, ale můžete znázorňovat obousměrné relace zřetězeným řetězcem.

Můžete zřetězit více podmínek vztahů, jako je tato. Zástupné hodnoty, které by měly být nahrazeny hodnotami, jsou twin_or_twin_collection_1všechny instance relationship_conditiona twin_or_twin_collection_2.

--Chained relationship conditions
-- SELECT ... FROM ... 
MATCH (twin_or_twin_collection_1)-[relationship_condition]-(twin_or_twin_collection_2)-[relationship_condition]-(twin_or_twin_collection_3)...
WHERE twin_or_twin_collection.$dtId = 'twin_ID'

Příklady

Tady je příklad, který kombinuje směr relace, název relace a počet segmentů směrování. Následující dotaz najde dvojčata Floor a Room, kde vztah mezi podlahou a místností splňuje tyto podmínky:

  • relace je zleva doprava, jako zdrojová a prostorová jako cíl
  • relace má název "contains" nebo "isAssociatedWith"
  • vztah má 4 nebo 5 segmentů směrování.

Dotaz také určuje, že dvojče floor má $dtId termostat-15.

SELECT Floor, Room FROM DIGITALTWINS    
MATCH (Floor)-[:contains|isAssociatedWith*3..5]->(Room) 
WHERE Floor.$dtId = 'thermostat-15'

Tady je příklad, který kombinuje směr relace, název relace a pojmenovanou proměnnou dotazu pro relaci. Následující dotaz najde dvojčata Floor a Room, kde je vztah mezi podlahou a místností přiřazen k proměnné r dotazu a splňuje tyto podmínky:

  • relace je zleva doprava, jako zdrojová a prostorová jako cíl
  • relace má název "contains" nebo "isAssociatedWith"
  • relace, která je dána proměnnou rdotazu , má vlastnost délky rovna 10

Dotaz také určuje, že dvojče floor má $dtId termostat-15.

SELECT Floor, Room FROM DIGITALTWINS    
MATCH (Floor)-[r:contains|isAssociatedWith]->(Room) 
WHERE Floor.$dtId = 'thermostat-15' AND r.length = 10

Následující příklad znázorňuje zřetězený vztah podmínek. Dotaz najde dvojčata Floor, Cafe a Room, kde...

  • vztah mezi podlahou a místností splňuje tyto podmínky:
    • vztah je zleva doprava, s Floor jako zdroj a Kavárna jako cíl
    • relace má název "contains" nebo "isAssociatedWith"
    • relace, která je daná proměnná rdotazu , má vlastnost délky rovna 10
  • vztah mezi kavárnou a místností splňuje tyto podmínky:
    • vztah je zprava doleva, s místností jako zdrojem a kavárnou jako cílem
    • relace má název "has" nebo "includes"
    • vztah má až 3 (takže 1, 2 nebo 3) směrování

Dotaz také určuje, že dvojče Floor má $dtId termostat-15 a twin Cafe má teplotu 55.

SELECT Floor,Room, Cafe FROM DIGITALTWINS    
MATCH (Floor)-[r:contains|isAssociatedWith]->(Cafe)<-[has|includes*..3]-(Room)  
WHERE Floor.$dtId = 'thermostat-15'  AND r.length = 10 AND Cafe.temperature = 55

Pomocí zřetězených podmínek relací můžete také vyjádřit obousměrné relace. Následující dotaz najde dvojčata Floor, Room a Building, kde...

  • vztah mezi budovou a podlahou splňuje tyto podmínky:
    • relace je zleva doprava, přičemž objekt Building as the source and Floor as the target
    • relace má název isAssociatedWith.
    • relace má proměnnou dotazu. r1
  • vztah mezi podlahou a místností splňuje tyto podmínky:
    • relace je zprava doleva, přičemž Místnost jako zdroj a Podlaha jako cíl
    • relace má název isAssociatedWith.
    • relace má proměnnou dotazu. r2

Dotaz také určuje, že budova dvojčete má $dtId hodnotu building-3 a Místnost má teplotu vyšší než 50.

SELECT Floor, Room, Building FROM DIGITALTWINS    
MATCH (Building)-[r1:isAssociatedWith]->(Floor)<-[r2:isAssociatedWith]-(Room)
WHERE Building.$dtId = 'building-3'  AND Room.temperature > 50

Omezení

Následující omezení platí pro dotazy používající MATCH:

  • Pro každý příkaz dotazu se podporuje pouze jeden MATCH výraz.

  • $dtId v klauzuli WHERE se vyžaduje.

  • Přiřazení proměnné dotazu k relaci se podporuje pouze v případech, kdy dotaz určuje jeden segment směrování.

  • Maximální počet směrování podporovaný v dotazu je 10.

  • Dotazy POZVYHLEDAT, které obsahují $dtId filtry u jakéhokoli jiného dvojčete než počátečního dvojčete pro procházení POZVYHLEDAT, můžou zobrazovat prázdné výsledky. Následující dotaz například podléhá tomuto omezení:

    SELECT A, B, C FROM DIGITALTWINS 
    MATCH A-[contains]->B-[is_part_of]->C 
    WHERE B.$dtId = 'Device01'
    

    Pokud váš scénář vyžaduje použití $dtId u jiných dvojčat, zvažte místo toho použití klauzule JOIN.

  • Dotazy POZVYHLEDAT, které procházejí stejným dvojčetem vícekrát, mohou neočekávaně odebrat toto dvojče z výsledků.