Cumbersome usage of terminology
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- python
- Ambito
- developer-experience
Direzione di ricerca
Inizia tracciando i punti di ingresso di Document e Section mostrati negli esempi: repository, get_terminology_equivalent, merge e la costruzione di Section. Confronta i workflow dell’intero documento e di una Section autonoma, quindi chiarisci l’API prevista e i criteri di accettazione per rendere meno macchinoso l’uso della terminologia.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
While preparing the new documentation I stumbled upon the functionality of terminology for Document and Section objects. Let me demonstrate the cumbersome aspects of the repository functionality for integrating terminologies via the following example (performed in odml v1.2):
import odml
# define the G-Node repo
repo_doc = 'http://portal.g-node.org/odml/terminologies/v1.0/terminologies.xml'
# doc1 should be the Document I would like to create by using terminologies of the G-Node repo
doc1 = odml.Document('WantedDoc', repository=repo_doc)
# doc1 is now an empty Document with the G-Node repository
print(doc1)
# output: None by WantedDoc (0 sections)>
# to actually use the terminologies provided via the repository,
# to include an Event section with the provided terminology
# I now have to generate secondary objects
# A: for example, via another Document
doc2 = doc1.get_terminology_equivalent()
# output: Document containing all Sections that are provided as terminologies via the G-Node repo
# <Doc None by None (54 sections)>
# (note that this will currently give a lot of warnings,
# since the terminologies are not yet updated to the recent changes of odML)
doc1.append(odml.Section('MyEvent1', type='whatever'))
doc1.sections['MyEvent1'].merge(doc2.sections['Event'])
# B: via creating and appending a Section which has a type equivalent terminology in the G-Node repo
doc1.append(odml.Section('MyEvent2', type='event'))
ev_sec_a = doc1.sections['MyEvent2'].get_terminology_equivalent()
# output: first Section (with children) occurring in the term. of the G-Node repo with Section type 'event'
# <Section Event[event] (0)>
doc1.sections['MyEvent2'].merge(ev_sec_a)
# NOTE:
# that for A the Section type is irrelevant, because the user actively selects a Section
# from the complete terminology tree of the given repo
# for B, the terminology of the wanted Section is AUTOMATICALLY extracted from the repo
# by matching the Section types
# B also works for a standalone Section, but defining a Section specific repo is only indirectly possible:
repo_sec = 'http://portal.g-node.org/odml/terminologies/v1.0/event/event.xml'
# my_ev_sec = odml.Section('MyEvent3', type='event', repository=repo_sec)
# -> will give a TypeError: __init__() got an unexpected keyword argument 'repository'
# but the following is possible:
my_ev_sec = odml.Section('MyEvent3', type='event')
my_ev_sec.repository = repo_sec
# and then follow B to use the repository functionality
ev_sec_b = my_ev_sec.get_terminology_equivalent()
doc1.append(ev_sec_b.clone())
# will append a clone of the Section with the extracted terminology <Section Event[event] (0)> to doc1
- Lingua principale
- Python
- Stelle
- 25
- Fork
- 30
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di G-Node/python-odml
-
RDF
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
G-Node/python-odml#172 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 58/100
G-Node/python-odml#420 ·
-
Sparse file output Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
G-Node/python-odml#418 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
G-Node/python-odml#417 · 8 commenti ·
-
[CI] Move CI from Travis Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
G-Node/python-odml#406 ·
Tutte le issue di G-Node/python-odml
Issue simili
-
bug confirmed issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
open-webui/open-webui#30750 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100