python-odml icon indicating copy to clipboard operation
python-odml copied to clipboard

Convenience functions to access and use terminologies

Open lzehl opened this issue 8 years ago • 0 comments

Access and using terminologies (e.g., g-node terminologies) are cumbersome at the moment (cf. example in #74).

It would be nice to have convenience functions in the terminology class for this, e.g.:

import odml.terminology as term

# fetches the g-node terminology, alternatively a local uri or another external url can be stated
term.fetch_terminology("G-Node")

# to find a possible terminology equivalent for a given object (returns clone of terminology entry)
term.get_terminology_equivalent(object)  # object could be a section or a property object
# currently possible is only:
object.get_terminology_equivalent()

# to use a terminology as a building block for building a tree
sec_obj = odml.Section("Subject")

# case 1: I do not know exactly what terminology entry I want (e.g. for property)
new_sec = term.get_terminology(name="Age")  # fetches property in terminology with name age
sec_obj.append(new_sec[2])

# case 2: I know exactly what terminology entry I want (e.g. for section)
sec_obj = term.get_terminology(url="http://portal.g-node.org/odml/terminologies/v1.0/subject/subject.xml", children=False)

In v1.4 the url-identifier could be also replaced with the uuids.

lzehl avatar Aug 05 '17 09:08 lzehl