Poliqarp2 - przykłady zapytań
Niniejsza strona stanowi załącznik do instrukcji obsługi. W szczególności, zastosowana poniżej numeracja podpunktów odpowiada jej spisowi treści.
Kolorem niebieskim oznaczamy przykłady wykraczające poza możliwości starego Poliqarpa.
Kolorem zielonym oznaczamy przykłady wykraczające poza składnię starego Poliqarpa, ale nie poza jego możliwości.
2. Zapytania o struktury atrybutowe
2.1. Specyfikacje napisów; zapytania proste
- chciałbym
trzy segmenty: [chciał][by][m]
W ogólności - ciąg segmentów nierozdzielonych spacjami, tworzących łącznie podane słowo.
- "(u|ws)trzyma.*"
słowo (segment lub ciąg) pasujące do wyrażenia regularnego
Wyrażenia regularne wymagają użycia cudzysłowów. Składnia wyrażeń regularnych - jak w
Pythonie 3.
- komisji/i
wystąpienie słowa komisji bez uwzględniania wielkości liter
- Nie chciałbym
ciąg słów: [Nie] [chciał][by][m]
2.2. Zapytania o wartości atrybutów
- []
opisuje dowolny węzeł (brak warunków oznacza true)
- [type=seg && orth=Sejm]
znajduje wystąpienia segmentu Sejm
Warunek type=seg jest istotny, ponieważ grupy i słowa składniowe również mają atrybut orth.
- [type=doc && taxonomy_type="#typ_qmow"]
znajduje dokumenty quasi-mówione
Napis zawierający znak inny niż litera, cyfra, podkreślenie i dwukropek (bądź napis z samych cyfr) musi być zawarty w cudzysłowach.
Warunek type=doc nie jest semantycznie istotny, ale w obecnej implementacji przyspieszy wyszukiwanie.
- [type=syngr:AdjG]
znajduje grupy przymiotnikowe w korpusie
- [sons.size=5]
węzeł z dokładnie 5 dziećmi (w sensie krawędziowym)
- [sons.orth.join=oto]
węzeł z jednym dzieckiem oto lub dwoma o, to
2.3. Zapytania o atrybuty morfosyntaktyczne
- [number~~sg]
węzeł, który posiada interpretacje i wszystkie one są w liczbie pojedynczej
Dzięki warunkowi "posiada interpretacje" wynikami tego zapytania nie będą np. węzły typu doc.
- [base~"u.*ć" && gender="m."]
węzeł z pewną interpretacją z formą bazową postaci u...ć oraz pewną interpretacją w jednym z rodzajów męskich
- [base==trzymać/x]
węzeł, który posiada wybrane interpretacje i wszystkie one mają formę bazową zawierającą słowo trzymać
- [type=seg && base=przyjąć]
segment, w którym istnieje wybrana interpretacja z formą bazową przyjąć
- [type=seg && msd.all.size = 3]
segment posiadający dokładnie 3 interpretacje
- [pos~adj && case~nom]
węzeł z pewną interpretacją przymiotnikową oraz pewną mianownikową
- [{pos,case}~{adj,nom}]
węzeł z pewną interpretacją przymiotnikową i równocześnie mianownikową
Delikatnie mocniejszy warunek niż w poprzednim przykładzie; niewyrażalny w starym Poliqarpie!
3. Zapytania wielowęzłowe
3.1. Wyrażenia regularne poziome
3.2. Dominacja i wyrażenia regularne pionowe
- [type=synw && pos=Noun] > [pos!~subst]
słowo składniowe z wybraną intepretacją rzeczownikową posiadające dziecko, dla którego nie istnieje żadna interpretacja ściśle rzeczownikowa, np. wywłaszczanie
- [type=s] >{,3} [accentability=nakc]
węzeł z wybraną interpretacją nieakcentowaną, będący co najwyżej prawnukiem korzenia zdania
- [type="syngr:.*"] >? [person~~pri]
słowo składniowe albo samo będące niewątpliwie w pierwszej osobie, albo mające takie dziecko
- [type=synw] > (nie powinny)
fraza nie powinny złożona z dzieci pewnego słowa składniowego
- [type=s] >{:[sons.size = 2]:}{3} [type=seg]
segment, którego ojciec i dziadek mają po dwoje dzieci, a pradziadek jest korzeniem zdania
- [type=s] >{:[type!=syngr:NG]:}+ [type=seg]
ścieżka od korzenia do segmentu niezawierająca żadnej grupy nominalnej
- [type=syngr:NG && span.size > 5] >[-1]+ [type=seg]
skrajny prawy potomek (wg porządku krawędziowego) grupy nominalnej mającej łącznie ponad 5 potomków
- [type=syngr:NG && span.size > 5].span[-1]
skrajny prawy potomek (wg porządku segmentowego) grupy nominalnej mającej łącznie ponad 5 potomków
3.3. Wyrażenia regularne poziome względem porządku krawędziowego
- [type=syngr:NG].sons = {| [pos!~~Noun]{3,} |}
grupa nominalna, która ma przynajmniej troje dzieci i wszystkie jej dzieci (słowa składniowe) nie są niewątpliwymi rzeczownikami, np. art. 1 ust. 2 pkt 3
- [type=synw].sons = {| []* [orth=nie] [pos!="inf|fin|praet|bedzie"] []* |}
słowo składniowe, wśród którego dzieci występuje węzeł (segment) nie, poprzedzający (w porządku krawędziowym) segment posiadający wybraną interpretację nieczasownikową, np. nie wiadomo
4. Zapytania ogólne
4.1. Budowa zapytania
- Sejm && [base=komisja]
w zdaniu istnieje słowo Sejm oraz forma słowa komisja
- Sejm && ([base=poseł] => [base="pani?"])
w zdaniu istnieje słowo Sejm, a przy tym pamiętano o grzeczności (jeśli istnieje forma słowa poseł, to istnieje też forma słowa pan lub pani)
- Sejm && [base=poseł] && ![base="pani?"]
w zdaniu istnieje słowo Sejm, a przy tym nie pamiętano o grzeczności (p. wyżej)
4.2. Zasięg zapytania
- (Prezydium Sejmu) within [type=doc && taxonomy_type="#typ_qmow"]
znajduje frazę Prezydium Sejmu w dokumentach quasi-mówionych
- (Sejm && [base=komisja]) within p
znajduje akapity zawierające słowo Sejm oraz formę słowa komisja
- (([base=komisja] && i) within syngr:NG) && [base=porządek]
znajduje zdanie zawierające formę słowa porządek oraz wieloczłonową nazwę komisji (a ściślej, grupę nominalną (syngr:NG), która z kolei zawiera w sobie formę słowa komisja oraz spójnik i)
4.3. Zmienne
- $X:=[type=syngr:NG] >* [base=komisja] && $X >* i
znajduje grupę nominalną $X, zawierającą formę słowa komisja oraz spójnik i
- ([base=komisja] $X:=[]* i $Y:=[]*) within syngr:NG
znajduje np. grupę nominalną Komisja Rolnictwa i Gospodarki Żywnościowej; przypisuje zmiennej $X segment Rolnictwa, zaś zmiennej $Y segmenty Gospodarki Żywnościowej