11# Auto generated from meta.yaml by pythongen.py version: 0.9.0
2- # Generation date: 2023-02-04T10:04:30
2+ # Generation date: 2023-03-16T10:58:36
33# Schema: meta
44#
55# id: https://w3id.org/linkml/meta
66# description: The metamodel for schemas defined using the Linked Data Modeling Language framework. For more
77# information on LinkML: * [linkml.io](https://linkml.io) main website *
8- # [specification](https://linkml.io /linkml-model /docs/specification/) LinkML is self-describing.
9- # Every LinkML schema consists of elements that instantiate classes in this metamodel. Core
10- # metaclasses: * [SchemaDefinition](https://w3id.org/linkml/SchemaDefinition) *
8+ # [specification](https://w3id.org /linkml/docs/specification/) LinkML is self-describing. Every
9+ # LinkML schema consists of elements that instantiate classes in this metamodel. Core metaclasses: *
10+ # [SchemaDefinition](https://w3id.org/linkml/SchemaDefinition) *
1111# [ClassDefinition](https://w3id.org/linkml/ClassDefinition) *
1212# [SlotDefinition](https://w3id.org/linkml/SlotDefinition) *
1313# [TypeDefinition](https://w3id.org/linkml/TypeDefinition) There are many subsets of *profiles* of
@@ -281,7 +281,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]):
281281@dataclass
282282class Element (YAMLRoot ):
283283 """
284- a named element in the model
284+ A named element in the model
285285 """
286286 _inherited_slots : ClassVar [List [str ]] = []
287287
@@ -462,7 +462,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]):
462462@dataclass
463463class SchemaDefinition (Element ):
464464 """
465- a collection of subset, type, slot, enum and class definitions
465+ A collection of definitions that make up a schema or a data model.
466466 """
467467 _inherited_slots : ClassVar [List [str ]] = []
468468
@@ -479,7 +479,7 @@ class SchemaDefinition(Element):
479479 prefixes : Optional [Union [Dict [Union [str , PrefixPrefixPrefix ], Union [dict , "Prefix" ]], List [Union [dict , "Prefix" ]]]] = empty_dict ()
480480 emit_prefixes : Optional [Union [Union [str , NCName ], List [Union [str , NCName ]]]] = empty_list ()
481481 default_curi_maps : Optional [Union [str , List [str ]]] = empty_list ()
482- default_prefix : Optional [str ] = "linkml"
482+ default_prefix : Optional [str ] = None
483483 default_range : Optional [Union [str , TypeDefinitionName ]] = None
484484 subsets : Optional [Union [Dict [Union [str , SubsetDefinitionName ], Union [dict , "SubsetDefinition" ]], List [Union [dict , "SubsetDefinition" ]]]] = empty_dict ()
485485 types : Optional [Union [Dict [Union [str , TypeDefinitionName ], Union [dict , "TypeDefinition" ]], List [Union [dict , "TypeDefinition" ]]]] = empty_dict ()
@@ -497,6 +497,8 @@ class SchemaDefinition(Element):
497497 keywords : Optional [Union [str , List [str ]]] = empty_list ()
498498
499499 def __post_init__ (self , * _ : List [str ], ** kwargs : Dict [str , Any ]):
500+ if self .default_prefix is None :
501+ self .default_prefix = sfx (str (self .id ))
500502 if self ._is_empty (self .name ):
501503 self .MissingRequiredField ("name" )
502504 if not isinstance (self .name , SchemaDefinitionName ):
@@ -576,6 +578,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]):
576578
577579@dataclass
578580class AnonymousTypeExpression (YAMLRoot ):
581+ """
582+ A type expression that is not a top-level named type definition. Used for nesting.
583+ """
579584 _inherited_slots : ClassVar [List [str ]] = ["pattern" , "structured_pattern" , "equals_string" , "equals_string_in" , "equals_number" , "minimum_value" , "maximum_value" ]
580585
581586 class_class_uri : ClassVar [URIRef ] = LINKML .AnonymousTypeExpression
@@ -895,7 +900,7 @@ class EnumDefinition(Definition):
895900 class_model_uri : ClassVar [URIRef ] = LINKML .EnumDefinition
896901
897902 name : Union [str , EnumDefinitionName ] = None
898- enum_uri : Optional [Union [str , URIorCURIE ]] = class_class_curie
903+ enum_uri : Optional [Union [str , URIorCURIE ]] = None
899904 code_set : Optional [Union [str , URIorCURIE ]] = None
900905 code_set_tag : Optional [str ] = None
901906 code_set_version : Optional [str ] = None
@@ -1210,6 +1215,9 @@ class Expression(YAMLRoot):
12101215
12111216@dataclass
12121217class TypeExpression (Expression ):
1218+ """
1219+ An abstract class grouping named types and anonymous type expressions
1220+ """
12131221 _inherited_slots : ClassVar [List [str ]] = ["pattern" , "structured_pattern" , "equals_string" , "equals_string_in" , "equals_number" , "minimum_value" , "maximum_value" ]
12141222
12151223 class_class_uri : ClassVar [URIRef ] = LINKML .TypeExpression
@@ -1345,6 +1353,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]):
13451353
13461354@dataclass
13471355class AnonymousExpression (YAMLRoot ):
1356+ """
1357+ An abstract parent class for any nested expression
1358+ """
13481359 _inherited_slots : ClassVar [List [str ]] = []
13491360
13501361 class_class_uri : ClassVar [URIRef ] = LINKML .AnonymousExpression
@@ -1696,7 +1707,7 @@ class SlotExpression(Expression):
16961707 class_name : ClassVar [str ] = "slot_expression"
16971708 class_model_uri : ClassVar [URIRef ] = LINKML .SlotExpression
16981709
1699- range : Optional [Union [str , ElementName ]] = "string"
1710+ range : Optional [Union [str , ElementName ]] = None
17001711 range_expression : Optional [Union [dict , "AnonymousClassExpression" ]] = None
17011712 enum_range : Optional [Union [dict , EnumExpression ]] = None
17021713 required : Optional [Union [bool , Bool ]] = None
@@ -1819,7 +1830,7 @@ class AnonymousSlotExpression(AnonymousExpression):
18191830 class_name : ClassVar [str ] = "anonymous_slot_expression"
18201831 class_model_uri : ClassVar [URIRef ] = LINKML .AnonymousSlotExpression
18211832
1822- range : Optional [Union [str , ElementName ]] = "string"
1833+ range : Optional [Union [str , ElementName ]] = None
18231834 range_expression : Optional [Union [dict , "AnonymousClassExpression" ]] = None
18241835 enum_range : Optional [Union [dict , EnumExpression ]] = None
18251836 required : Optional [Union [bool , Bool ]] = None
@@ -1986,7 +1997,7 @@ class SlotDefinition(Definition):
19861997 is_a : Optional [Union [str , SlotDefinitionName ]] = None
19871998 mixins : Optional [Union [Union [str , SlotDefinitionName ], List [Union [str , SlotDefinitionName ]]]] = empty_list ()
19881999 apply_to : Optional [Union [Union [str , SlotDefinitionName ], List [Union [str , SlotDefinitionName ]]]] = empty_list ()
1989- range : Optional [Union [str , ElementName ]] = "string"
2000+ range : Optional [Union [str , ElementName ]] = None
19902001 range_expression : Optional [Union [dict , "AnonymousClassExpression" ]] = None
19912002 enum_range : Optional [Union [dict , EnumExpression ]] = None
19922003 required : Optional [Union [bool , Bool ]] = None
@@ -2014,8 +2025,6 @@ class SlotDefinition(Definition):
20142025 all_of : Optional [Union [Union [dict , AnonymousSlotExpression ], List [Union [dict , AnonymousSlotExpression ]]]] = empty_list ()
20152026
20162027 def __post_init__ (self , * _ : List [str ], ** kwargs : Dict [str , Any ]):
2017- if self .slot_uri is None :
2018- self .slot_uri = slots .slot_uri .curie
20192028 if self ._is_empty (self .name ):
20202029 self .MissingRequiredField ("name" )
20212030 if not isinstance (self .name , SlotDefinitionName ):
@@ -2329,7 +2338,7 @@ class ClassDefinition(Definition):
23292338 slots : Optional [Union [Union [str , SlotDefinitionName ], List [Union [str , SlotDefinitionName ]]]] = empty_list ()
23302339 slot_usage : Optional [Union [Dict [Union [str , SlotDefinitionName ], Union [dict , SlotDefinition ]], List [Union [dict , SlotDefinition ]]]] = empty_dict ()
23312340 attributes : Optional [Union [Dict [Union [str , SlotDefinitionName ], Union [dict , SlotDefinition ]], List [Union [dict , SlotDefinition ]]]] = empty_dict ()
2332- class_uri : Optional [Union [str , URIorCURIE ]] = class_class_curie
2341+ class_uri : Optional [Union [str , URIorCURIE ]] = None
23332342 subclass_of : Optional [Union [str , URIorCURIE ]] = None
23342343 union_of : Optional [Union [Union [str , ClassDefinitionName ], List [Union [str , ClassDefinitionName ]]]] = empty_list ()
23352344 defining_slots : Optional [Union [Union [str , SlotDefinitionName ], List [Union [str , SlotDefinitionName ]]]] = empty_list ()
@@ -3292,6 +3301,7 @@ class UniqueKey(YAMLRoot):
32923301
32933302 unique_key_name : Union [str , UniqueKeyUniqueKeyName ] = None
32943303 unique_key_slots : Union [Union [str , SlotDefinitionName ], List [Union [str , SlotDefinitionName ]]] = None
3304+ consider_nulls_inequal : Optional [Union [bool , Bool ]] = None
32953305 extensions : Optional [Union [Dict [Union [str , ExtensionTag ], Union [dict , Extension ]], List [Union [dict , Extension ]]]] = empty_dict ()
32963306 annotations : Optional [Union [Dict [Union [str , AnnotationTag ], Union [dict , Annotation ]], List [Union [dict , Annotation ]]]] = empty_dict ()
32973307 description : Optional [str ] = None
@@ -3337,6 +3347,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]):
33373347 self .unique_key_slots = [self .unique_key_slots ] if self .unique_key_slots is not None else []
33383348 self .unique_key_slots = [v if isinstance (v , SlotDefinitionName ) else SlotDefinitionName (v ) for v in self .unique_key_slots ]
33393349
3350+ if self .consider_nulls_inequal is not None and not isinstance (self .consider_nulls_inequal , Bool ):
3351+ self .consider_nulls_inequal = Bool (self .consider_nulls_inequal )
3352+
33403353 self ._normalize_inlined_as_dict (slot_name = "extensions" , slot_type = Extension , key_name = "tag" , keyed = True )
33413354
33423355 self ._normalize_inlined_as_dict (slot_name = "annotations" , slot_type = Annotation , key_name = "tag" , keyed = True )
@@ -3501,7 +3514,9 @@ class RelationalRoleEnum(EnumDefinitionImpl):
35013514 )
35023515
35033516class AliasPredicateEnum (EnumDefinitionImpl ):
3504-
3517+ """
3518+ permissible values for the relationship between an element and an alias
3519+ """
35053520 EXACT_SYNONYM = PermissibleValue (text = "EXACT_SYNONYM" ,
35063521 meaning = SKOS .exactMatch )
35073522 RELATED_SYNONYM = PermissibleValue (text = "RELATED_SYNONYM" ,
@@ -3513,6 +3528,7 @@ class AliasPredicateEnum(EnumDefinitionImpl):
35133528
35143529 _defn = EnumDefinition (
35153530 name = "AliasPredicateEnum" ,
3531+ description = "permissible values for the relationship between an element and an alias" ,
35163532 )
35173533
35183534# Slots
@@ -3582,6 +3598,9 @@ class slots:
35823598slots .created_by = Slot (uri = PAV .createdBy , name = "created_by" , curie = PAV .curie ('createdBy' ),
35833599 model_uri = LINKML .created_by , domain = Element , range = Optional [Union [str , URIorCURIE ]])
35843600
3601+ slots .contributors = Slot (uri = DCTERMS .contributor , name = "contributors" , curie = DCTERMS .curie ('contributor' ),
3602+ model_uri = LINKML .contributors , domain = Element , range = Optional [Union [Union [str , URIorCURIE ], List [Union [str , URIorCURIE ]]]])
3603+
35853604slots .created_on = Slot (uri = PAV .createdOn , name = "created_on" , curie = PAV .curie ('createdOn' ),
35863605 model_uri = LINKML .created_on , domain = Element , range = Optional [Union [str , XSDDateTime ]])
35873606
@@ -3828,6 +3847,9 @@ class slots:
38283847slots .unique_key_name = Slot (uri = LINKML .unique_key_name , name = "unique_key_name" , curie = LINKML .curie ('unique_key_name' ),
38293848 model_uri = LINKML .unique_key_name , domain = UniqueKey , range = Union [str , UniqueKeyUniqueKeyName ])
38303849
3850+ slots .consider_nulls_inequal = Slot (uri = LINKML .consider_nulls_inequal , name = "consider_nulls_inequal" , curie = LINKML .curie ('consider_nulls_inequal' ),
3851+ model_uri = LINKML .consider_nulls_inequal , domain = UniqueKey , range = Optional [Union [bool , Bool ]])
3852+
38313853slots .unique_key_slots = Slot (uri = LINKML .unique_key_slots , name = "unique_key_slots" , curie = LINKML .curie ('unique_key_slots' ),
38323854 model_uri = LINKML .unique_key_slots , domain = UniqueKey , range = Union [Union [str , SlotDefinitionName ], List [Union [str , SlotDefinitionName ]]])
38333855
@@ -3894,7 +3916,7 @@ class slots:
38943916slots .all_members = Slot (uri = LINKML .all_members , name = "all_members" , curie = LINKML .curie ('all_members' ),
38953917 model_uri = LINKML .all_members , domain = None , range = Optional [Union [dict , AnonymousSlotExpression ]])
38963918
3897- slots .singular_name = Slot (uri = SKOS . altLabel , name = "singular_name" , curie = SKOS .curie ('altLabel ' ),
3919+ slots .singular_name = Slot (uri = LINKML . singular_name , name = "singular_name" , curie = LINKML .curie ('singular_name ' ),
38983920 model_uri = LINKML .singular_name , domain = SlotDefinition , range = Optional [str ])
38993921
39003922slots .required = Slot (uri = LINKML .required , name = "required" , curie = LINKML .curie ('required' ),
0 commit comments