User talk:Dagmar Triebel

From Meta-Omics Data of Collection Objects
Jump to: navigation, search

xml archiving DD

Anton Link, email 23.1.20

Für DD habe ich eine Funktion eingebaut, wo man für die Terminologie - also Descriptoren und Categorical States - MediaWiki-Seiten ähnlich wie für unsere Datenmodelle erzeugen kann.

Diesen Algorithmus habe ich dann ja auch in das Documentations-Formular der DiversityWorkbench übertragen und angepasst, so dass wir seit einiger Zeit eben auch unsere Datenmodelle als SemanticMediaWiki erzeugen können.

Im MOD-CO-Projekt, das der Ausgangspunkt dieser Entwicklungen war, wurde zuerst nur an einem Schema gearbeitet, mit dem entsprechende Daten "high level" strukturiert werden können. Das bedeutet, dass in DD nur der "Terminologie-Teil" (Descriptoren und Categorical States)verwendet wurden. Im Folgeprojekten wurden zusätzlich auch reale Daten gemäß eines solchen Schemas erfasst und es kam die Frage auch, wie man solche Daten auch außerhalb von DD erfassen könnte. Ich habe mir daher basierend auf das SemantikMediaWiki dann folgendes Mapping nach XML ausgedacht:

1. Descriptoren werden direkt in XML-Tags umgesetzt, wobei eine rein formale Konvertierung der Descriptornamen erfolgt um die entsprechenden Syntaxanforderungen zu erfüllen. Z.B.: "Does_it_have_patches_on_its_back?" wird zu "DoesItHavePatchesOnItsBack"

2. Für die vier möglichen Descriptortypen (categorical, quantitative, text und sequence) werden unter den "Descriptor-Tags" entsprechende Elemente eingefügt um die wichtigsten Beschreibungparameter unterzubringen. Für categorical Descriptoren z.B. eine Komponente für den Categorical State, wobei ein dazu passender Enum-Typ mit erzeugt wird. Zusätzlich aber auch ein "Notes"-Element etc.

3. Diese ganze Grundstruktur, ergänzt um Komponenten für den "Item-Namen", "Details" etc. wird in einen "Überbau" eingebettet, der es gestattet mehrere Items in einem gemeinsamen Dokument zu verpacken.

4. Die meisten Einschränkungen/Vorgaben aus DD, z.B. ob ein Merkmal Pflichtparameter ist oder nur einfach/mehrfach angegeben werden darf, lassen sich gut in die üblichen XML-Boardmittel abbilden (minOccurs, maxOccurs).

Als Beispiel mal die aus unseren Workshops bekannte und beliebte "Example plant" als XML:

Das zugehörige XML-Schema ist natürlich etwas länger:

Was relativ "elegant" ist kann man am zweiten Screenshot erkennen: Im XML-Schema wird in der Dokumentation ("xs:documentation source...") auf eine ggf. vorhandene Semantic MediaWiki-Seite Bezug genommen (bitte am Präfix "dwbWorkbench" nicht stören, der kann frei vergeben werden).

Allerdings gibt es NUR einen Export aus DD. Wie ein Import so ohne weiteres realisierbar wäre? So gesehen ist das ganze vielleicht eher ein Beispiel, wie man so ein XML-Dokument strukturieren könnte...

Ohne dass ich mich mit der Archiv-Funktion der Diversity Workbench bisher befasst habe, hat diese wohl den Vorteil, dass die Daten in beide Richtungen fließen. D. h. man kann tatsächlich aus der Applikation Exportieren und wieder Importieren. Wenn man die Documentation-Funktion für eine XSD-/XML-Generierung erweitert, muss man sich auch ein starres Mapping der diversen Komponenten nach XML überlegen. Insofern sehe ich da an Markus' Einwand kein großes Problem.

Viele Grüße

   Toni

> Hallo zusammen, > > die Archivierungsfunktion die jetzt u.a. in DC eingebaut ist nutzt fuer die Erzeugung des XML die Defaultfunktionen der C#-Tabellen. Da kann man nicht weiter eingreifen, sprich es kommt immer so raus wie es jetzt ist. > > daher erscheint es mir sinnvoller diese Funktionalität in die Documentation-Funktion einzubauen. Da laeuft der Export jetzt fuer HTML, MediaWiki, ... > waer dann dort nur ein Tab mehr mit XML oder evtl. besser JSON > > Viele Gruesse, > Markus