Syntax der Zeileneingabe → Suchoperatoren → Elementoperatoren → Operator #ELEM |
Elementoperator #ELEM
Definition
#ELEM(Element- und Attributausdruck)
Hintergrund
#ELEM
ist ein Operator für fortgeschrittene Suchanfragen, bei denen die SGML- bzw. XML-Kodierung
in den Korpora abgefragt werden kann. Voraussetzung ist natürlich, dass man diese Kodierungen bereits kennt.
Die XML-Kodierungen bestehen generell aus:
- einem Element,
- optional aus einem oder mehreren Attributen,
- die wiederum ein oder mehrere Werte haben könnten.
Siehe dazu die folgenden Beispiele.
Innerhalb von #ELEM
sollte mindestens der Elementname des tags oder ein Attribut-Werte-Paar
spezifiziert werden. Darüber hinaus können beliebig viele weitere Attrbute und zu jedem Attribut beliebig viele
Werte angegeben werden. Implizit wird zwischen allen Angaben ein logisches UND angenommen.
Das Ungleichheitszeichen (Symbol ≠) zwischen einem Attribut und einem Wert
kann sowohl mit type != 'top' als auch mit type <> 'top' formuliert werden.
Im Gegensatz dazu ist der Operator MORPH ein Beispiel dafür, wie man die interne Korpus-Kodierung für den Benutzer transparent machen kann. Die komplizierte Kodierung der Wortklassen wie <w ana='V PCP...'> wird durch den Operator MORPH vereinfacht (z.B: MORPH(V PCP)) und durch den MORPH-Assistent benutzerfreundlich präsentiert.
Verwendung
Der Operator #ELEM
stammt aus der Syntax
für die grafische Eingabe
(wo er ohne # geschrieben wird) und wurde im August 2010 in die
Syntax für die zeilenorientierte Eingabe übernommen.
#ELEM
wird in der COSMAS II-Syntax auf mehrere Operatoren
wie ELEM
, ATT
und
AAND
abgebildet.
Diese Operatoren werden jedoch in der C1-Syntax nicht benötigt,
da in einem #ELEM
ein
Ausdruck mit beliebigen Attribut-Werte-Kombinationen frei ausgedrückt werden kann.
Beispiel 1: Eingabe eines Elementnamens
#ELEM(S)
|
Gesucht wird in diesem Fall durch Eingabe von 'S' nach dem SGML- bzw. XML-Tag <s> für Sätze.
Beispiel 2: Eingabe eines Elementnamens und eines Attribut-Werte-Paares
#ELEM(HEAD type='top')
|
Gesucht wird in diesem Beispiel mit dem Elementnamen 'HEAD', dem Attribut 'type' und dem Wert 'top' nach Dachüberschriften, die in den IDS-Korpora wie folgt kodiert werden: <head type='top'>.
Beispiel 3: Angabe mehrerer Attribut-Werte-Paare
#ELEM(DIV type='Zeitschrift' complete='Y' n='0')
|
Gesucht wird mit dieser Formulierung nach XML-Kodierung der Art <div type='Zeitschrift' n='0' ...>.
Beispiel 4: Angabe von negierten Attributswerten
#ELEM(W ANA <> 'A ADV') #ELEM(W ANA != 'A ADV') #ELEM(W ANA != 'A' ANA != 'ADV')
|
Diese Formulierungen sind äquivalent und suchen nach Wörtern (<w ...>), deren Wortklasse weder ein Adjektiv noch ein Adverb (CONNEXOR-Tagset) ist.
Diese 3 Beispiele dienen der Veranschaulichung, wie sich beliebige Werte von Attributen verneinen lassen. Eine einfachere und völlig äquivalente Suchanfrage lässt sich auf einer höheren Ebene mit dem MORPH-Operator wie folgt formulieren:
MORPH(-A -ADV)
|
Listenoptionen
- Die Erzeugung von Listen mit dem Operator
#ELEM
kann zusätzlich mit Listenoptionen gesteuert werden; dazu setzen Sie den#BED
-Operator ein.