You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(Note: the content of this issue is mostly copied from DailyDreaming#13)
Steps needed to reach a more complete state
Lay out a LinkmlGenerator class that takes in Python Enum objects and Pydantic models for conversion to LinkML schema
Resolve Pydantic core schema for each model and each field
Identify locally defined fields for each model, e.g. filter out those in __annotations__ that are ClassVar
Separate locally defined fields as newly defined ones and overriding ones. The newly defined ones are to be used for global slot definitions, and the overriding ones are to be used for slot usage definitions.
Layout a SlotGenerator class for generating slot definition from the Pydantic core schema for a field in a Pydantic model
Implement conversion of elemental Pydantic core schema to LinkML slot attribute values in SlotGenerator
Some special care possibly needed to be put in place for conversion of numeric types because "exclusiveMaximum" and "exclusiveMinimum" are currently not available in LinkML
Implement the conversion of Pydantic core model schemas for Pydantic models to LinkML class definitions.
Issues to be solved to reach a more complete state
(Note: the content of this issue is mostly copied from DailyDreaming#13)
Steps needed to reach a more complete state
LinkmlGenerator
class that takes in PythonEnum
objects and Pydantic models for conversion to LinkML schema__annotations__
that areClassVar
SlotGenerator
class for generating slot definition from the Pydantic core schema for a field in a Pydantic modelSlotGenerator
exclusiveMaximum
" and "exclusiveMinimum
" are currently not available in LinkMLIssues to be solved to reach a more complete state
LinkML
(May not be needed for dandischema but needed for the support of other schemas)
(Needed for dandischema but the question is mostly answered)
(May not be needed for dandischema but needed for the support of other schemas)
(Needed for Dandischema which has field types such as
Optional[Union[List[GenotypeInfo], Identifier]]
)multivalued
meta slot doesn't work withinany_of
meta slot elements linkml/linkml#2190(Needed for Dandischema which has field type of
Dict[DigestType, str]
fordigest
inBareAsset
.)PermissibleValue
withtext
containing a colon linkml/linkml#2138(Needed for dandischema which has enum values containing
":"
.)exact_cardinality
metamodel slot doesn't seem to have any effect when used in aSlotDefinition
linkml/linkml#2104(Not needed. There is a workaround.)
(Solution not needed for our purpose)
equals_string_in
meta slot has no affect in validation linkml/linkml#2206(Not needed. Found a workaround)
uri
beyond validation for rangestring
linkml/linkml#2215(Needed for the current translation of URL types in Pydantic)
(Needed for all translations)
Pydantic
The text was updated successfully, but these errors were encountered: