Toto je starší verze dokumentu!
Operátor within
Pokud potřebujeme omezit platnost dotazu na specifickou strukturu, např. větu, můžeme využít operátor within
, který je součástí dotazovacího jazyka CQL. Ten je svojí funkčností velmi podobný operátoru containing
, rozdíly najdeme pouze v podobě výsledného KWICu.
Typickým příkladem využití je situace, kdy chceme hledat dva jevy, vzdálené od sebe několik pozic, jejichž přesný počet neznáme, v rámci jedné věty. CQL dotaz
[word=„buď“] []* [word=„nebo“] within <s />
najde všechny výskyty vícedílné spojky buď - nebo mezi nimiž je neurčený počet jiných slov v rámci jedné věty.
Syntax
Obecná syntax užití tohoto operátoru je: DOTAZ within DOTAZ
. Operátor within
tedy nemusíme využívat pouze ve spojení se strukturními značkami, ale i v kombinaci s jinými dotazy. Budeme-li hledat sekvenci substantiv, která je z obou stran oddělena adjektivy, můžeme využít následující CQL dotaz:
[pos=„N“] within [pos=„A“] []* [pos=„A“]
Zároveň je možné operátor
within využít i pro hledání v rozsáhlejších strukturách než jsou věty nebo konstrukce. Pomocí within
můžeme vyhledávat pouze v určitých textech korpusu, např. jenom v beletrii, nebo v textech z určitého roku. Dotaz
[word=„řekli“] within <opus rokvyd=„20..“ & txtype_group=„beletrie“ />
najde všechny výskyty slovního tvaru řekli v beletristických textech z roku 2000 a pozdějších. Operátor within
je tak v základu definování subkorpusů.
Výsledek
Výsledkem hledání dotazu s operátorem within
je klíčové slovo (příp. klíčová slova) podle specifikace podmínkou předcházející operátoru within
. Např. v situaci, kdy hledáme podle dotazu
[lemma=„vlk“] []* [lemma=„koza“] within <s />
bude jako KWIC označena sekvence pozic začínající lemmatem vlk a končící lemmatem koza, nikoli celá věta, do které je tato sekvencew zasazena. V tomto ohledu se liší od operátoru containing.