ddionrails / steering

0 stars 0 forks source link

Verallgemeinerung Datenmodell: ein concept kann mehr topics haben #5

Closed kwenzig closed 1 year ago

kwenzig commented 4 years ago

Use Cases:

jgoebel commented 4 years ago

Mit dem letzten Punkte werden die Topics dann aber mehr in eine Möglichkeit eine Gruppe von concepts zu beschreiben und werden dadurch zeitlich auch variabler.

kwenzig commented 4 years ago

Im Datenmodell ist dies wohl schon vorgesegehen. Tatsächlich wird topic-Liste als JSON-Blob imporiert.

Weitere Schritte:

kwenzig commented 4 years ago

Derzeit (https://github.com/kwenzig/soep-core/blob/master/metadata/concepts.csv) ist es so:

concept topic topic_prefix label_de label
_100_p_tim t0901000000000000 tim beruf,lehre,nebenerw. std., so hours sunday job, training
_1000_p_ila t0802030000000000 ila entwicklung des lebensunterhaltskosten developments in cost of living
_1001_p_ila t0802030000000000 ila entwicklung d. reg. umweltsituation developments in local environment

Künftig eine concepts.csv:

concept label_de label
_100_p_tim beruf,lehre,nebenerw. std., so hours sunday job, training
_1000_p_ila entwicklung des lebensunterhaltskosten developments in cost of living
_1001_p_ila entwicklung d. reg. umweltsituation developments in local environment

und eine concepts_topics.csv:

concept topic
_100_p_tim tim
_1000_p_ila ila
_1001_p_ila ila

Die topics bleiben hierarchisch organisiert. In sofern ändert sich an der Darstellung im Topic-Baum nichts.

Use-Case - zwei neue Äste im topic-Baum:

Ein concept kann dann jedem Ast zugeordnet werden, Replikationskalender und Companion könnten dann auf ihre topics verlinken.

Replikationskalender (hinter dem Link finden sich zugeordnete Fragen): image

Companion: image

kwenzig commented 4 years ago

Soll anhand einer concepts.csv getetstet werde, die mehrere Zeilen pro concept hat. Knut wird die erstellen.

hansendx commented 3 years ago

In addition to the files, that are delivered to the ./metadata/ folder:

There is a third file, that is imported into the system:

It is created from the other two files with this script: https://github.com/ddionrails/ddi.py/blob/master/ddi/onrails/repos/topics.py The topics.json is imported "as is" into a JSON field in the database. It is used to display the topic tree, whereas the content in the other files is used for everything else pertaining topics and concepts. This might need refactoring, in order to accomplish the goal here.

TODO: look into creation of topics.json and import. Evaluate possible effort needed.