10 - Informatische Werkzeuge in den Geistes- und Sozialwissenschaften I (WS 2020/21) [ID:28514]
50 von 463 angezeigt

Jetzt kommt Neues zurück. Also wir hatten über XML gesprochen und wir hatten über Bäume gesprochen.

Und in Bäumen ist es so, dass wenn wir über einen bestimmten Teilbaum reden wollen oder über eine

Menge von Teilbäumen, dann tun wir das typischerweise, indem wir sozusagen den Pfad,

ja was muss ich machen, um da hinzukommen, angeben können. Wenn ich zum Beispiel jetzt sagen will,

ich will diesen Teilbaum, das OMS und diese beiden Kinder, will ich charakterisieren, dann sagt man,

naja, um da hinzukommen, das ist letztlich wie eine Wegbeschreibung, sagt man, okay,

wenn du dahin willst, fängst du bei der Würzel an, dann gehst du über einen OM-Text, dann gehst du

über einen CMP und du gehst an einem OM-Object vorbei und dann bist du da. Also genauso, dass

die erste links, die zweite rechts und eine Kreuzung dann geradeaus. Hier ist das genauso,

nur dass wir letztlich keine Kreuzungen und links rechts haben, sondern wir sagen, okay,

wir beschreiben, wir machen eine Wegbeschreibung bis zu dem Teilbaum und dann haben wir da

irgendeinen Teilbaum und dafür haben wir wiederum eine kleine kleine Spezialsprache. Die hat wiederum

Wörter, die so etwas, die solche Bäume beschreiben und die meisten versucht man möglichst kurz zu

machen, möglichst einzelne Buchstaben, so ein bisschen wie Regular Expressions. Auch wieder so

eine Mikrosprache. Diese Sprache heißt XPath und die ist standardisiert, das heißt, die wird in

allen, die wird in allen Tools gleichartig verwendet. Jetzt müssen wir ein bisschen wieder Vokabeln

lernen, wie bei jeder Sprache. Wir haben eine Vokabel für den Wurzel, für die Wurzel eines

Baums und das ist nichts anderes als ein einzelner Slash. Das heißt, wenn ich hier, wenn ich sage,

der Pfad Slash, auf welchen Teilbaum referenziert der, nämlich den, wo ich bei der Wurzel anfange

und direkt schon wieder aufhöre. Ich bin schon da. Das heißt, dieser gesamte Baum ist der Teilbaum

an dem Pfad Slash. Wenn ich jetzt, wenn ich sage, okay, am Omtext, du gehst zum nächsten Omtext,

dann schreibe ich einfach Omtext. Wenn ich dann sage, und dann muss ich auch noch bei dem

CMP vorbeigehen, dann sagt man Slash CMP. Und wenn ich sage, okay, dann alle Kinder, dann kann ich

Stern sagen. Stern heißt immer beliebig viele oder keine und das wäre in diesem Fall, man geht über

einen Omtext drüber, dann über einen CMP drüber und dann alle Kinder, dann hat man drei Teilbäume,

einmal diesen Textknoten, diesen Teilbaum und dann noch den Textknoten. Wir erinnern uns,

die Blätter sind auch Teilbäume. Dieser Pfad beschreibt drei Teilbäume. Slash Slash sagt

beliebige Pfade. Wenn ich nur Slash Slash sage, dann kriege ich alle möglichen Teilbäume. Aber wenn

ich dann da dran sage, okay, add name, das add Slash, Achtung, ich werde, ich suche ein Attribut und zwar

in diesem Fall das name Attribut und jetzt gucken wir uns an, ob es irgendeinen Teilbaum gibt,

der ein name Attribut hat. Da ist keins, das ist keins, das ist keins, das ist keins, das ist keins,

das ist keins, das ist keins. Ah, ein name Attribut. Dieser kleine Pfad sagt, suche im gesamten Baum,

das ist Slash Slash, ein name Attribut. Na, da ist es. Das heißt, das ist dieses Blatt, wird dadurch

gekennzeichnet. Okay, dann habe ich hier ein Pfad wie eben Slash Slash CMP, das sagt beliebige

CMP-Knoten, Slash Stern sagt beliebige Kinder und wenn ich dann in eckigen Klammern eins sage,

sagt das aus diesen beliebigen Kindern, nimm bitte das erste. Das ist so eine Art Bedingung und die

Bedingung eins heißt, das erste bitte. Das heißt, in diesem Fall ist das hier dieser Textknoten.

Ja, und dann gibt es noch so was wie Slash Slash Stern, ist beliebige Elemente und dann kann ich

die Bedingung sagen, add CD, das heißt, ich habe einen CD-Knoten und das Gleiche sagt mir,

der Wert muss nums eins sein, das heißt, hier gucken wir uns alle Elemente an,

dessen C-Attribut den Wert nums eins hat. Okay, das zeigt uns, dass wir hier eine Sprache haben,

in der wir über Teilbäume reden können. Das ist so eine Art, wie reguläre Ausdrücke über Teil

Strings, Teil Zeichenketten reden, haben wir hier eine Sprache, auch wie reguläre Ausdrücke,

die über Teil Bäume reden können. Genau wie wir, wenn wir reguläre Ausdrücke haben, so was wie

Ersätze, alle Teilausdrücke, die folgendermaßen sind durch Laberdigval, können wir ganz ähnliche

Dinge machen und deswegen ist die Pfadsprache X-Path so wichtig, wenn wir über Bäume reden wollen.

Zum Beispiel, wenn wir in unserer LXML Library sind und wir haben einen Baum, ein Foo-Knoten und

da drin ein Baarknoten und wenn wir dann die X-Path Methode nehmen, also sagen wir haben Tree.xpath

FooBar, dann gibt er mir alle, dann gibt er mir alle, gibt er mir in R alle Teilbäume über und dann

kann ich gucken, wie viele gibt es davon, naja FooBar, das ist ein Teilbaum, nämlich gerade das

Zugänglich über

Offener Zugang

Dauer

01:11:03 Min

Aufnahmedatum

2021-01-21

Hochgeladen am

2021-01-21 20:19:44

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen