A TypeQL generator for the LinkML open data modeling language, allowing conversion of LinkML schemas and data into TypeQL queries and vice-versa. Intended to be a general system of conversion, development will first focus on building the Biolink Model.
Biolink | LinkML | TypeQL | Comments |
---|---|---|---|
Named thing | Class | Entity | |
Association | Class | Relation | |
Class | Attribute | As attributes are first-class citizens in TypeQL, it is necessary to model them as classes in LinkML. | |
Type | Type | Data type | LinkML has basic and complex data types. Data types in TypeQL would be the attribute value types: long, double, string, boolean, and datetime. Lists in LinkML would be split using delimiters. |
Slot | Slot | Edge | Slots can be used to model role edges (between relations and roleplayers), has edges (between attributes and owners), and value edges (between attributes and data types). |
Mixin | Mixin | TypeQL does not support multiple inheritance. Conversion would be unidirectional from Biolink to TypeQL. | |
Range | Range | ||
Subset | Subset | ||
Enum | Enum |