v1.3.3
Highlights
Given a tree-root/container object, this will create an index,
and allow for retrieval of proxy objects that shadow domain
YAMLRoot classes. These operate in the same way, except that
object references are automatically dereferenced.
For example, given a container object following the standard
personinfo schema, an index can be created and queried:
>>> ix = ObjectIndex(container, schemaview=schemaview)
>>> container = ix.bless(container)
>>> for p in container.persons:
>>> for r in p.has_familial_relationships():
>>> print(f"{p.name} {p.type} {r.related_to.name}")
Note this will work even if related_to is not inlined.
This means naive traversal of the object tree is not guaranteed
to be bounded, unlike with a YAMLRoot object. E.g.
>>> person.has_familial_relationships[0].
>>> related_to.has_familial_relationships[0].
>>> related_to.has_familial_relationships[0].name
In the above, the same proxy object is reused for any
object with an identifier.
What's Changed
- Add linkml to introspection path by @cmungall in #200
- bug: add missing logging import to csvutils.py by @joshmoore in #201
- Materialize structured patterns on class slot usages and attributes by @pkalita-lbl in #204
- Change poetry installation method in CI to pipx by @dalito in #214
- Adding test for ambiguous attributes by @cmungall in #207
- Creating an ObjectIndex, fixes linkml/linkml#1009 by @cmungall in #211
- relax prefixcommons pinning by @cmungall in #206
New Contributors
- @joshmoore made their first contribution in #201
- @pkalita-lbl made their first contribution in #204
Full Changelog: v1.3.2...v1.3.3