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 https://github.com/linkml/linkml-runtime/pull/200
* bug: add missing logging import to csvutils.py by joshmoore in https://github.com/linkml/linkml-runtime/pull/201
* Materialize structured patterns on class slot usages and attributes by pkalita-lbl in https://github.com/linkml/linkml-runtime/pull/204
* Change poetry installation method in CI to pipx by dalito in https://github.com/linkml/linkml-runtime/pull/214
* Adding test for ambiguous attributes by cmungall in https://github.com/linkml/linkml-runtime/pull/207
* Creating an ObjectIndex, fixes https://github.com/linkml/linkml/issues/1009 by cmungall in https://github.com/linkml/linkml-runtime/pull/211
* relax prefixcommons pinning by cmungall in https://github.com/linkml/linkml-runtime/pull/206
New Contributors
* joshmoore made their first contribution in https://github.com/linkml/linkml-runtime/pull/201
* pkalita-lbl made their first contribution in https://github.com/linkml/linkml-runtime/pull/204
**Full Changelog**: https://github.com/linkml/linkml-runtime/compare/v1.3.2...v1.3.3