diff --git a/linkml_runtime/linkml_model/model/schema/annotations.yaml b/linkml_runtime/linkml_model/model/schema/annotations.yaml index 0ab045ba..31672646 100644 --- a/linkml_runtime/linkml_model/model/schema/annotations.yaml +++ b/linkml_runtime/linkml_model/model/schema/annotations.yaml @@ -40,4 +40,3 @@ classes: - annotatable slots: - annotations - diff --git a/linkml_runtime/linkml_model/model/schema/array.yaml b/linkml_runtime/linkml_model/model/schema/array.yaml new file mode 100644 index 00000000..f049abc3 --- /dev/null +++ b/linkml_runtime/linkml_model/model/schema/array.yaml @@ -0,0 +1,279 @@ +id: https://w3id.org/linkml/lib/arrays +name: arrays +title: LinkML Arrays +description: >- + LinkML templates for storing one-dimensional series, two-dimensional arrays, + and arrays of higher dimensionality. + + Status: Experimental + + Note that this model is not intended to be imported directly. Instead, + use `implements` to denote conformance. + +status: testing +# contributors: +# - github:rly +# - github:oruebel +# - github:jmchandonia +# - github:realmarcin +# - github:mavaylon1 +# - github:ialarmedalien +# - github:cmungall + +prefixes: + linkml: https://w3id.org/linkml/ + github: https://github.com/ + gom: https://w3id.org/gom# + +default_prefix: linkml +default_range: string + +imports: + - linkml:types + +classes: + + Any: + class_uri: linkml:Any + + DataStructure: + abstract: true + + Array: + description: >- + a data structure consisting of a collection of *elements*, each identified by at least one array index tuple. + abstract: true + is_a: DataStructure + slots: + - dimensionality + - elements + - array_linearization_order + slot_usage: + elements: + description: >- + the collection of values that make up the array. The elements have a *direct* representation which is + an ordered sequence of values. The elements also have an *array interpretation*, where each + element has a unique index which is determined by array_linearization_order + + + OneDimensionalSeries: + is_a: Array + description: >- + An array that has one dimension + aliases: + - axis + - 1D array + - vector + - series + - row + slots: + - series_label + - length + # TODO: consider offset and rate + slot_usage: + dimensionality: + equals_expression: "1" + + TwoDimensionalArray: + is_a: Array + description: >- + An array that has two dimensions + aliases: + - table + - matrix + - grid + slots: + - axis0 + - axis1 + slot_usage: + dimensionality: + equals_expression: "2" + elements: + description: >- + this will be serialized as one big long list that should be interpreted as a 2D array + + ThreeDimensionalArray: + is_a: Array + description: >- + An array that has two dimensions + aliases: + - 3D array + slots: + - axis0 + - axis1 + - axis2 + slot_usage: + dimensionality: + equals_expression: "3" + + OrderedArray: + mixin: true + description: >- + A mixin that describes an array whose elements are mapped from a linear sequence to an array index + via a specified mapping + + ColumnOrderedArray: + mixin: true + description: >- + An array ordering that is column-order + slots: + - array_linearization_order + slot_usage: + array_linearization_order: + equals_string: COLUMN_MAJOR_ARRAY_ORDER + + RowOrderedArray: + mixin: true + description: >- + An array ordering that is row-order or generalizations thereof + slots: + - array_linearization_order + slot_usage: + array_linearization_order: + equals_string: ROW_MAJOR_ARRAY_ORDER + + MultiDimensionalArray: + is_a: Array + abstract: true + description: >- + An array that has more than two dimensions + + ObjectAsTuple: + comments: + - not modeled as an array since this is used as a metaclass + implements: + - OneDimensionalSeries + + ArrayIndex: + is_a: ObjectAsTuple + + Operation: + abstract: true + description: >- + Represents the transformation of one or more inputs to one or more outputs determined by + zero to many operation parameters + slots: + - specified_input + - specified_output + - operation_parameters + + ArrayIndexOperation: + description: >- + An operation that takes as input an Array and is parameterized by an array index tuple and + yields an array element + slot_usage: + specified_input: + range: Array + maximum_cardinality: 1 + specified_output: + range: Any + maximum_cardinality: 1 + operation_parameters: + range: ArrayIndex + maximum_cardinality: 1 + +slots: + dimensionality: + description: >- + The number of elements in the tuple used to access elements of an array + aliases: + - rank + - dimension + - number of axes + - number of elements + range: integer + axis: + abstract: true + range: OneDimensionalSeries + aliases: + - dimension + description: >- + A one dimensional series that contains elements that form one part of a tuple used to access an array + axis0: + is_a: axis + aliases: + - x + - dimension0 + description: >- + An axis that is the zeroth index of the tuple used to access an array + range: OneDimensionalSeries + rank: 0 + required: true + inlined: true + inlined_as_list: true + axis1: + is_a: axis + aliases: + - y + description: >- + An axis that is the index after the zeroth of the tuple used to access an array + range: OneDimensionalSeries + rank: 1 + required: true + inlined: true + inlined_as_list: true + axis2: + is_a: axis + aliases: + - z + range: OneDimensionalSeries + rank: 2 + required: true + inlined: true + inlined_as_list: true + elements: + # this will be serialized as one big long list that should be interpreted as a 2D array + range: Any + aliases: + - values + required: true + multivalued: true + description: >- + A collection of values that make up the contents of an array. These elements may be interpreted + as a contiguous linear sequence (direct representation) or as elements to be accessed via an + array index + series_label: # the row label + key: true + description: >- + A name that uniquely identifiers a series + length: + description: >- + The number of elements in the array + range: integer + equals_expression: "length(elements)" + array_linearization_order: + range: ArrayLinearizationOrderOptions + ifabsent: "string(ROW_MAJOR_ARRAY_ORDER)" + + specified_input: + range: DataStructure + multivalued: true + specified_output: + range: DataStructure + multivalued: true + operation_parameters: + range: Any + multivalued: true + +enums: + ArrayLinearizationOrderOptions: + description: >- + Determines how a linear contiguous representation of the elements of an array map + to array indices + permissible_values: + COLUMN_MAJOR_ARRAY_ORDER: + meaning: gom:columnMajorArray + description: >- + An array layout option in which the elements in each column is stored in consecutive positions, + or any generalization thereof to dimensionality greater than 2 + aliases: + - F order + ROW_MAJOR_ARRAY_ORDER: + meaning: gom:rowMajorArray + description: >- + An array layout option in which the elements in each row is stored in consecutive positions, + or any generalization thereof to dimensionality greater than 2 + aliases: + - C order + + diff --git a/linkml_runtime/linkml_model/model/schema/datasets.yaml b/linkml_runtime/linkml_model/model/schema/datasets.yaml new file mode 100644 index 00000000..1f95748d --- /dev/null +++ b/linkml_runtime/linkml_model/model/schema/datasets.yaml @@ -0,0 +1,355 @@ +id: https://w3id.org/linkml/datasets +title: LinkML Datasets Datamodel +name: datasets +description: A datamodel for datasets +license: https://creativecommons.org/publicdomain/zero/1.0/ +see_also: + - https://specs.frictionlessdata.io/data-resource + - https://www.w3.org/TR/void/ + - https://www.w3.org/TR/hcls-dataset/ + +prefixes: + linkml: https://w3id.org/linkml/ + datasets: https://w3id.org/linkml/report + skos: http://www.w3.org/2004/02/skos/core# + pav: http://purl.org/pav/ + schema: http://schema.org/ + sh: https://w3id.org/shacl/ + void: http://rdfs.org/ns/void# + frictionless: https://specs.frictionlessdata.io/ + formats: http://www.w3.org/ns/formats/ + csvw: http://www.w3.org/ns/csvw# + dcat: http://www.w3.org/ns/dcat# + mediatypes: https://www.iana.org/assignments/media-types/ + +default_prefix: datasets +default_range: string + +default_curi_maps: + - semweb_context + +emit_prefixes: + - linkml + - rdf + - rdfs + - xsd + - owl + +imports: + - linkml:types + + +# ================================== +# Classes # +# ================================== +classes: + Information: + abstract: true + description: Grouping for datasets and data files + close_mappings: + - schema:CreativeWork + slots: + - id + - download_url + - license + - title + - description + - conforms_to + - conforms_to_schema + - conforms_to_class + - version + - language + - publisher + - keywords + - issued +# - modified + - created_by + - created_on + - compression + - was_derived_from + - page + - test_roles + + DataPackage: + aliases: + - dataset + - file collection + - data resource collection + description: A collection of data resources + is_a: Information + class_uri: void:Dataset + exact_mappings: + - dcat:Dataset + close_mappings: + - dcat:Catalog + see_also: + - https://specs.frictionlessdata.io/data-package + slots: + - resources + + DataResource: + is_a: Information + description: An individual file or table + class_uri: dcat:Distribution + exact_mappings: + - schema:DataDownload + see_also: + - https://specs.frictionlessdata.io/data-resource + slots: + - path + - title + - description + - format + - media_type + - encoding + - bytes + - hash + - md5 + - sha256 + - dialect + + FormatDialect: + description: Additional format information for a file + attributes: + comment_prefix: + delimiter: + double_quote: + header: + quote_char: + +# ================================== +# Slots # +# ================================== +slots: + id: + identifier: true + description: the unique name of th dataset + slot_uri: dcterms:identifier + exact_mappings: + - schema:name + + title: + description: the official title of the element + slot_uri: dcterms:title + + description: + description: human readable description of the information + slot_uri: dcterms:description + + language: + description: language in which the information is expressed + + publisher: + slot_uri: dcterms:publisher + range: uriorcurie + + issued: + slot_uri: dcterms:issued + range: datetime + + page: + slot_uri: dcat:landingPage + + dialect: + slot_uri: csvw:dialect + + bytes: + range: integer + slot_uri: dcat:byteSize + + path: + close_mappings: + - frictionless:path + + download_url: + range: uri + slot_uri: dcat:downloadURL + exact_mappings: + - schema:url + close_mappings: + - frictionless:path + + format: + range: FormatEnum + slot_uri: dcterms:format + + compression: + + encoding: + hash: + notes: + - we recommend using a more specific slot such as sha256 or md5 + sha256: + is_a: hash + md5: + is_a: hash + + media_type: + # range: MediaTypeEnum + range: string + examples: + - value: text/csv + - value: application/json + slot_uri: dcat:mediaType + exact_mappings: + - frictionless:mediatype + - schema:encodingFormat + + conforms_to: + slot_uri: dcterms:conformsTo + range: uriorcurie + + conforms_to_schema: + is_a: conforms_to + exact_mappings: + - frictionless:schema + + conforms_to_class: + is_a: conforms_to + description: class in schema which the data object instantiates + + profile: + range: uriorcurie + exact_mappings: + - frictionless:profiles + + keywords: + singular_name: keyword + multivalued: true + range: string + slot_uri: dcat:keyword + exact_mappings: + - schema:keywords + + themes: + singular_name: theme + multivalued: true + range: uriorcurie + slot_uri: dcat:theme + + resources: + multivalued: true + range: DataResource + slot_uri: dcat:distribution + exact_mappings: + - schema:distribution + + test_roles: + multivalued: true + range: TestRole + + created_by: + range: uriorcurie + description: agent that created the element + slot_uri: pav:createdBy + + created_on: + range: datetime + description: time at which the element was created + slot_uri: pav:createdOn + + last_updated_on: + range: datetime + description: time at which the element was last updated + slot_uri: pav:lastUpdatedOn + + modified_by: + range: uriorcurie + description: agent that modified the element + slot_uri: oslc:modifiedBy + + status: + range: uriorcurie + description: status of the element + slot_uri: bibo:status + examples: + - value: "bibo:draft" + + license: + description: license for the data + slot_uri: dcterms:license + exact_mappings: + - frictionless:licenses + + version: + description: particular version of schema + slot_uri: pav:version + exact_mappings: + - schema:version + - dcterms:hasVersion + + was_derived_from: + slot_uri: prov:wasDerivedFrom + description: A derivation is a transformation of an entity into another, an update + of an entity resulting in a new one, or the construction of a new entity based + on a pre-existing entity.@en + +# ================================== +# Enumerations # +# ================================== +enums: + + TestRole: + permissible_values: + Example: + CounterExample: + + MediaTypeEnum: + exact_mappings: + - dcterms:MediaType + permissible_values: + csv: + meaning: mediatypes:text/csv + rdf-xml: + meaning: mediatypes:application/rdf+xml + + FormatEnum: + permissible_values: + JSON-LD: + meaning: formats:JSON-LD + N3: + meaning: formats:N3 + N-Triples: + meaning: formats:N-Triples + N-Quads: + meaning: formats:N-Quads + LD Patch: + meaning: formats:LD_Patch + Microdata: + meaning: formats:microdata + OWL XML Serialization: + meaning: formats:OWL_XML + OWL Functional Syntax: + meaning: formats:OWL_Functional + OWL Manchester Syntax: + meaning: formats:OWL_Manchester + POWDER: + meaning: formats:POWDER + POWDER-S: + meaning: formats:POWDER-S + PROV-N: + meaning: formats:PROV-N + PROV-XML: + meaning: formats:PROV-XML + RDFa: + meaning: formats:RDFa + RDF/JSON: + meaning: formats:RDF_JSON + RDF/XML: + meaning: formats:RDF_XML + RIF XML Syntax: + meaning: formats:RIF_XML + SPARQL Results in XML: + meaning: formats:SPARQL_Results_XML + SPARQL Results in JSON: + meaning: formats:SPARQL_Results_JSON + SPARQL Results in CSV: + meaning: formats:SPARQL_Results_CSV + SPARQL Results in TSV: + meaning: formats:SPARQL_Results_TSV + Turtle: + meaning: formats:Turtle + TriG: + meaning: formats:TriG + YAML: + JSON: diff --git a/linkml_runtime/linkml_model/model/schema/extensions.yaml b/linkml_runtime/linkml_model/model/schema/extensions.yaml index ca9bd1b1..b015dcae 100644 --- a/linkml_runtime/linkml_model/model/schema/extensions.yaml +++ b/linkml_runtime/linkml_model/model/schema/extensions.yaml @@ -37,9 +37,14 @@ slots: domain: extension alias: value required: true + range: AnyValue classes: + + AnyValue: + class_uri: linkml:Any + extension: description: a tag/value pair used to add non-model information to an entry slots: diff --git a/linkml_runtime/linkml_model/model/schema/mappings.yaml b/linkml_runtime/linkml_model/model/schema/mappings.yaml index 15285e7f..6f1ede05 100644 --- a/linkml_runtime/linkml_model/model/schema/mappings.yaml +++ b/linkml_runtime/linkml_model/model/schema/mappings.yaml @@ -12,7 +12,7 @@ prefixes: IAO: http://purl.obolibrary.org/obo/IAO_ default_curi_maps: - - semweb_context + - semweb_context default_prefix: linkml default_range: string diff --git a/linkml_runtime/linkml_model/model/schema/meta.yaml b/linkml_runtime/linkml_model/model/schema/meta.yaml index efdaa1b1..be73fb1c 100644 --- a/linkml_runtime/linkml_model/model/schema/meta.yaml +++ b/linkml_runtime/linkml_model/model/schema/meta.yaml @@ -49,6 +49,7 @@ prefixes: prov: http://www.w3.org/ns/prov# vann: https://vocab.org/vann/ qudt: http://qudt.org/schema/qudt/ + cdisc: http://rdf.cdisc.org/mms# default_prefix: linkml default_range: string @@ -124,9 +125,9 @@ subsets: description: |- A profile that includes all the metamodel elements whose semantics can be expressed in OWL -#================================== -# Slots # -#================================== +# ================================== +# Slots # +# ================================== slots: # ----------------------------------- @@ -185,6 +186,13 @@ slots: into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element. multivalued: true + + instantiates: + domain: element + range: uriorcurie + description: >- + An element in another schema which this element instantiates. + multivalued: true categories: range: uriorcurie @@ -456,7 +464,7 @@ slots: description: >- the primary language used in the sources comments: - - Recommended to use a string from IETF BCP 47 + - Recommended to use a string from IETF BCP 47 conforms_to: https://www.rfc-editor.org/rfc/bcp/bcp47.txt source: @@ -538,7 +546,7 @@ slots: description: >- A collection of secondary parent classes or slots from which inheritable metaslots are propagated from. comments: - - mixins act in the same way as parents (is_a). They allow a model to have a primary strict hierachy, while keeping the benefits of multiple inheritance + - mixins act in the same way as parents (is_a). They allow a model to have a primary strict hierarchy, while keeping the benefits of multiple inheritance see_also: - https://en.wikipedia.org/wiki/Mixin in_subset: @@ -567,7 +575,7 @@ slots: Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. - Setting this property on a slot does not guarantee an expansion of the ontological hiearchy into an + Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model. status: testing @@ -627,6 +635,8 @@ slots: in_subset: - SpecificationSubset - BasicSubset + exact_mappings: + - cdisc:PermissibleValue enum_uri: aliases: @@ -953,7 +963,7 @@ slots: source_file: domain: schema_definition - readonly: suppplied by the schema loader + readonly: supplied by the schema loader description: name, uri or description of the source of the schema in_subset: - BasicSubset @@ -1432,7 +1442,7 @@ slots: domain: slot_definition range: string inherited: true - description: |- + description: >- function that provides a default value for the slot. Possible values for this slot are defined in linkml.utils.ifabsent_functions.default_library: * [Tt]rue -- boolean True @@ -1515,7 +1525,6 @@ slots: range: integer inherited: true description: the minimum number of entries for a multivalued slot - status: testing in_subset: - SpecificationSubset @@ -1524,7 +1533,6 @@ slots: range: integer inherited: true description: the maximum number of entries for a multivalued slot - status: testing in_subset: - SpecificationSubset @@ -1807,7 +1815,7 @@ slots: range: slot_definition description: >- Ontology property which this slot is a subproperty of. Note: setting this property on a slot - does not guarantee an expansion of the ontological hiearchy into an enumerated list of possible values + does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model. examples: - value: RO:HOM0000001 @@ -2036,7 +2044,7 @@ slots: inherited: true comments: - every root type must have a base - - the base is inherited by child types but may be overriden. Base compatibility is not checked. + - the base is inherited by child types but may be overridden. Base compatibility is not checked. in_subset: - SpecificationSubset - BasicSubset @@ -2288,7 +2296,7 @@ slots: description: the slot to traverse range: slot_definition path_rule: - description: a rule for inferring a slot assignment based on evaluating a path through a sequence of slot assignemnts + description: a rule for inferring a slot assignment based on evaluating a path through a sequence of slot assignments domain: slot_definition range: path_expression @@ -2325,9 +2333,9 @@ slots: - in the context of property graphs, this should be used on edge classes to indicate which slots represent the input and output nodes -#================================== -# Classes # -#================================== +# ================================== +# Classes # +# ================================== classes: Anything: @@ -2362,11 +2370,14 @@ classes: - narrow mappings - broad mappings - created_by + - contributors - created_on - last_updated_on - modified_by - status - rank + - categories + - keywords in_subset: - BasicSubset @@ -2388,6 +2399,7 @@ classes: - local_names - conforms_to - implements + - instantiates see_also: - https://en.wikipedia.org/wiki/Data_element in_subset: @@ -2428,8 +2440,6 @@ classes: - generation_date - slot_names_unique - settings - - categories - - keywords see_also: - https://en.wikipedia.org/wiki/Data_dictionary close_mappings: @@ -2560,6 +2570,7 @@ classes: - concept set - Terminology Value Set - answer list + - value domain description: an element whose instances must be drawn from a specified set of permissible values is_a: definition mixins: @@ -2567,6 +2578,7 @@ classes: exact_mappings: - qb:HierarchicalCodeList - NCIT:C113497 + - cdisc:ValueDomain close_mappings: - skos:ConceptScheme in_subset: @@ -2579,7 +2591,9 @@ classes: - enum_uri match_query: - description: A query that is used on an enum expression to dynamically obtain a set of permissivle values via a query that matches on properties of the external concepts + description: >- + A query that is used on an enum expression to dynamically obtain a set of permissivle values via a query that + matches on properties of the external concepts. slots: - identifier_pattern - source_ontology @@ -2587,7 +2601,9 @@ classes: - SpecificationSubset reachability_query: - description: A query that is used on an enum expression to dynamically obtain a set of permissible values via walking from a set of source nodes to a set of descendants or ancestors over a set of relationship types + description: >- + A query that is used on an enum expression to dynamically obtain a set of permissible values via walking from a + set of source nodes to a set of descendants or ancestors over a set of relationship types. slots: - source_ontology - source_nodes @@ -2997,9 +3013,9 @@ classes: - BasicSubset - RelationalModelProfile -#================================== -# Enumerations # -#================================== +# ================================== +# Enumerations # +# ================================== enums: pv_formula_options: rank: 1 diff --git a/linkml_runtime/linkml_model/model/schema/types.yaml b/linkml_runtime/linkml_model/model/schema/types.yaml index b8981855..c4fd00f6 100644 --- a/linkml_runtime/linkml_model/model/schema/types.yaml +++ b/linkml_runtime/linkml_model/model/schema/types.yaml @@ -16,7 +16,7 @@ default_prefix: linkml default_range: string -#================================== +# ================================== # Common type definitions # # Definition consists of: @@ -25,12 +25,15 @@ default_range: string # base: python base type # repr: representational form in yaml/python if different than representation in base # (additional metadata) -#================================== +# ================================== types: string: uri: xsd:string base: str description: A character string + notes: >- + In RDF serializations, a slot with range of string is treated as a literal or type xsd:string. + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "string". exact_mappings: - schema:Text @@ -38,6 +41,8 @@ types: uri: xsd:integer base: int description: An integer + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "integer". exact_mappings: - schema:Integer @@ -46,6 +51,8 @@ types: base: Bool repr: bool description: A binary (true or false) value + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "boolean". exact_mappings: - schema:Boolean @@ -53,6 +60,8 @@ types: uri: xsd:float base: float description: A real number that conforms to the xsd:float specification + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "float". exact_mappings: - schema:Float @@ -60,6 +69,8 @@ types: uri: xsd:double base: float description: A real number that conforms to the xsd:double specification + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "double". close_mappings: - schema:Float @@ -67,16 +78,19 @@ types: uri: xsd:decimal base: Decimal description: A real number with arbitrary precision that conforms to the xsd:decimal specification + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "decimal". broad_mappings: - schema:Number time: - uri: xsd:dateTime + uri: xsd:time base: XSDTime repr: str description: A time object represents a (local) time of day, independent of any particular day notes: - URI is dateTime because OWL reasoners do not work with straight date or time + - If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "time". exact_mappings: - schema:Time @@ -87,6 +101,7 @@ types: description: a date (year, month and day) in an idealized calendar notes: - URI is dateTime because OWL reasoners don't work with straight date or time + - If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "date". exact_mappings: - schema:Date @@ -95,6 +110,8 @@ types: repr: str base: XSDDateTime description: The combination of a date and time + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "datetime". exact_mappings: - schema:DateTime @@ -103,15 +120,16 @@ types: repr: str base: str description: Either a date or a datetime -# union_of: -# - date -# - datetime + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "date_or_datetime". uriorcurie: uri: xsd:anyURI base: URIorCURIE repr: str description: a URI or a CURIE + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "uriorcurie". curie: uri: xsd:string @@ -121,6 +139,8 @@ types: comments: - in RDF serializations this MUST be expanded to a URI - in non-RDF serializations MAY be serialized as the compact representation + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "curie". conforms_to: https://www.w3.org/TR/curie/ uri: @@ -132,6 +152,8 @@ types: - >- in RDF serializations a slot with range of uri is treated as a literal or type xsd:anyURI unless it is an identifier or a reference to an identifier, in which case it is translated directly to a node + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "uri". close_mappings: - schema:URL conforms_to: https://www.ietf.org/rfc/rfc3987.txt @@ -141,6 +163,8 @@ types: base: NCName repr: str description: Prefix part of CURIE + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "ncname". objectidentifier: uri: shex:iri @@ -148,10 +172,48 @@ types: repr: str description: A URI or CURIE that represents an object in the model. comments: - - Used for inheritence and type checking + - Used for inheritance and type checking + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "objectidentifier". nodeidentifier: uri: shex:nonLiteral base: NodeIdentifier repr: str description: A URI, CURIE or BNODE that represents a node in a model. + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "nodeidentifier". + + jsonpointer: + uri: xsd:string + base: str + repr: str + description: >- + A string encoding a JSON Pointer. The value of the string MUST conform to JSON Point syntax and + SHOULD dereference to a valid object within the current instance document when encoded in tree form. + conforms_to: https://datatracker.ietf.org/doc/html/rfc6901 + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "jsonpointer". + + jsonpath: + uri: xsd:string + base: str + repr: str + description: >- + A string encoding a JSON Path. The value of the string MUST conform to JSON Point syntax and + SHOULD dereference to zero or more valid objects within the current instance document when encoded + in tree form. + conforms_to: https://www.ietf.org/archive/id/draft-goessner-dispatch-jsonpath-00.html + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "jsonpath". + + sparqlpath: + uri: xsd:string + base: str + repr: str + description: >- + A string encoding a SPARQL Property Path. The value of the string MUST conform to SPARQL syntax and + SHOULD dereference to zero or more valid objects within the current instance document when encoded as RDF. + conforms_to: https://www.w3.org/TR/sparql11-query/#propertypaths + notes: >- + If you are authoring schemas in LinkML YAML, the type is referenced with the lower case "sparqlpath". diff --git a/linkml_runtime/linkml_model/model/schema/units.yaml b/linkml_runtime/linkml_model/model/schema/units.yaml index cdf7c660..d6b87389 100644 --- a/linkml_runtime/linkml_model/model/schema/units.yaml +++ b/linkml_runtime/linkml_model/model/schema/units.yaml @@ -40,7 +40,7 @@ slots: has_quantity_kind: range: uriorcurie slot_uri: qudt:hasQuantityKind - description: Concept in a vocabulary or ontology that denotes the kind of quanity being measured, e.g. length + description: Concept in a vocabulary or ontology that denotes the kind of quantity being measured, e.g. length comments: - Potential ontologies include but are not limited to PATO, NCIT, OBOE, qudt.quantityKind @@ -54,7 +54,10 @@ slots: abbreviation: slot_uri: qudt:abbreviation description: >- - An abbreviation for a unit is a short ASCII string that is used in place of the full name for the unit in contexts where non-ASCII characters would be problematic, or where using the abbreviation will enhance readability. When a power of a base unit needs to be expressed, such as squares this can be done using abbreviations rather than symbols (source: qudt) + An abbreviation for a unit is a short ASCII string that is used in place of the full name for the unit in + contexts where non-ASCII characters would be problematic, or where using the abbreviation will enhance + readability. When a power of a base unit needs to be expressed, such as squares this can be done using + abbreviations rather than symbols (source: qudt) descriptive_name: slot_uri: rdfs:label @@ -63,7 +66,9 @@ slots: classes: UnitOfMeasure: class_uri: qudt:Unit - description: A unit of measure, or unit, is a particular quantity value that has been chosen as a scale for measuring other quantities the same kind (more generally of equivalent dimension). + description: >- + A unit of measure, or unit, is a particular quantity value that has been chosen as a scale for + measuring other quantities the same kind (more generally of equivalent dimension). slots: - symbol - abbreviation @@ -91,4 +96,3 @@ classes: - slot_conditions: exact_mappings: required: true - diff --git a/linkml_runtime/linkml_model/model/schema/validation.yaml b/linkml_runtime/linkml_model/model/schema/validation.yaml index c4e642b2..825f5442 100644 --- a/linkml_runtime/linkml_model/model/schema/validation.yaml +++ b/linkml_runtime/linkml_model/model/schema/validation.yaml @@ -16,7 +16,7 @@ default_prefix: reporting default_range: string default_curi_maps: - - semweb_context + - semweb_context emit_prefixes: - linkml @@ -29,10 +29,9 @@ imports: - linkml:types - -#================================== -# Classes # -#================================== +# ================================== +# Classes # +# ================================== classes: ValidationReport: class_uri: sh:ValidationReport @@ -58,12 +57,12 @@ classes: - node_source - info -#================================== -# Slots # -#================================== +# ================================== +# Slots # +# ================================== slots: type: - #range: problem_type + # range: problem_type range: nodeidentifier slot_uri: sh:sourceConstraintComponent subject: @@ -90,9 +89,9 @@ slots: range: string -#================================== -# Enumerations # -#================================== +# ================================== +# Enumerations # +# ================================== enums: problem_type: permissible_values: