Closed notesjor closed 2 years ago
Hi @notesjor,
wenn ich mir die Beispiel-Collection genauer ansehe, dann fallen mir drei Dinge auf, die irgendwie unerwartet sind:
id="CATMA_959...
müsste es xml:id="CATMA_959...
lauten. In den Beispielen in der Doku ist das immer mit angegeben, soweit ich sehen kann. Allerdings könnte man da sicherlich noch mal explizit auf die unterschiedlichen Namespaces eingehen.<fs>
) sind nicht eindeutig. Z. B. gibt es am Ende des Abschnitts mit den Annotationen ganz am Ende des XML-Dokuments zwei Annotationen mit der ID CATMA_539AD66C-5C1A-4A4C-9E24-B75F71639DD0
. In der Doku heißt es dazu Each Annotation has a uniqe identifier in @xml:id
- Die Tags sind im Verhältnis zu den Annotationen nicht richtig definiert. Im Tagset POS z. B. gibt es für die einzelnen Ausprägungen (PPER, VAFIN, ...) einzelne Tags, die jeweils nur die Standard-Properties für Author und Color haben, also keine zusätzlichen benutzerdefinierten Properties:
<fsDecl n="2020-12-06T12:55:33.000+0000" type="CATMA_59BF0259-3894-411A-A0C7-64ED4494899D" xml:id="CATMA_59BF0259-3894-411A-A0C7-64ED4494899D"> <fsDescr>PPER</fsDescr> <fDecl name="catma_markupauthor" xml:id="CATMA_890929A2-9ACC-4E78-B69B-12E217277CFE"> <vRange> <vColl> <string>CorpusExplorer</string> </vColl> </vRange> </fDecl> <fDecl name="catma_displaycolor" xml:id="CATMA_F9C3B46E-20F4-48CA-A520-A8EFAAFB3B11"> <vRange> <vColl> <string>-11381262</string> </vColl> </vRange> </fDecl> </fsDecl>
In einer zugehörigen Annotation taucht dann aber eine benutzerdefinierte Property POS
auf:
<fs type="CATMA_59BF0259-3894-411A-A0C7-64ED4494899D" xml:id="CATMA_85BAAFE8-DCED-406C-9D49-7A1BF28E2788">
<f name="catma_markupauthor">
<string>CorpusExplorer</string>
</f>
<f name="catma_displaycolor">
<string>-11381262</string>
</f>
<f name="POS">
<string>PPER</string>
</f>
</fs>
Entweder die Property POS
wird mit fDecl
im Tag definiert oder sie muss und kann bei der Annotation weggelassen werden. Der Tag gibt ja hier auch schon an, dass es sich um PPER handelt.
Eine andere Möglichkeit der Kodierung wäre einen Tag POS mit einem benutzerdefinierten Property für die konkrete Ausprägung zu definieren:
<fsDecl n="2020-12-06T12:55:33.000+0000" type="CATMA_59BF0259-3894-411A-A0C7-64ED4494899D" xml:id="CATMA_59BF0259-3894-411A-A0C7-64ED4494899D">
<fsDescr>POS</fsDescr>
<fDecl name="catma_markupauthor" xml:id="CATMA_890929A2-9ACC-4E78-B69B-12E217277CFE">
<vRange>
<vColl>
<string>CorpusExplorer</string>
</vColl>
</vRange>
</fDecl>
<fDecl name="catma_displaycolor" xml:id="CATMA_F9C3B46E-20F4-48CA-A520-A8EFAAFB3B11">
<vRange>
<vColl>
<string>-11381262</string>
</vColl>
</vRange>
</fDecl>
<fDecl name="concrete_pos" xml:id="CATMA_4711">
<vRange>
<vColl>
<string>PPER</string>
<string>VAFIN</string>
<string>ART</string>
.....
</vColl>
</vRange>
</fDecl>
</fsDecl>
Die Annotation dazu würde dann z. B. so aussehen:
<fs type="CATMA_59BF0259-3894-411A-A0C7-64ED4494899D" xml:id="CATMA_85BAAFE8-DCED-406C-9D49-7A1BF28E2788">
<f name="catma_markupauthor">
<string>CorpusExplorer</string>
</f>
<f name="catma_displaycolor">
<string>-11381262</string>
</f>
<f name="concrete_pos">
<string>PPER</string>
</f>
</fs>
Welche Variante man hier wählt hängt ein bisschen davon ab, wie man die Daten innerhalb von CATMA im Annotate- bzw. Analyze-Module benutzen möchte.
Lemma
würde man auf jeden Fall als Property eines Tags ohne Vorschlagswerte (<vColl/>
) definieren, vielleicht zusammen mit einer POS-Property innerhalb eines Tags Token
:
<fsDecl n="2020-12-06T12:55:33.000+0000" type="CATMA_59BF0259-3894-411A-A0C7-64ED4494899D" xml:id="CATMA_59BF0259-3894-411A-A0C7-64ED4494899D">
<fsDescr>Token</fsDescr>
<fDecl name="catma_markupauthor" xml:id="CATMA_890929A2-9ACC-4E78-B69B-12E217277CFE">
<vRange>
<vColl>
<string>CorpusExplorer</string>
</vColl>
</vRange>
</fDecl>
<fDecl name="catma_displaycolor" xml:id="CATMA_F9C3B46E-20F4-48CA-A520-A8EFAAFB3B11">
<vRange>
<vColl>
<string>-11381262</string>
</vColl>
</vRange>
</fDecl>
<fDecl name="POS" xml:id="CATMA_4711">
<vRange>
<vColl>
<string>PPER</string>
<string>VAFIN</string>
<string>ART</string>
.....
</vColl>
</vRange>
</fDecl>
<fDecl name="Lemma" xml:id="CATMA_4712">
<vRange>
<vColl/>
</vRange>
</fDecl>
</fsDecl>
Eine zugehörige Annotation des zweiten Wortes 'ist' könnte dann so aussehen:
<fs type="CATMA_59BF0259-3894-411A-A0C7-64ED4494899D" xml:id="CATMA_85BAAFE8-DCED-406C-9D49-7A1BF28E2788">
<f name="catma_markupauthor">
<string>CorpusExplorer</string>
</f>
<f name="catma_displaycolor">
<string>-11381262</string>
</f>
<f name="POS">
<string>VAFIN</string>
</f>
<f name="Lemma">
<string>sein</string>
</f>
</fs>
Danke für die hilfreichen Hinweise - so langsam irre ich mich nach oben. Mittlerweile erhalte ich eine String OutOfRange Exception. Können Sie mir sagen woran es liegen könnte?
Außerdem: Muss eigentlich ein catma_markupauthor und eine catma_displaycolor angegeben werden? Oder könnte ich das auch weglassen? - Dies würde die Redundanz wesentlich reduzieren
64d7d1ab-5343-4c02-9b15-1937e14f9aeb.txt 64d7d1ab-5343-4c02-9b15-1937e14f9aeb.xml.txt
Danke für die hilfreichen Hinweise
Gerne, ich freue mich, wenn es eine Austauschmöglichkeit zwischen CorpusExplorer und CATMA gibt.
Im <fsdDecl>
beinhaltet das Attribut n
sowohl den Namen des Tagsets als auch einen Versionszeitstempel:
The @n propery contains the name and a version timestamp of the Tagset
In der Beispielcollection gibt es bisher nur den Versionszeitstempel, daher die StringIndexOutOfBoundsException. Der Name und der Zeitstempel müssen durch ein Leerzeichen getrennt werden, also etwa so:
<fsdDecl n="CorpusExplorerTags 2020-12-07T14:44:52.000+0000" xml:id="CATMA_2DE32629-D02C-447D-B1FB-58B37D927773">
Muss eigentlich ein catma_markupauthor und eine catma_displaycolor angegeben werden?
Ja, die müssen sowohl auf der Ebene der Tag Definitionen als Properties mit <fDecl>
deklariert werden (fehlt in Ihrem Beispiel noch), als auch auf der Ebene der Annotationen jeweils mit einem <f>
. Die catma_display_color ist tatsächlich redundant, muss aber mit angegeben werden, das hat historische Gründe, sag ich mal. Der Autor (catma_markupauthor
) einer Annotation kann sich ja tatsächlich vom Autor einer Tag Definition unterscheiden. Gleiches gilt auch für den catma_markuptimestamp
(fehlt auf beiden Ebenen).
Es funktioniert - vielen Dank. Trotzdem: das Format ist nahe an GRAUSAM - aber ich denke, das ist bekannt ("[...] das hat historische Gründe [...]"). Ich werde noch etwas probieren müssen, damit das rauskommt, was ich eigentlich erwarte und sehr gut dokumentieren müssen, wie Nutzer*innen einen 'Round-Trip' (CATMA > CorpusExplorer > CATMA > CorpusExplorer > ...) realisieren können. Trotzdem schonmal vielen Dank für die geduldige Hilfe. Sobald ich fertig bin, melde ich mich.
Ich schließe dieses Issue weil sich länger nichts getan hat. Falls es ein Update oder weitere Fragen gibt gerne wieder öffnen.
Die Dokumentation https://catma.de/documentation/tei-export-format/ ist leider nicht ausreichend. Wenn ich die beigefügte TXT hochladen und danach die XML als Collection anfügen/importieren möchte, dann erhalte ich eine NullPointerException. f92559b6-fa06-4d85-9ac9-12cecf9aa893.txt f92559b6-fa06-4d85-9ac9-12cecf9aa893.xml.txt