diff --git a/.env.public b/.env.public new file mode 100644 index 0000000..1b2cfba --- /dev/null +++ b/.env.public @@ -0,0 +1,27 @@ +# This file is public in git. No sensitive info allowed. + +###### schema definition variables, used by makefile + +LINKML_SCHEMA_NAME="cmdr" +LINKML_SCHEMA_AUTHOR="LinkML Team " +LINKML_SCHEMA_DESCRIPTION="Core Model for Clinical Data Collection" +LINKML_SCHEMA_SOURCE_PATH="src/cmdr/schema/cmdr.yaml" + +###### linkml generator variables, used by makefile + +## gen-project configuration file +LINKML_GENERATORS_CONFIG_YAML= --config-file config.yaml + +## pass args if gendoc ignores config.yaml (i.e. --no-mergeimports) +LINKML_GENERATORS_DOC_ARGS= + +## pass args to workaround genowl rdfs config bug (linkml#1453) +## (i.e. --no-type-objects --no-metaclasses --metadata-profile rdfs) +LINKML_GENERATORS_OWL_ARGS= + +## pass args to trigger experimental java/typescript generation +LINKML_GENERATORS_JAVA_ARGS= +LINKML_GENERATORS_TYPESCRIPT_ARGS= + +LINKML_SCHEMA_GOOGLE_SHEET_ID="1wVoaiFg47aT9YWNeRfTZ8tYHN8s8PAuDx5i2HUcDpvQ" +LINKML_SCHEMA_GOOGLE_SHEET_TABS="personinfo enums" diff --git a/Makefile b/Makefile index 0454623..2838e66 100644 --- a/Makefile +++ b/Makefile @@ -16,11 +16,20 @@ PYMODEL = $(SRC)/$(SCHEMA_NAME)/datamodel DOCDIR = docs EXAMPLEDIR = examples SHEET_MODULE = from_sheets -SHEET_ID = $(shell ${SHELL} ./utils/get-value.sh google_sheet_id) -SHEET_TABS = $(shell ${SHELL} ./utils/get-value.sh google_sheet_tabs) +SHEET_ID = $(LINKML_SCHEMA_GOOGLE_SHEET_ID) +SHEET_TABS = $(LINKML_SCHEMA_GOOGLE_SHEET_TABS) SHEET_MODULE_PATH = $(SOURCE_SCHEMA_DIR)/$(SHEET_MODULE).yaml +CONFIG_YAML = config.yaml # environment variables + +.EXPORT_ALL_VARIABLES: +ifdef LINKML_ENVIRONMENT_FILENAME +include ${LINKML_ENVIRONMENT_FILENAME} +else +include .env.public +endif + GEN_PARGS = ifdef LINKML_COOKIECUTTER_GEN_PROJECT_ARGS GEN_PARGS = ${LINKML_COOKIECUTTER_GEN_PROJECT_ARGS} @@ -100,7 +109,7 @@ gen-examples: # generates all project files gen-project: $(PYMODEL) - $(RUN) gen-project ${CONFIG_YAML} -d $(DEST) $(SOURCE_SCHEMA_PATH) && mv $(DEST)/*.py $(PYMODEL) + $(RUN) gen-project -d $(DEST) $(SOURCE_SCHEMA_PATH) && mv $(DEST)/*.py $(PYMODEL) $(RUN) gen-pydantic --pydantic-version 2 $(SOURCE_SCHEMA_PATH) > $(PYMODEL)/pydanticmodel_v2.py # non-empty arg triggers owl (workaround https://github.com/linkml/linkml/issues/1453) diff --git a/config.yaml b/config.yaml index 56da66d..ed18a85 100644 --- a/config.yaml +++ b/config.yaml @@ -1,41 +1,19 @@ # Configuration of generators (defaults illustrated) --- generator_args: - excel: - mergeimports: true + jsonschema: {} owl: mergeimports: true metaclasses: true type_objects: true - # throws 'Cannot handle metadata profile: rdfs' - # metadata_profile: rdfs - markdown: - mergeimports: true - graphql: - mergeimports: true - java: - mergeimports: true - metadata: true - jsonld: - mergeimports: true - jsonschema: - mergeimports: true - jsonldcontext: - mergeimports: true - python: - mergeimports: true - prefixmap: - mergeimports: true - proto: - mergeimports: true - shacl: - mergeimports: true - shex: - mergeimports: true - sqlddl: - mergeimports: true - typescript: - mergeimports: true - metadata: true - -... + includes: + - jsonschema + - python + - owl + - shex + - shacl + - prefixmap + excludes: + - graphql + - sqlschema + - protobuf diff --git a/project/jsonld/cmdr.context.jsonld b/project/jsonld/cmdr.context.jsonld index e6f1f59..515410f 100644 --- a/project/jsonld/cmdr.context.jsonld +++ b/project/jsonld/cmdr.context.jsonld @@ -1,115 +1,27 @@ { "comments": { "description": "Auto generated by LinkML jsonld context generator", - "generation_date": "2023-03-07T15:54:05", + "generation_date": "2024-08-05T13:47:38", "source": "cmdr.yaml" }, "@context": { - "OBI": { - "@id": "http://purl.obolibrary.org/obo/OBI_", - "@prefix": true - }, + "OBI": "http://example.org/UNKNOWN/OBI/", "PATO": { "@id": "http://purl.obolibrary.org/obo/PATO_", "@prefix": true }, - "TEMP": "https://example.org/TEMP/", "biolink": "https://w3id.org/biolink/", "cmdr": "https://w3id.org/linkml/cmdr/", "example": "https://example.org/", "linkml": "https://w3id.org/linkml/", "schema": "http://schema.org/", "@vocab": "https://w3id.org/linkml/cmdr/", - "comparator": { - "@id": "TEMP:comparator" - }, - "concentration": { - "@id": "TEMP:concentration" - }, - "has_input": { - "@id": "TEMP:has_input" - }, - "has_numeric_value": { - "@id": "TEMP:has_numeric_value" - }, - "has_output": { - "@id": "TEMP:has_output" - }, - "has_raw_value": { - "@id": "TEMP:has_raw_value" - }, - "has_unit": { - "@id": "TEMP:has_unit" - }, "id": "@id", - "includes": { - "@id": "TEMP:includes" - }, - "investigations": { - "@id": "TEMP:investigations" - }, - "involved_in": { - "@id": "TEMP:involved_in" - }, - "material_processings": { - "@id": "TEMP:material_processings" - }, - "materials": { - "@id": "TEMP:materials" - }, - "name": { - "@id": "TEMP:name" - }, - "part_of": { - "@id": "TEMP:part_of" - }, - "participations": { - "@id": "TEMP:participations" - }, - "source": { - "@id": "TEMP:source" - }, - "specimen_collection_processes": { - "@id": "TEMP:specimen_collection_processes" - }, - "subjects": { - "@id": "TEMP:subjects" - }, - "used_in": { - "@id": "TEMP:used_in" - }, - "volume": { - "@id": "TEMP:volume" - }, - "Container": { - "@id": "TEMP:Container" - }, - "DataObject": { - "@id": "TEMP:DataObject" - }, - "Investigation": { - "@id": "TEMP:Investigation" - }, - "MaterialEntity": { - "@id": "TEMP:MaterialEntity" - }, "MaterialProcessing": { "@id": "OBI:0000094" }, - "Participation": { - "@id": "TEMP:Participation" - }, - "Process": { - "@id": "TEMP:Process" - }, - "Quantity": { - "@id": "TEMP:Quantity" - }, "SpecimenCollectionProcess": { "@id": "OBI:0000659" - }, - "Subject": { - "@id": "TEMP:Subject" } } } diff --git a/project/jsonld/cmdr.jsonld b/project/jsonld/cmdr.jsonld index 911b0ae..458c9c8 100644 --- a/project/jsonld/cmdr.jsonld +++ b/project/jsonld/cmdr.jsonld @@ -1,14 +1,13 @@ { "name": "cmdr", - "description": "Core Model for Data Research (Tentative)", + "description": "Core Model for Clinical Data Collection", "title": "cmdr", "see_also": [ "https://linkml.github.io/cmdr" ], "id": "https://w3id.org/linkml/cmdr", "imports": [ - "linkml:types", - "from_sheets" + "linkml:types" ], "license": "MIT", "prefixes": [ @@ -42,14 +41,14 @@ "subsets": [ { "name": "potential_phi", - "definition_uri": "https://example.org/TEMP/PotentialPhi", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/PotentialPhi", + "from_schema": "https://w3id.org/linkml/cmdr", "@type": "SubsetDefinition" }, { "name": "temporal_data", - "definition_uri": "https://example.org/TEMP/TemporalData", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/TemporalData", + "from_schema": "https://w3id.org/linkml/cmdr", "@type": "SubsetDefinition" } ], @@ -58,6 +57,9 @@ "name": "string", "definition_uri": "https://w3id.org/linkml/String", "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\"." + ], "from_schema": "https://w3id.org/linkml/types", "imported_from": "linkml:types", "exact_mappings": [ @@ -71,6 +73,9 @@ "name": "integer", "definition_uri": "https://w3id.org/linkml/Integer", "description": "An integer", + "notes": [ + "If you are authoring schemas in LinkML YAML, the type is referenced with the lower case \"integer\"." + ], "from_schema": "https://w3id.org/linkml/types", "imported_from": "linkml:types", "exact_mappings": [ @@ -84,6 +89,9 @@ "name": "boolean", "definition_uri": "https://w3id.org/linkml/Boolean", "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\"." + ], "from_schema": "https://w3id.org/linkml/types", "imported_from": "linkml:types", "exact_mappings": [ @@ -98,6 +106,9 @@ "name": "float", "definition_uri": "https://w3id.org/linkml/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\"." + ], "from_schema": "https://w3id.org/linkml/types", "imported_from": "linkml:types", "exact_mappings": [ @@ -111,6 +122,9 @@ "name": "double", "definition_uri": "https://w3id.org/linkml/Double", "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\"." + ], "from_schema": "https://w3id.org/linkml/types", "imported_from": "linkml:types", "close_mappings": [ @@ -124,6 +138,9 @@ "name": "decimal", "definition_uri": "https://w3id.org/linkml/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\"." + ], "from_schema": "https://w3id.org/linkml/types", "imported_from": "linkml:types", "broad_mappings": [ @@ -138,7 +155,8 @@ "definition_uri": "https://w3id.org/linkml/Time", "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" + "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\"." ], "from_schema": "https://w3id.org/linkml/types", "imported_from": "linkml:types", @@ -146,7 +164,7 @@ "schema:Time" ], "base": "XSDTime", - "uri": "http://www.w3.org/2001/XMLSchema#dateTime", + "uri": "http://www.w3.org/2001/XMLSchema#time", "repr": "str", "@type": "TypeDefinition" }, @@ -155,7 +173,8 @@ "definition_uri": "https://w3id.org/linkml/Date", "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" + "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\"." ], "from_schema": "https://w3id.org/linkml/types", "imported_from": "linkml:types", @@ -171,6 +190,9 @@ "name": "datetime", "definition_uri": "https://w3id.org/linkml/Datetime", "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\"." + ], "from_schema": "https://w3id.org/linkml/types", "imported_from": "linkml:types", "exact_mappings": [ @@ -185,6 +207,9 @@ "name": "date_or_datetime", "definition_uri": "https://w3id.org/linkml/DateOrDatetime", "description": "Either a date or a datetime", + "notes": [ + "If you are authoring schemas in LinkML YAML, the type is referenced with the lower case \"date_or_datetime\"." + ], "from_schema": "https://w3id.org/linkml/types", "imported_from": "linkml:types", "base": "str", @@ -196,6 +221,9 @@ "name": "uriorcurie", "definition_uri": "https://w3id.org/linkml/Uriorcurie", "description": "a URI or a CURIE", + "notes": [ + "If you are authoring schemas in LinkML YAML, the type is referenced with the lower case \"uriorcurie\"." + ], "from_schema": "https://w3id.org/linkml/types", "imported_from": "linkml:types", "base": "URIorCURIE", @@ -208,6 +236,9 @@ "definition_uri": "https://w3id.org/linkml/Curie", "conforms_to": "https://www.w3.org/TR/curie/", "description": "a compact URI", + "notes": [ + "If you are authoring schemas in LinkML YAML, the type is referenced with the lower case \"curie\"." + ], "comments": [ "in RDF serializations this MUST be expanded to a URI", "in non-RDF serializations MAY be serialized as the compact representation" @@ -224,6 +255,9 @@ "definition_uri": "https://w3id.org/linkml/Uri", "conforms_to": "https://www.ietf.org/rfc/rfc3987.txt", "description": "a complete URI", + "notes": [ + "If you are authoring schemas in LinkML YAML, the type is referenced with the lower case \"uri\"." + ], "comments": [ "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" ], @@ -241,6 +275,9 @@ "name": "ncname", "definition_uri": "https://w3id.org/linkml/Ncname", "description": "Prefix part of CURIE", + "notes": [ + "If you are authoring schemas in LinkML YAML, the type is referenced with the lower case \"ncname\"." + ], "from_schema": "https://w3id.org/linkml/types", "imported_from": "linkml:types", "base": "NCName", @@ -252,6 +289,9 @@ "name": "objectidentifier", "definition_uri": "https://w3id.org/linkml/Objectidentifier", "description": "A URI or CURIE that represents an object in the model.", + "notes": [ + "If you are authoring schemas in LinkML YAML, the type is referenced with the lower case \"objectidentifier\"." + ], "comments": [ "Used for inheritance and type checking" ], @@ -266,20 +306,68 @@ "name": "nodeidentifier", "definition_uri": "https://w3id.org/linkml/Nodeidentifier", "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\"." + ], "from_schema": "https://w3id.org/linkml/types", "imported_from": "linkml:types", "base": "NodeIdentifier", "uri": "http://www.w3.org/ns/shex#nonLiteral", "repr": "str", "@type": "TypeDefinition" + }, + { + "name": "jsonpointer", + "definition_uri": "https://w3id.org/linkml/Jsonpointer", + "conforms_to": "https://datatracker.ietf.org/doc/html/rfc6901", + "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.", + "notes": [ + "If you are authoring schemas in LinkML YAML, the type is referenced with the lower case \"jsonpointer\"." + ], + "from_schema": "https://w3id.org/linkml/types", + "imported_from": "linkml:types", + "base": "str", + "uri": "http://www.w3.org/2001/XMLSchema#string", + "repr": "str", + "@type": "TypeDefinition" + }, + { + "name": "jsonpath", + "definition_uri": "https://w3id.org/linkml/Jsonpath", + "conforms_to": "https://www.ietf.org/archive/id/draft-goessner-dispatch-jsonpath-00.html", + "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.", + "notes": [ + "If you are authoring schemas in LinkML YAML, the type is referenced with the lower case \"jsonpath\"." + ], + "from_schema": "https://w3id.org/linkml/types", + "imported_from": "linkml:types", + "base": "str", + "uri": "http://www.w3.org/2001/XMLSchema#string", + "repr": "str", + "@type": "TypeDefinition" + }, + { + "name": "sparqlpath", + "definition_uri": "https://w3id.org/linkml/Sparqlpath", + "conforms_to": "https://www.w3.org/TR/sparql11-query/#propertypaths", + "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.", + "notes": [ + "If you are authoring schemas in LinkML YAML, the type is referenced with the lower case \"sparqlpath\"." + ], + "from_schema": "https://w3id.org/linkml/types", + "imported_from": "linkml:types", + "base": "str", + "uri": "http://www.w3.org/2001/XMLSchema#string", + "repr": "str", + "@type": "TypeDefinition" } ], "slots": [ { "name": "comparator", - "definition_uri": "https://example.org/TEMP/comparator", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/comparator", + "definition_uri": "https://w3id.org/linkml/cmdr/comparator", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/comparator", "owner": "Quantity", "domain_of": [ "Quantity" @@ -289,9 +377,9 @@ }, { "name": "concentration", - "definition_uri": "https://example.org/TEMP/concentration", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/concentration", + "definition_uri": "https://w3id.org/linkml/cmdr/concentration", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/concentration", "owner": "MaterialEntity", "domain_of": [ "MaterialEntity" @@ -301,9 +389,9 @@ }, { "name": "has_input", - "definition_uri": "https://example.org/TEMP/has_input", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/has_input", + "definition_uri": "https://w3id.org/linkml/cmdr/has_input", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/has_input", "owner": "SpecimenCollectionProcess", "domain_of": [ "MaterialProcessing", @@ -315,9 +403,9 @@ }, { "name": "has_numeric_value", - "definition_uri": "https://example.org/TEMP/has_numeric_value", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/has_numeric_value", + "definition_uri": "https://w3id.org/linkml/cmdr/has_numeric_value", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/has_numeric_value", "owner": "Quantity", "domain_of": [ "Quantity" @@ -327,9 +415,9 @@ }, { "name": "has_output", - "definition_uri": "https://example.org/TEMP/has_output", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/has_output", + "definition_uri": "https://w3id.org/linkml/cmdr/has_output", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/has_output", "owner": "SpecimenCollectionProcess", "domain_of": [ "MaterialProcessing", @@ -341,9 +429,9 @@ }, { "name": "has_raw_value", - "definition_uri": "https://example.org/TEMP/has_raw_value", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/has_raw_value", + "definition_uri": "https://w3id.org/linkml/cmdr/has_raw_value", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/has_raw_value", "owner": "Quantity", "domain_of": [ "Quantity" @@ -353,9 +441,9 @@ }, { "name": "has_unit", - "definition_uri": "https://example.org/TEMP/has_unit", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/has_unit", + "definition_uri": "https://w3id.org/linkml/cmdr/has_unit", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/has_unit", "owner": "Quantity", "domain_of": [ "Quantity" @@ -365,9 +453,9 @@ }, { "name": "id", - "definition_uri": "https://example.org/TEMP/id", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/id", + "definition_uri": "https://w3id.org/linkml/cmdr/id", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/id", "owner": "Subject", "domain_of": [ "Investigation", @@ -381,9 +469,9 @@ }, { "name": "includes", - "definition_uri": "https://example.org/TEMP/includes", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/includes", + "definition_uri": "https://w3id.org/linkml/cmdr/includes", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/includes", "owner": "Participation", "domain_of": [ "Participation" @@ -393,9 +481,9 @@ }, { "name": "investigations", - "definition_uri": "https://example.org/TEMP/investigations", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/investigations", + "definition_uri": "https://w3id.org/linkml/cmdr/investigations", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/investigations", "owner": "Container", "domain_of": [ "Container" @@ -405,9 +493,9 @@ }, { "name": "involved_in", - "definition_uri": "https://example.org/TEMP/involved_in", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/involved_in", + "definition_uri": "https://w3id.org/linkml/cmdr/involved_in", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/involved_in", "owner": "Participation", "domain_of": [ "Participation" @@ -417,9 +505,9 @@ }, { "name": "material_processings", - "definition_uri": "https://example.org/TEMP/material_processings", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/material_processings", + "definition_uri": "https://w3id.org/linkml/cmdr/material_processings", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/material_processings", "owner": "Container", "domain_of": [ "Container" @@ -429,9 +517,9 @@ }, { "name": "materials", - "definition_uri": "https://example.org/TEMP/materials", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/materials", + "definition_uri": "https://w3id.org/linkml/cmdr/materials", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/materials", "owner": "Container", "domain_of": [ "Container" @@ -441,9 +529,9 @@ }, { "name": "name", - "definition_uri": "https://example.org/TEMP/name", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/name", + "definition_uri": "https://w3id.org/linkml/cmdr/name", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/name", "owner": "Subject", "domain_of": [ "Investigation", @@ -457,9 +545,9 @@ }, { "name": "part_of", - "definition_uri": "https://example.org/TEMP/part_of", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/part_of", + "definition_uri": "https://w3id.org/linkml/cmdr/part_of", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/part_of", "owner": "Investigation", "domain_of": [ "Investigation" @@ -469,9 +557,9 @@ }, { "name": "participations", - "definition_uri": "https://example.org/TEMP/participations", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/participations", + "definition_uri": "https://w3id.org/linkml/cmdr/participations", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/participations", "owner": "Container", "domain_of": [ "Container" @@ -481,9 +569,9 @@ }, { "name": "source", - "definition_uri": "https://example.org/TEMP/source", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/source", + "definition_uri": "https://w3id.org/linkml/cmdr/source", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/source", "owner": "MaterialEntity", "domain_of": [ "MaterialEntity" @@ -493,9 +581,9 @@ }, { "name": "specimen_collection_processes", - "definition_uri": "https://example.org/TEMP/specimen_collection_processes", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/specimen_collection_processes", + "definition_uri": "https://w3id.org/linkml/cmdr/specimen_collection_processes", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/specimen_collection_processes", "owner": "Container", "domain_of": [ "Container" @@ -505,9 +593,9 @@ }, { "name": "subjects", - "definition_uri": "https://example.org/TEMP/subjects", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/subjects", + "definition_uri": "https://w3id.org/linkml/cmdr/subjects", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/subjects", "owner": "Container", "domain_of": [ "Container" @@ -517,9 +605,9 @@ }, { "name": "used_in", - "definition_uri": "https://example.org/TEMP/used_in", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/used_in", + "definition_uri": "https://w3id.org/linkml/cmdr/used_in", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/used_in", "owner": "MaterialEntity", "domain_of": [ "MaterialEntity" @@ -529,9 +617,9 @@ }, { "name": "volume", - "definition_uri": "https://example.org/TEMP/volume", - "from_schema": "TEMP", - "slot_uri": "https://example.org/TEMP/volume", + "definition_uri": "https://w3id.org/linkml/cmdr/volume", + "from_schema": "https://w3id.org/linkml/cmdr", + "slot_uri": "https://w3id.org/linkml/cmdr/volume", "owner": "MaterialEntity", "domain_of": [ "MaterialEntity" @@ -541,11 +629,11 @@ }, { "name": "Container_investigations", - "definition_uri": "https://example.org/TEMP/investigations", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/investigations", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "investigations", "domain": "Container", - "slot_uri": "https://example.org/TEMP/investigations", + "slot_uri": "https://w3id.org/linkml/cmdr/investigations", "multivalued": true, "alias": "investigations", "owner": "Container", @@ -561,11 +649,11 @@ }, { "name": "Container_material_processings", - "definition_uri": "https://example.org/TEMP/material_processings", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/material_processings", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "material_processings", "domain": "Container", - "slot_uri": "https://example.org/TEMP/material_processings", + "slot_uri": "https://w3id.org/linkml/cmdr/material_processings", "multivalued": true, "alias": "material_processings", "owner": "Container", @@ -581,11 +669,11 @@ }, { "name": "Container_materials", - "definition_uri": "https://example.org/TEMP/materials", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/materials", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "materials", "domain": "Container", - "slot_uri": "https://example.org/TEMP/materials", + "slot_uri": "https://w3id.org/linkml/cmdr/materials", "multivalued": true, "alias": "materials", "owner": "Container", @@ -601,11 +689,11 @@ }, { "name": "Container_participations", - "definition_uri": "https://example.org/TEMP/participations", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/participations", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "participations", "domain": "Container", - "slot_uri": "https://example.org/TEMP/participations", + "slot_uri": "https://w3id.org/linkml/cmdr/participations", "multivalued": true, "alias": "participations", "owner": "Container", @@ -621,11 +709,11 @@ }, { "name": "Container_specimen_collection_processes", - "definition_uri": "https://example.org/TEMP/specimen_collection_processes", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/specimen_collection_processes", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "specimen_collection_processes", "domain": "Container", - "slot_uri": "https://example.org/TEMP/specimen_collection_processes", + "slot_uri": "https://w3id.org/linkml/cmdr/specimen_collection_processes", "multivalued": true, "alias": "specimen_collection_processes", "owner": "Container", @@ -641,11 +729,11 @@ }, { "name": "Container_subjects", - "definition_uri": "https://example.org/TEMP/subjects", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/subjects", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "subjects", "domain": "Container", - "slot_uri": "https://example.org/TEMP/subjects", + "slot_uri": "https://w3id.org/linkml/cmdr/subjects", "multivalued": true, "alias": "subjects", "owner": "Container", @@ -661,11 +749,11 @@ }, { "name": "Investigation_id", - "definition_uri": "https://example.org/TEMP/id", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/id", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "id", "domain": "Investigation", - "slot_uri": "https://example.org/TEMP/id", + "slot_uri": "https://w3id.org/linkml/cmdr/id", "identifier": true, "alias": "id", "owner": "Investigation", @@ -680,11 +768,11 @@ }, { "name": "Investigation_part_of", - "definition_uri": "https://example.org/TEMP/part_of", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/part_of", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "part_of", "domain": "Investigation", - "slot_uri": "https://example.org/TEMP/part_of", + "slot_uri": "https://w3id.org/linkml/cmdr/part_of", "alias": "part_of", "owner": "Investigation", "domain_of": [ @@ -697,11 +785,11 @@ }, { "name": "MaterialEntity_concentration", - "definition_uri": "https://example.org/TEMP/concentration", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/concentration", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "concentration", "domain": "MaterialEntity", - "slot_uri": "https://example.org/TEMP/concentration", + "slot_uri": "https://w3id.org/linkml/cmdr/concentration", "alias": "concentration", "owner": "MaterialEntity", "domain_of": [ @@ -715,11 +803,11 @@ }, { "name": "MaterialEntity_id", - "definition_uri": "https://example.org/TEMP/id", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/id", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "id", "domain": "MaterialEntity", - "slot_uri": "https://example.org/TEMP/id", + "slot_uri": "https://w3id.org/linkml/cmdr/id", "identifier": true, "alias": "id", "owner": "MaterialEntity", @@ -734,14 +822,14 @@ }, { "name": "MaterialEntity_source", - "definition_uri": "https://example.org/TEMP/source", + "definition_uri": "https://w3id.org/linkml/cmdr/source", "comments": [ "this is a shortcut. to be expanded later." ], - "from_schema": "TEMP", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "source", "domain": "MaterialEntity", - "slot_uri": "https://example.org/TEMP/source", + "slot_uri": "https://w3id.org/linkml/cmdr/source", "alias": "source", "owner": "MaterialEntity", "domain_of": [ @@ -754,11 +842,11 @@ }, { "name": "MaterialEntity_used_in", - "definition_uri": "https://example.org/TEMP/used_in", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/used_in", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "used_in", "domain": "MaterialEntity", - "slot_uri": "https://example.org/TEMP/used_in", + "slot_uri": "https://w3id.org/linkml/cmdr/used_in", "multivalued": true, "alias": "used_in", "owner": "MaterialEntity", @@ -772,11 +860,11 @@ }, { "name": "MaterialEntity_volume", - "definition_uri": "https://example.org/TEMP/volume", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/volume", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "volume", "domain": "MaterialEntity", - "slot_uri": "https://example.org/TEMP/volume", + "slot_uri": "https://w3id.org/linkml/cmdr/volume", "alias": "volume", "owner": "MaterialEntity", "domain_of": [ @@ -790,11 +878,11 @@ }, { "name": "MaterialProcessing_has_input", - "definition_uri": "https://example.org/TEMP/has_input", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/has_input", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "has_input", "domain": "MaterialProcessing", - "slot_uri": "https://example.org/TEMP/has_input", + "slot_uri": "https://w3id.org/linkml/cmdr/has_input", "multivalued": true, "alias": "has_input", "owner": "MaterialProcessing", @@ -808,11 +896,11 @@ }, { "name": "MaterialProcessing_has_output", - "definition_uri": "https://example.org/TEMP/has_output", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/has_output", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "has_output", "domain": "MaterialProcessing", - "slot_uri": "https://example.org/TEMP/has_output", + "slot_uri": "https://w3id.org/linkml/cmdr/has_output", "multivalued": true, "alias": "has_output", "owner": "MaterialProcessing", @@ -826,11 +914,11 @@ }, { "name": "Participation_id", - "definition_uri": "https://example.org/TEMP/id", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/id", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "id", "domain": "Participation", - "slot_uri": "https://example.org/TEMP/id", + "slot_uri": "https://w3id.org/linkml/cmdr/id", "identifier": true, "alias": "id", "owner": "Participation", @@ -845,11 +933,11 @@ }, { "name": "Participation_includes", - "definition_uri": "https://example.org/TEMP/includes", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/includes", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "includes", "domain": "Participation", - "slot_uri": "https://example.org/TEMP/includes", + "slot_uri": "https://w3id.org/linkml/cmdr/includes", "alias": "includes", "owner": "Participation", "domain_of": [ @@ -862,11 +950,11 @@ }, { "name": "Participation_involved_in", - "definition_uri": "https://example.org/TEMP/involved_in", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/involved_in", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "involved_in", "domain": "Participation", - "slot_uri": "https://example.org/TEMP/involved_in", + "slot_uri": "https://w3id.org/linkml/cmdr/involved_in", "multivalued": true, "alias": "involved_in", "owner": "Participation", @@ -880,11 +968,11 @@ }, { "name": "Process_has_input", - "definition_uri": "https://example.org/TEMP/has_input", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/has_input", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "has_input", "domain": "Process", - "slot_uri": "https://example.org/TEMP/has_input", + "slot_uri": "https://w3id.org/linkml/cmdr/has_input", "multivalued": true, "alias": "has_input", "owner": "Process", @@ -898,11 +986,11 @@ }, { "name": "Process_has_output", - "definition_uri": "https://example.org/TEMP/has_output", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/has_output", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "has_output", "domain": "Process", - "slot_uri": "https://example.org/TEMP/has_output", + "slot_uri": "https://w3id.org/linkml/cmdr/has_output", "multivalued": true, "alias": "has_output", "owner": "Process", @@ -916,11 +1004,11 @@ }, { "name": "Process_id", - "definition_uri": "https://example.org/TEMP/id", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/id", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "id", "domain": "Process", - "slot_uri": "https://example.org/TEMP/id", + "slot_uri": "https://w3id.org/linkml/cmdr/id", "identifier": true, "alias": "id", "owner": "Process", @@ -935,11 +1023,11 @@ }, { "name": "Quantity_comparator", - "definition_uri": "https://example.org/TEMP/comparator", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/comparator", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "comparator", "domain": "Quantity", - "slot_uri": "https://example.org/TEMP/comparator", + "slot_uri": "https://w3id.org/linkml/cmdr/comparator", "alias": "comparator", "owner": "Quantity", "domain_of": [ @@ -952,11 +1040,11 @@ }, { "name": "Quantity_has_numeric_value", - "definition_uri": "https://example.org/TEMP/has_numeric_value", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/has_numeric_value", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "has_numeric_value", "domain": "Quantity", - "slot_uri": "https://example.org/TEMP/has_numeric_value", + "slot_uri": "https://w3id.org/linkml/cmdr/has_numeric_value", "alias": "has_numeric_value", "owner": "Quantity", "domain_of": [ @@ -969,11 +1057,11 @@ }, { "name": "Quantity_has_raw_value", - "definition_uri": "https://example.org/TEMP/has_raw_value", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/has_raw_value", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "has_raw_value", "domain": "Quantity", - "slot_uri": "https://example.org/TEMP/has_raw_value", + "slot_uri": "https://w3id.org/linkml/cmdr/has_raw_value", "alias": "has_raw_value", "owner": "Quantity", "domain_of": [ @@ -986,11 +1074,11 @@ }, { "name": "Quantity_has_unit", - "definition_uri": "https://example.org/TEMP/has_unit", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/has_unit", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "has_unit", "domain": "Quantity", - "slot_uri": "https://example.org/TEMP/has_unit", + "slot_uri": "https://w3id.org/linkml/cmdr/has_unit", "alias": "has_unit", "owner": "Quantity", "domain_of": [ @@ -1003,11 +1091,11 @@ }, { "name": "SpecimenCollectionProcess_has_input", - "definition_uri": "https://example.org/TEMP/has_input", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/has_input", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "Process_has_input", "domain": "SpecimenCollectionProcess", - "slot_uri": "https://example.org/TEMP/has_input", + "slot_uri": "https://w3id.org/linkml/cmdr/has_input", "multivalued": true, "alias": "has_input", "owner": "SpecimenCollectionProcess", @@ -1021,11 +1109,11 @@ }, { "name": "SpecimenCollectionProcess_has_output", - "definition_uri": "https://example.org/TEMP/has_output", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/has_output", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "Process_has_output", "domain": "SpecimenCollectionProcess", - "slot_uri": "https://example.org/TEMP/has_output", + "slot_uri": "https://w3id.org/linkml/cmdr/has_output", "multivalued": true, "alias": "has_output", "owner": "SpecimenCollectionProcess", @@ -1039,11 +1127,11 @@ }, { "name": "Subject_id", - "definition_uri": "https://example.org/TEMP/id", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/id", + "from_schema": "https://w3id.org/linkml/cmdr", "is_a": "id", "domain": "Subject", - "slot_uri": "https://example.org/TEMP/id", + "slot_uri": "https://w3id.org/linkml/cmdr/id", "identifier": true, "alias": "id", "owner": "Subject", @@ -1060,8 +1148,8 @@ "classes": [ { "name": "Container", - "definition_uri": "https://example.org/TEMP/Container", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/Container", + "from_schema": "https://w3id.org/linkml/cmdr", "slots": [ "Container_materials", "Container_participations", @@ -1071,32 +1159,15 @@ "Container_subjects" ], "slot_usage": {}, - "class_uri": "https://example.org/TEMP/Container", + "class_uri": "https://w3id.org/linkml/cmdr/Container", "tree_root": true, "@type": "ClassDefinition" }, { "name": "DataObject", - "definition_uri": "https://example.org/TEMP/DataObject", - "description": "A DataFile Associated with a Subject or Investigation or MaterialEntity", - "from_schema": "TEMP", - "see_also": [ - "include:DataFile" - ], - "aliases": [ - "File", - "Data", - "DataFile" - ], - "slot_usage": {}, - "class_uri": "https://example.org/TEMP/DataObject", - "@type": "ClassDefinition" - }, - { - "name": "DataObject", - "definition_uri": "https://example.org/TEMP/DataObject", + "definition_uri": "https://w3id.org/linkml/cmdr/DataObject", "description": "A DataFile Associated with a Subject or Investigation or MaterialEntity", - "from_schema": "TEMP", + "from_schema": "https://w3id.org/linkml/cmdr", "see_also": [ "include:DataFile" ], @@ -1106,14 +1177,14 @@ "DataFile" ], "slot_usage": {}, - "class_uri": "https://example.org/TEMP/DataObject", + "class_uri": "https://w3id.org/linkml/cmdr/DataObject", "@type": "ClassDefinition" }, { "name": "Investigation", - "definition_uri": "https://example.org/TEMP/Investigation", + "definition_uri": "https://w3id.org/linkml/cmdr/Investigation", "description": "General information about the Investigation", - "from_schema": "TEMP", + "from_schema": "https://w3id.org/linkml/cmdr", "see_also": [ "include:Study" ], @@ -1127,14 +1198,14 @@ "Investigation_part_of" ], "slot_usage": {}, - "class_uri": "https://example.org/TEMP/Investigation", + "class_uri": "https://w3id.org/linkml/cmdr/Investigation", "@type": "ClassDefinition" }, { "name": "MaterialEntity", - "definition_uri": "https://example.org/TEMP/MaterialEntity", + "definition_uri": "https://w3id.org/linkml/cmdr/MaterialEntity", "description": "Physical entity that is an input our output of a process from a Subject", - "from_schema": "TEMP", + "from_schema": "https://w3id.org/linkml/cmdr", "see_also": [ "include:Biospecimen" ], @@ -1154,14 +1225,14 @@ "MaterialEntity_concentration" ], "slot_usage": {}, - "class_uri": "https://example.org/TEMP/MaterialEntity", + "class_uri": "https://w3id.org/linkml/cmdr/MaterialEntity", "@type": "ClassDefinition" }, { "name": "MaterialProcessing", - "definition_uri": "https://example.org/TEMP/MaterialProcessing", + "definition_uri": "https://w3id.org/linkml/cmdr/MaterialProcessing", "description": "A planned process which results in physical changes in a specified input material", - "from_schema": "TEMP", + "from_schema": "https://w3id.org/linkml/cmdr", "mappings": [ "OBI:0000094" ], @@ -1173,14 +1244,14 @@ "MaterialProcessing_has_output" ], "slot_usage": {}, - "class_uri": "http://purl.obolibrary.org/obo/OBI_0000094", + "class_uri": "http://example.org/UNKNOWN/OBI/0000094", "@type": "ClassDefinition" }, { "name": "Participation", - "definition_uri": "https://example.org/TEMP/Participation", + "definition_uri": "https://w3id.org/linkml/cmdr/Participation", "description": "Subject/Study participation information", - "from_schema": "TEMP", + "from_schema": "https://w3id.org/linkml/cmdr", "see_also": [ "include:Participant" ], @@ -1191,14 +1262,14 @@ "Participation_includes" ], "slot_usage": {}, - "class_uri": "https://example.org/TEMP/Participation", + "class_uri": "https://w3id.org/linkml/cmdr/Participation", "@type": "ClassDefinition" }, { "name": "Process", - "definition_uri": "https://example.org/TEMP/Process", + "definition_uri": "https://w3id.org/linkml/cmdr/Process", "description": "A planned process resulting in a material or data", - "from_schema": "TEMP", + "from_schema": "https://w3id.org/linkml/cmdr", "abstract": true, "slots": [ "Process_id", @@ -1207,13 +1278,13 @@ "Process_has_output" ], "slot_usage": {}, - "class_uri": "https://example.org/TEMP/Process", + "class_uri": "https://w3id.org/linkml/cmdr/Process", "@type": "ClassDefinition" }, { "name": "Quantity", - "definition_uri": "https://example.org/TEMP/Quantity", - "from_schema": "TEMP", + "definition_uri": "https://w3id.org/linkml/cmdr/Quantity", + "from_schema": "https://w3id.org/linkml/cmdr", "slots": [ "Quantity_has_raw_value", "Quantity_has_numeric_value", @@ -1221,14 +1292,14 @@ "Quantity_comparator" ], "slot_usage": {}, - "class_uri": "https://example.org/TEMP/Quantity", + "class_uri": "https://w3id.org/linkml/cmdr/Quantity", "@type": "ClassDefinition" }, { "name": "SpecimenCollectionProcess", - "definition_uri": "https://example.org/TEMP/SpecimenCollectionProcess", + "definition_uri": "https://w3id.org/linkml/cmdr/SpecimenCollectionProcess", "description": "A planned process with the objective of collecting a specimen", - "from_schema": "TEMP", + "from_schema": "https://w3id.org/linkml/cmdr", "aliases": [ "MaterialCollectionProcess" ], @@ -1245,14 +1316,14 @@ "SpecimenCollectionProcess_has_output" ], "slot_usage": {}, - "class_uri": "http://purl.obolibrary.org/obo/OBI_0000659", + "class_uri": "http://example.org/UNKNOWN/OBI/0000659", "@type": "ClassDefinition" }, { "name": "Subject", - "definition_uri": "https://example.org/TEMP/Subject", + "definition_uri": "https://w3id.org/linkml/cmdr/Subject", "description": "Demographic and clinical information about the subject", - "from_schema": "TEMP", + "from_schema": "https://w3id.org/linkml/cmdr", "see_also": [ "include:Participant" ], @@ -1265,20 +1336,19 @@ "name" ], "slot_usage": {}, - "class_uri": "https://example.org/TEMP/Subject", + "class_uri": "https://w3id.org/linkml/cmdr/Subject", "@type": "ClassDefinition" } ], "metamodel_version": "1.7.0", "source_file": "cmdr.yaml", - "source_file_date": "2023-03-06T16:01:53", - "source_file_size": 485, - "generation_date": "2023-03-07T15:54:06", + "source_file_date": "2024-08-05T13:46:32", + "source_file_size": 5859, + "generation_date": "2024-08-05T13:47:39", "@type": "SchemaDefinition", "@context": [ "project/jsonld/cmdr.context.jsonld", "https://w3id.org/linkml/types.context.jsonld", - "from_sheets.context.jsonld", { "@base": "https://w3id.org/linkml/cmdr/" } diff --git a/project/jsonschema/cmdr.schema.json b/project/jsonschema/cmdr.schema.json index f29c56e..40a78c9 100644 --- a/project/jsonschema/cmdr.schema.json +++ b/project/jsonschema/cmdr.schema.json @@ -61,7 +61,7 @@ "type": "string" }, "part_of": { - "type": "string" + "type": "uriorcurie" } }, "required": [ @@ -84,11 +84,11 @@ "type": "string" }, "source": { - "type": "string" + "type": "uriorcurie" }, "used_in": { "items": { - "type": "string" + "type": "uriorcurie" }, "type": "array" }, @@ -108,13 +108,13 @@ "properties": { "has_input": { "items": { - "type": "string" + "type": "uriorcurie" }, "type": "array" }, "has_output": { "items": { - "type": "string" + "type": "uriorcurie" }, "type": "array" }, @@ -139,11 +139,11 @@ "type": "string" }, "includes": { - "type": "string" + "type": "uriorcurie" }, "involved_in": { "items": { - "type": "string" + "type": "uriorcurie" }, "type": "array" }, @@ -183,13 +183,13 @@ "properties": { "has_input": { "items": { - "type": "string" + "type": "uriorcurie" }, "type": "array" }, "has_output": { "items": { - "type": "string" + "type": "uriorcurie" }, "type": "array" }, @@ -227,6 +227,7 @@ "$id": "https://w3id.org/linkml/cmdr", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": true, + "description": "", "metamodel_version": "1.7.0", "properties": { "investigations": { diff --git a/project/owl/cmdr.owl.ttl b/project/owl/cmdr.owl.ttl index 51fc572..bddfe6d 100644 --- a/project/owl/cmdr.owl.ttl +++ b/project/owl/cmdr.owl.ttl @@ -17,7 +17,7 @@ linkml:TypeDefinition a owl:Class ; linkml:is_a "element" ; linkml:mixins "type_expression" . -linkml:cmdr.owl.ttl a owl:Ontology ; +linkml:cmdr a owl:Ontology ; rdfs:label "cmdr" ; IAO:0000700 cmdr:Container, cmdr:DataObject, @@ -40,23 +40,23 @@ cmdr:Container a owl:Class, linkml:ClassDefinition ; rdfs:label "Container" ; rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom cmdr:MaterialEntity ; + owl:onProperty cmdr:materials ], + [ a owl:Restriction ; + owl:allValuesFrom cmdr:Investigation ; + owl:onProperty cmdr:investigations ], + [ a owl:Restriction ; owl:allValuesFrom cmdr:Participation ; owl:onProperty cmdr:participations ], - [ a owl:Restriction ; - owl:allValuesFrom cmdr:Subject ; - owl:onProperty cmdr:subjects ], [ a owl:Restriction ; owl:allValuesFrom cmdr:MaterialProcessing ; owl:onProperty cmdr:material_processings ], [ a owl:Restriction ; - owl:allValuesFrom cmdr:SpecimenCollectionProcess ; - owl:onProperty cmdr:specimen_collection_processes ], - [ a owl:Restriction ; - owl:allValuesFrom cmdr:MaterialEntity ; - owl:onProperty cmdr:materials ], + owl:allValuesFrom cmdr:Subject ; + owl:onProperty cmdr:subjects ], [ a owl:Restriction ; - owl:allValuesFrom cmdr:Investigation ; - owl:onProperty cmdr:investigations ] ; + owl:allValuesFrom cmdr:SpecimenCollectionProcess ; + owl:onProperty cmdr:specimen_collection_processes ] ; linkml:attributes "{}" . cmdr:DataObject a owl:Class, @@ -193,6 +193,9 @@ cmdr:Participation a owl:Class, owl:maxQualifiedCardinality 1 ; owl:onClass cmdr:Subject ; owl:onProperty cmdr:includes ], + [ a owl:Restriction ; + owl:allValuesFrom cmdr:Investigation ; + owl:onProperty cmdr:involved_in ], [ a owl:Restriction ; owl:onClass linkml:Uriorcurie ; owl:onProperty cmdr:id ; @@ -200,10 +203,7 @@ cmdr:Participation a owl:Class, [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty cmdr:name ], - [ a owl:Restriction ; - owl:allValuesFrom cmdr:Investigation ; - owl:onProperty cmdr:involved_in ] ; + owl:onProperty cmdr:name ] ; skos:definition "Subject/Study participation information" ; linkml:attributes "{}" . @@ -211,6 +211,10 @@ cmdr:Process a owl:Class, linkml:ClassDefinition ; rdfs:label "Process" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty cmdr:name ], + [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty cmdr:has_output ], [ a owl:Restriction ; @@ -219,11 +223,7 @@ cmdr:Process a owl:Class, owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty cmdr:has_input ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty cmdr:name ] ; + owl:onProperty cmdr:has_input ] ; skos:definition "A planned process resulting in a material or data" ; linkml:attributes "{}" . @@ -234,14 +234,14 @@ cmdr:Quantity a owl:Class, owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty cmdr:has_raw_value ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty cmdr:comparator ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Float ; owl:onProperty cmdr:has_numeric_value ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty cmdr:comparator ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; @@ -263,23 +263,23 @@ cmdr:MaterialEntity a owl:Class, rdfs:label "MaterialEntity" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass cmdr:Quantity ; - owl:onProperty cmdr:volume ], + owl:onClass linkml:String ; + owl:onProperty cmdr:name ], + [ a owl:Restriction ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty cmdr:id ; + owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:allValuesFrom cmdr:Investigation ; owl:onProperty cmdr:used_in ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass cmdr:Subject ; - owl:onProperty cmdr:source ], - [ a owl:Restriction ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty cmdr:id ; - owl:qualifiedCardinality 1 ], + owl:onClass cmdr:Quantity ; + owl:onProperty cmdr:volume ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty cmdr:name ], + owl:onClass cmdr:Subject ; + owl:onProperty cmdr:source ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass cmdr:Quantity ; @@ -296,13 +296,13 @@ cmdr:Subject a owl:Class, linkml:ClassDefinition ; rdfs:label "Subject" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty cmdr:name ], - [ a owl:Restriction ; owl:onClass linkml:Uriorcurie ; owl:onProperty cmdr:id ; - owl:qualifiedCardinality 1 ] ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty cmdr:name ] ; skos:altLabel "Participant", "Site" ; skos:definition "Demographic and clinical information about the subject" ; @@ -312,17 +312,17 @@ cmdr:Investigation a owl:Class, linkml:ClassDefinition ; rdfs:label "Investigation" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty cmdr:name ], - [ a owl:Restriction ; owl:onClass linkml:Uriorcurie ; owl:onProperty cmdr:id ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass cmdr:Investigation ; - owl:onProperty cmdr:part_of ] ; + owl:onProperty cmdr:part_of ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty cmdr:name ] ; skos:altLabel "Proposal", "Study" ; skos:definition "General information about the Investigation" ; @@ -351,4 +351,3 @@ linkml:SlotDefinition a owl:Class ; linkml:mixins "slot_expression" . - diff --git a/project/prefixmap/cmdr.yaml b/project/prefixmap/cmdr.yaml index 912235d..9bb62ed 100644 --- a/project/prefixmap/cmdr.yaml +++ b/project/prefixmap/cmdr.yaml @@ -13,4 +13,3 @@ "@id": "OBI:0000659" } } - diff --git a/project/shacl/cmdr.shacl.ttl b/project/shacl/cmdr.shacl.ttl index 69ee41f..81b6d02 100644 --- a/project/shacl/cmdr.shacl.ttl +++ b/project/shacl/cmdr.shacl.ttl @@ -1,4 +1,3 @@ -# metamodel_version: 1.7.0 @prefix cmdr: . @prefix rdf: . @prefix sh: . @@ -11,26 +10,26 @@ cmdr:Container a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path cmdr:materials ], + [ sh:class cmdr:Investigation ; + sh:nodeKind sh:IRI ; + sh:order 4 ; + sh:path cmdr:investigations ], [ sh:class cmdr:Participation ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path cmdr:participations ], - [ sh:class ; + [ sh:class cmdr:Subject ; sh:nodeKind sh:IRI ; - sh:order 3 ; - sh:path cmdr:specimen_collection_processes ], + sh:order 5 ; + sh:path cmdr:subjects ], [ sh:class ; sh:nodeKind sh:IRI ; sh:order 2 ; sh:path cmdr:material_processings ], - [ sh:class cmdr:Subject ; - sh:nodeKind sh:IRI ; - sh:order 5 ; - sh:path cmdr:subjects ], - [ sh:class cmdr:Investigation ; + [ sh:class ; sh:nodeKind sh:IRI ; - sh:order 4 ; - sh:path cmdr:investigations ] ; + sh:order 3 ; + sh:path cmdr:specimen_collection_processes ] ; sh:targetClass cmdr:Container . cmdr:DataObject a sh:NodeShape ; @@ -45,11 +44,11 @@ cmdr:Process a sh:NodeShape ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:order 3 ; sh:path cmdr:has_output ], + [ sh:order 2 ; + sh:path cmdr:has_input ], [ sh:maxCount 1 ; sh:order 0 ; sh:path cmdr:id ], - [ sh:order 2 ; - sh:path cmdr:has_input ], [ sh:maxCount 1 ; sh:order 1 ; sh:path cmdr:name ] ; @@ -59,10 +58,7 @@ cmdr:Process a sh:NodeShape ; sh:closed true ; sh:description "A planned process which results in physical changes in a specified input material" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:maxCount 1 ; - sh:order 2 ; - sh:path cmdr:id ], - [ sh:class cmdr:MaterialEntity ; + sh:property [ sh:class cmdr:MaterialEntity ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path cmdr:has_input ], @@ -70,6 +66,9 @@ cmdr:Process a sh:NodeShape ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path cmdr:has_output ], + [ sh:maxCount 1 ; + sh:order 2 ; + sh:path cmdr:id ], [ sh:maxCount 1 ; sh:order 3 ; sh:path cmdr:name ] ; @@ -79,52 +78,52 @@ cmdr:Process a sh:NodeShape ; sh:closed true ; sh:description "A planned process with the objective of collecting a specimen" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class cmdr:Subject ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path cmdr:has_input ], - [ sh:class cmdr:MaterialEntity ; + sh:property [ sh:class cmdr:MaterialEntity ; sh:nodeKind sh:IRI ; sh:order 1 ; sh:path cmdr:has_output ], - [ sh:maxCount 1 ; - sh:order 3 ; - sh:path cmdr:name ], + [ sh:class cmdr:Subject ; + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path cmdr:has_input ], [ sh:maxCount 1 ; sh:order 2 ; - sh:path cmdr:id ] ; + sh:path cmdr:id ], + [ sh:maxCount 1 ; + sh:order 3 ; + sh:path cmdr:name ] ; sh:targetClass . cmdr:Participation a sh:NodeShape ; sh:closed true ; sh:description "Subject/Study participation information" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class cmdr:Subject ; + sh:property [ sh:maxCount 1 ; + sh:order 1 ; + sh:path cmdr:name ], + [ sh:maxCount 1 ; + sh:order 0 ; + sh:path cmdr:id ], + [ sh:class cmdr:Subject ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 3 ; sh:path cmdr:includes ], - [ sh:maxCount 1 ; - sh:order 1 ; - sh:path cmdr:name ], [ sh:class cmdr:Investigation ; sh:nodeKind sh:IRI ; sh:order 2 ; - sh:path cmdr:involved_in ], - [ sh:maxCount 1 ; - sh:order 0 ; - sh:path cmdr:id ] ; + sh:path cmdr:involved_in ] ; sh:targetClass cmdr:Participation . cmdr:Quantity a sh:NodeShape ; sh:closed true ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:maxCount 1 ; - sh:order 1 ; - sh:path cmdr:has_numeric_value ], - [ sh:maxCount 1 ; sh:order 0 ; sh:path cmdr:has_raw_value ], + [ sh:maxCount 1 ; + sh:order 1 ; + sh:path cmdr:has_numeric_value ], [ sh:maxCount 1 ; sh:order 2 ; sh:path cmdr:has_unit ], @@ -137,14 +136,14 @@ cmdr:Investigation a sh:NodeShape ; sh:closed true ; sh:description "General information about the Investigation" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class cmdr:Investigation ; + sh:property [ sh:maxCount 1 ; + sh:order 0 ; + sh:path cmdr:id ], + [ sh:class cmdr:Investigation ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 2 ; sh:path cmdr:part_of ], - [ sh:maxCount 1 ; - sh:order 0 ; - sh:path cmdr:id ], [ sh:maxCount 1 ; sh:order 1 ; sh:path cmdr:name ] ; @@ -154,31 +153,31 @@ cmdr:MaterialEntity a sh:NodeShape ; sh:closed true ; sh:description "Physical entity that is an input our output of a process from a Subject" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class cmdr:Quantity ; + sh:property [ sh:maxCount 1 ; + sh:order 1 ; + sh:path cmdr:name ], + [ sh:class cmdr:Subject ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 3 ; + sh:path cmdr:source ], + [ sh:class cmdr:Quantity ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; sh:order 4 ; sh:path cmdr:volume ], + [ sh:maxCount 1 ; + sh:order 0 ; + sh:path cmdr:id ], [ sh:class cmdr:Investigation ; sh:nodeKind sh:IRI ; sh:order 2 ; sh:path cmdr:used_in ], - [ sh:class cmdr:Subject ; - sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 3 ; - sh:path cmdr:source ], - [ sh:maxCount 1 ; - sh:order 1 ; - sh:path cmdr:name ], [ sh:class cmdr:Quantity ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; sh:order 5 ; - sh:path cmdr:concentration ], - [ sh:maxCount 1 ; - sh:order 0 ; - sh:path cmdr:id ] ; + sh:path cmdr:concentration ] ; sh:targetClass cmdr:MaterialEntity . cmdr:Subject a sh:NodeShape ; @@ -193,4 +192,3 @@ cmdr:Subject a sh:NodeShape ; sh:path cmdr:id ] ; sh:targetClass cmdr:Subject . - diff --git a/project/shex/cmdr.shex b/project/shex/cmdr.shex index d266fa3..7c0d068 100644 --- a/project/shex/cmdr.shex +++ b/project/shex/cmdr.shex @@ -1,4 +1,3 @@ -# metamodel_version: 1.7.0 BASE PREFIX rdf: PREFIX xsd: @@ -140,4 +139,3 @@ linkml:Sparqlpath xsd:string } - diff --git a/src/cmdr/datamodel/cmdr.py b/src/cmdr/datamodel/cmdr.py index 9fb2c29..5a9b1da 100644 --- a/src/cmdr/datamodel/cmdr.py +++ b/src/cmdr/datamodel/cmdr.py @@ -1,13 +1,12 @@ # Auto generated from cmdr.yaml by pythongen.py version: 0.9.0 -# Generation date: 2023-03-07T15:56:51 +# Generation date: 2024-08-05T13:47:48 # Schema: cmdr # # id: https://w3id.org/linkml/cmdr -# description: Core Model for Data Research (Tentative) +# description: Core Model for Clinical Data Collection # license: MIT import dataclasses -import sys import re from jsonasobj2 import JsonObj, as_dict from typing import Optional, List, Union, Dict, ClassVar, Any @@ -32,9 +31,8 @@ dataclasses._init_fn = dataclasses_init_fn_with_kwargs # Namespaces -OBI = CurieNamespace('OBI', 'http://purl.obolibrary.org/obo/OBI_') +OBI = CurieNamespace('OBI', 'http://example.org/UNKNOWN/OBI/') PATO = CurieNamespace('PATO', 'http://purl.obolibrary.org/obo/PATO_') -TEMP = CurieNamespace('TEMP', 'https://example.org/TEMP/') BIOLINK = CurieNamespace('biolink', 'https://w3id.org/biolink/') CMDR = CurieNamespace('cmdr', 'https://w3id.org/linkml/cmdr/') EXAMPLE = CurieNamespace('example', 'https://example.org/') @@ -78,8 +76,8 @@ class SubjectId(URIorCURIE): class Container(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = TEMP.Container - class_class_curie: ClassVar[str] = "TEMP:Container" + class_class_uri: ClassVar[URIRef] = CMDR.Container + class_class_curie: ClassVar[str] = "cmdr:Container" class_name: ClassVar[str] = "Container" class_model_uri: ClassVar[URIRef] = CMDR.Container @@ -112,8 +110,8 @@ class DataObject(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = TEMP.DataObject - class_class_curie: ClassVar[str] = "TEMP:DataObject" + class_class_uri: ClassVar[URIRef] = CMDR.DataObject + class_class_curie: ClassVar[str] = "cmdr:DataObject" class_name: ClassVar[str] = "DataObject" class_model_uri: ClassVar[URIRef] = CMDR.DataObject @@ -125,8 +123,8 @@ class Investigation(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = TEMP.Investigation - class_class_curie: ClassVar[str] = "TEMP:Investigation" + class_class_uri: ClassVar[URIRef] = CMDR.Investigation + class_class_curie: ClassVar[str] = "cmdr:Investigation" class_name: ClassVar[str] = "Investigation" class_model_uri: ClassVar[URIRef] = CMDR.Investigation @@ -156,8 +154,8 @@ class MaterialEntity(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = TEMP.MaterialEntity - class_class_curie: ClassVar[str] = "TEMP:MaterialEntity" + class_class_uri: ClassVar[URIRef] = CMDR.MaterialEntity + class_class_curie: ClassVar[str] = "cmdr:MaterialEntity" class_name: ClassVar[str] = "MaterialEntity" class_model_uri: ClassVar[URIRef] = CMDR.MaterialEntity @@ -200,8 +198,8 @@ class Participation(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = TEMP.Participation - class_class_curie: ClassVar[str] = "TEMP:Participation" + class_class_uri: ClassVar[URIRef] = CMDR.Participation + class_class_curie: ClassVar[str] = "cmdr:Participation" class_name: ClassVar[str] = "Participation" class_model_uri: ClassVar[URIRef] = CMDR.Participation @@ -236,8 +234,8 @@ class Process(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = TEMP.Process - class_class_curie: ClassVar[str] = "TEMP:Process" + class_class_uri: ClassVar[URIRef] = CMDR.Process + class_class_curie: ClassVar[str] = "cmdr:Process" class_name: ClassVar[str] = "Process" class_model_uri: ClassVar[URIRef] = CMDR.Process @@ -303,8 +301,8 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class Quantity(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = TEMP.Quantity - class_class_curie: ClassVar[str] = "TEMP:Quantity" + class_class_uri: ClassVar[URIRef] = CMDR.Quantity + class_class_curie: ClassVar[str] = "cmdr:Quantity" class_name: ClassVar[str] = "Quantity" class_model_uri: ClassVar[URIRef] = CMDR.Quantity @@ -375,8 +373,8 @@ class Subject(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = TEMP.Subject - class_class_curie: ClassVar[str] = "TEMP:Subject" + class_class_uri: ClassVar[URIRef] = CMDR.Subject + class_class_curie: ClassVar[str] = "cmdr:Subject" class_name: ClassVar[str] = "Subject" class_model_uri: ClassVar[URIRef] = CMDR.Subject @@ -402,149 +400,149 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class slots: pass -slots.comparator = Slot(uri=TEMP.comparator, name="comparator", curie=TEMP.curie('comparator'), +slots.comparator = Slot(uri=CMDR.comparator, name="comparator", curie=CMDR.curie('comparator'), model_uri=CMDR.comparator, domain=None, range=Optional[str]) -slots.concentration = Slot(uri=TEMP.concentration, name="concentration", curie=TEMP.curie('concentration'), +slots.concentration = Slot(uri=CMDR.concentration, name="concentration", curie=CMDR.curie('concentration'), model_uri=CMDR.concentration, domain=None, range=Optional[str]) -slots.has_input = Slot(uri=TEMP.has_input, name="has_input", curie=TEMP.curie('has_input'), +slots.has_input = Slot(uri=CMDR.has_input, name="has_input", curie=CMDR.curie('has_input'), model_uri=CMDR.has_input, domain=None, range=Optional[str]) -slots.has_numeric_value = Slot(uri=TEMP.has_numeric_value, name="has_numeric_value", curie=TEMP.curie('has_numeric_value'), +slots.has_numeric_value = Slot(uri=CMDR.has_numeric_value, name="has_numeric_value", curie=CMDR.curie('has_numeric_value'), model_uri=CMDR.has_numeric_value, domain=None, range=Optional[str]) -slots.has_output = Slot(uri=TEMP.has_output, name="has_output", curie=TEMP.curie('has_output'), +slots.has_output = Slot(uri=CMDR.has_output, name="has_output", curie=CMDR.curie('has_output'), model_uri=CMDR.has_output, domain=None, range=Optional[str]) -slots.has_raw_value = Slot(uri=TEMP.has_raw_value, name="has_raw_value", curie=TEMP.curie('has_raw_value'), +slots.has_raw_value = Slot(uri=CMDR.has_raw_value, name="has_raw_value", curie=CMDR.curie('has_raw_value'), model_uri=CMDR.has_raw_value, domain=None, range=Optional[str]) -slots.has_unit = Slot(uri=TEMP.has_unit, name="has_unit", curie=TEMP.curie('has_unit'), +slots.has_unit = Slot(uri=CMDR.has_unit, name="has_unit", curie=CMDR.curie('has_unit'), model_uri=CMDR.has_unit, domain=None, range=Optional[str]) -slots.id = Slot(uri=TEMP.id, name="id", curie=TEMP.curie('id'), +slots.id = Slot(uri=CMDR.id, name="id", curie=CMDR.curie('id'), model_uri=CMDR.id, domain=None, range=Optional[str]) -slots.includes = Slot(uri=TEMP.includes, name="includes", curie=TEMP.curie('includes'), +slots.includes = Slot(uri=CMDR.includes, name="includes", curie=CMDR.curie('includes'), model_uri=CMDR.includes, domain=None, range=Optional[str]) -slots.investigations = Slot(uri=TEMP.investigations, name="investigations", curie=TEMP.curie('investigations'), +slots.investigations = Slot(uri=CMDR.investigations, name="investigations", curie=CMDR.curie('investigations'), model_uri=CMDR.investigations, domain=None, range=Optional[str]) -slots.involved_in = Slot(uri=TEMP.involved_in, name="involved_in", curie=TEMP.curie('involved_in'), +slots.involved_in = Slot(uri=CMDR.involved_in, name="involved_in", curie=CMDR.curie('involved_in'), model_uri=CMDR.involved_in, domain=None, range=Optional[str]) -slots.material_processings = Slot(uri=TEMP.material_processings, name="material_processings", curie=TEMP.curie('material_processings'), +slots.material_processings = Slot(uri=CMDR.material_processings, name="material_processings", curie=CMDR.curie('material_processings'), model_uri=CMDR.material_processings, domain=None, range=Optional[str]) -slots.materials = Slot(uri=TEMP.materials, name="materials", curie=TEMP.curie('materials'), +slots.materials = Slot(uri=CMDR.materials, name="materials", curie=CMDR.curie('materials'), model_uri=CMDR.materials, domain=None, range=Optional[str]) -slots.name = Slot(uri=TEMP.name, name="name", curie=TEMP.curie('name'), +slots.name = Slot(uri=CMDR.name, name="name", curie=CMDR.curie('name'), model_uri=CMDR.name, domain=None, range=Optional[str]) -slots.part_of = Slot(uri=TEMP.part_of, name="part_of", curie=TEMP.curie('part_of'), +slots.part_of = Slot(uri=CMDR.part_of, name="part_of", curie=CMDR.curie('part_of'), model_uri=CMDR.part_of, domain=None, range=Optional[str]) -slots.participations = Slot(uri=TEMP.participations, name="participations", curie=TEMP.curie('participations'), +slots.participations = Slot(uri=CMDR.participations, name="participations", curie=CMDR.curie('participations'), model_uri=CMDR.participations, domain=None, range=Optional[str]) -slots.source = Slot(uri=TEMP.source, name="source", curie=TEMP.curie('source'), +slots.source = Slot(uri=CMDR.source, name="source", curie=CMDR.curie('source'), model_uri=CMDR.source, domain=None, range=Optional[str]) -slots.specimen_collection_processes = Slot(uri=TEMP.specimen_collection_processes, name="specimen_collection_processes", curie=TEMP.curie('specimen_collection_processes'), +slots.specimen_collection_processes = Slot(uri=CMDR.specimen_collection_processes, name="specimen_collection_processes", curie=CMDR.curie('specimen_collection_processes'), model_uri=CMDR.specimen_collection_processes, domain=None, range=Optional[str]) -slots.subjects = Slot(uri=TEMP.subjects, name="subjects", curie=TEMP.curie('subjects'), +slots.subjects = Slot(uri=CMDR.subjects, name="subjects", curie=CMDR.curie('subjects'), model_uri=CMDR.subjects, domain=None, range=Optional[str]) -slots.used_in = Slot(uri=TEMP.used_in, name="used_in", curie=TEMP.curie('used_in'), +slots.used_in = Slot(uri=CMDR.used_in, name="used_in", curie=CMDR.curie('used_in'), model_uri=CMDR.used_in, domain=None, range=Optional[str]) -slots.volume = Slot(uri=TEMP.volume, name="volume", curie=TEMP.curie('volume'), +slots.volume = Slot(uri=CMDR.volume, name="volume", curie=CMDR.curie('volume'), model_uri=CMDR.volume, domain=None, range=Optional[str]) -slots.Container_investigations = Slot(uri=TEMP.investigations, name="Container_investigations", curie=TEMP.curie('investigations'), +slots.Container_investigations = Slot(uri=CMDR.investigations, name="Container_investigations", curie=CMDR.curie('investigations'), model_uri=CMDR.Container_investigations, domain=Container, range=Optional[Union[Dict[Union[str, InvestigationId], Union[dict, "Investigation"]], List[Union[dict, "Investigation"]]]]) -slots.Container_material_processings = Slot(uri=TEMP.material_processings, name="Container_material_processings", curie=TEMP.curie('material_processings'), +slots.Container_material_processings = Slot(uri=CMDR.material_processings, name="Container_material_processings", curie=CMDR.curie('material_processings'), model_uri=CMDR.Container_material_processings, domain=Container, range=Optional[Union[Dict[Union[str, MaterialProcessingId], Union[dict, "MaterialProcessing"]], List[Union[dict, "MaterialProcessing"]]]]) -slots.Container_materials = Slot(uri=TEMP.materials, name="Container_materials", curie=TEMP.curie('materials'), +slots.Container_materials = Slot(uri=CMDR.materials, name="Container_materials", curie=CMDR.curie('materials'), model_uri=CMDR.Container_materials, domain=Container, range=Optional[Union[Dict[Union[str, MaterialEntityId], Union[dict, "MaterialEntity"]], List[Union[dict, "MaterialEntity"]]]]) -slots.Container_participations = Slot(uri=TEMP.participations, name="Container_participations", curie=TEMP.curie('participations'), +slots.Container_participations = Slot(uri=CMDR.participations, name="Container_participations", curie=CMDR.curie('participations'), model_uri=CMDR.Container_participations, domain=Container, range=Optional[Union[Dict[Union[str, ParticipationId], Union[dict, "Participation"]], List[Union[dict, "Participation"]]]]) -slots.Container_specimen_collection_processes = Slot(uri=TEMP.specimen_collection_processes, name="Container_specimen_collection_processes", curie=TEMP.curie('specimen_collection_processes'), +slots.Container_specimen_collection_processes = Slot(uri=CMDR.specimen_collection_processes, name="Container_specimen_collection_processes", curie=CMDR.curie('specimen_collection_processes'), model_uri=CMDR.Container_specimen_collection_processes, domain=Container, range=Optional[Union[Dict[Union[str, SpecimenCollectionProcessId], Union[dict, "SpecimenCollectionProcess"]], List[Union[dict, "SpecimenCollectionProcess"]]]]) -slots.Container_subjects = Slot(uri=TEMP.subjects, name="Container_subjects", curie=TEMP.curie('subjects'), +slots.Container_subjects = Slot(uri=CMDR.subjects, name="Container_subjects", curie=CMDR.curie('subjects'), model_uri=CMDR.Container_subjects, domain=Container, range=Optional[Union[Dict[Union[str, SubjectId], Union[dict, "Subject"]], List[Union[dict, "Subject"]]]]) -slots.Investigation_id = Slot(uri=TEMP.id, name="Investigation_id", curie=TEMP.curie('id'), +slots.Investigation_id = Slot(uri=CMDR.id, name="Investigation_id", curie=CMDR.curie('id'), model_uri=CMDR.Investigation_id, domain=Investigation, range=Union[str, InvestigationId]) -slots.Investigation_part_of = Slot(uri=TEMP.part_of, name="Investigation_part_of", curie=TEMP.curie('part_of'), +slots.Investigation_part_of = Slot(uri=CMDR.part_of, name="Investigation_part_of", curie=CMDR.curie('part_of'), model_uri=CMDR.Investigation_part_of, domain=Investigation, range=Optional[Union[str, InvestigationId]]) -slots.MaterialEntity_concentration = Slot(uri=TEMP.concentration, name="MaterialEntity_concentration", curie=TEMP.curie('concentration'), +slots.MaterialEntity_concentration = Slot(uri=CMDR.concentration, name="MaterialEntity_concentration", curie=CMDR.curie('concentration'), model_uri=CMDR.MaterialEntity_concentration, domain=MaterialEntity, range=Optional[Union[dict, "Quantity"]]) -slots.MaterialEntity_id = Slot(uri=TEMP.id, name="MaterialEntity_id", curie=TEMP.curie('id'), +slots.MaterialEntity_id = Slot(uri=CMDR.id, name="MaterialEntity_id", curie=CMDR.curie('id'), model_uri=CMDR.MaterialEntity_id, domain=MaterialEntity, range=Union[str, MaterialEntityId]) -slots.MaterialEntity_source = Slot(uri=TEMP.source, name="MaterialEntity_source", curie=TEMP.curie('source'), +slots.MaterialEntity_source = Slot(uri=CMDR.source, name="MaterialEntity_source", curie=CMDR.curie('source'), model_uri=CMDR.MaterialEntity_source, domain=MaterialEntity, range=Optional[Union[str, SubjectId]]) -slots.MaterialEntity_used_in = Slot(uri=TEMP.used_in, name="MaterialEntity_used_in", curie=TEMP.curie('used_in'), +slots.MaterialEntity_used_in = Slot(uri=CMDR.used_in, name="MaterialEntity_used_in", curie=CMDR.curie('used_in'), model_uri=CMDR.MaterialEntity_used_in, domain=MaterialEntity, range=Optional[Union[Union[str, InvestigationId], List[Union[str, InvestigationId]]]]) -slots.MaterialEntity_volume = Slot(uri=TEMP.volume, name="MaterialEntity_volume", curie=TEMP.curie('volume'), +slots.MaterialEntity_volume = Slot(uri=CMDR.volume, name="MaterialEntity_volume", curie=CMDR.curie('volume'), model_uri=CMDR.MaterialEntity_volume, domain=MaterialEntity, range=Optional[Union[dict, "Quantity"]]) -slots.MaterialProcessing_has_input = Slot(uri=TEMP.has_input, name="MaterialProcessing_has_input", curie=TEMP.curie('has_input'), +slots.MaterialProcessing_has_input = Slot(uri=CMDR.has_input, name="MaterialProcessing_has_input", curie=CMDR.curie('has_input'), model_uri=CMDR.MaterialProcessing_has_input, domain=MaterialProcessing, range=Optional[Union[Union[str, MaterialEntityId], List[Union[str, MaterialEntityId]]]]) -slots.MaterialProcessing_has_output = Slot(uri=TEMP.has_output, name="MaterialProcessing_has_output", curie=TEMP.curie('has_output'), +slots.MaterialProcessing_has_output = Slot(uri=CMDR.has_output, name="MaterialProcessing_has_output", curie=CMDR.curie('has_output'), model_uri=CMDR.MaterialProcessing_has_output, domain=MaterialProcessing, range=Optional[Union[Union[str, MaterialEntityId], List[Union[str, MaterialEntityId]]]]) -slots.Participation_id = Slot(uri=TEMP.id, name="Participation_id", curie=TEMP.curie('id'), +slots.Participation_id = Slot(uri=CMDR.id, name="Participation_id", curie=CMDR.curie('id'), model_uri=CMDR.Participation_id, domain=Participation, range=Union[str, ParticipationId]) -slots.Participation_includes = Slot(uri=TEMP.includes, name="Participation_includes", curie=TEMP.curie('includes'), +slots.Participation_includes = Slot(uri=CMDR.includes, name="Participation_includes", curie=CMDR.curie('includes'), model_uri=CMDR.Participation_includes, domain=Participation, range=Optional[Union[str, SubjectId]]) -slots.Participation_involved_in = Slot(uri=TEMP.involved_in, name="Participation_involved_in", curie=TEMP.curie('involved_in'), +slots.Participation_involved_in = Slot(uri=CMDR.involved_in, name="Participation_involved_in", curie=CMDR.curie('involved_in'), model_uri=CMDR.Participation_involved_in, domain=Participation, range=Optional[Union[Union[str, InvestigationId], List[Union[str, InvestigationId]]]]) -slots.Process_has_input = Slot(uri=TEMP.has_input, name="Process_has_input", curie=TEMP.curie('has_input'), +slots.Process_has_input = Slot(uri=CMDR.has_input, name="Process_has_input", curie=CMDR.curie('has_input'), model_uri=CMDR.Process_has_input, domain=Process, range=Optional[Union[str, List[str]]]) -slots.Process_has_output = Slot(uri=TEMP.has_output, name="Process_has_output", curie=TEMP.curie('has_output'), +slots.Process_has_output = Slot(uri=CMDR.has_output, name="Process_has_output", curie=CMDR.curie('has_output'), model_uri=CMDR.Process_has_output, domain=Process, range=Optional[Union[str, List[str]]]) -slots.Process_id = Slot(uri=TEMP.id, name="Process_id", curie=TEMP.curie('id'), +slots.Process_id = Slot(uri=CMDR.id, name="Process_id", curie=CMDR.curie('id'), model_uri=CMDR.Process_id, domain=Process, range=Union[str, ProcessId]) -slots.Quantity_comparator = Slot(uri=TEMP.comparator, name="Quantity_comparator", curie=TEMP.curie('comparator'), +slots.Quantity_comparator = Slot(uri=CMDR.comparator, name="Quantity_comparator", curie=CMDR.curie('comparator'), model_uri=CMDR.Quantity_comparator, domain=Quantity, range=Optional[str]) -slots.Quantity_has_numeric_value = Slot(uri=TEMP.has_numeric_value, name="Quantity_has_numeric_value", curie=TEMP.curie('has_numeric_value'), +slots.Quantity_has_numeric_value = Slot(uri=CMDR.has_numeric_value, name="Quantity_has_numeric_value", curie=CMDR.curie('has_numeric_value'), model_uri=CMDR.Quantity_has_numeric_value, domain=Quantity, range=Optional[float]) -slots.Quantity_has_raw_value = Slot(uri=TEMP.has_raw_value, name="Quantity_has_raw_value", curie=TEMP.curie('has_raw_value'), +slots.Quantity_has_raw_value = Slot(uri=CMDR.has_raw_value, name="Quantity_has_raw_value", curie=CMDR.curie('has_raw_value'), model_uri=CMDR.Quantity_has_raw_value, domain=Quantity, range=Optional[str]) -slots.Quantity_has_unit = Slot(uri=TEMP.has_unit, name="Quantity_has_unit", curie=TEMP.curie('has_unit'), +slots.Quantity_has_unit = Slot(uri=CMDR.has_unit, name="Quantity_has_unit", curie=CMDR.curie('has_unit'), model_uri=CMDR.Quantity_has_unit, domain=Quantity, range=Optional[str]) -slots.SpecimenCollectionProcess_has_input = Slot(uri=TEMP.has_input, name="SpecimenCollectionProcess_has_input", curie=TEMP.curie('has_input'), +slots.SpecimenCollectionProcess_has_input = Slot(uri=CMDR.has_input, name="SpecimenCollectionProcess_has_input", curie=CMDR.curie('has_input'), model_uri=CMDR.SpecimenCollectionProcess_has_input, domain=SpecimenCollectionProcess, range=Optional[Union[Union[str, SubjectId], List[Union[str, SubjectId]]]]) -slots.SpecimenCollectionProcess_has_output = Slot(uri=TEMP.has_output, name="SpecimenCollectionProcess_has_output", curie=TEMP.curie('has_output'), +slots.SpecimenCollectionProcess_has_output = Slot(uri=CMDR.has_output, name="SpecimenCollectionProcess_has_output", curie=CMDR.curie('has_output'), model_uri=CMDR.SpecimenCollectionProcess_has_output, domain=SpecimenCollectionProcess, range=Optional[Union[Union[str, MaterialEntityId], List[Union[str, MaterialEntityId]]]]) -slots.Subject_id = Slot(uri=TEMP.id, name="Subject_id", curie=TEMP.curie('id'), +slots.Subject_id = Slot(uri=CMDR.id, name="Subject_id", curie=CMDR.curie('id'), model_uri=CMDR.Subject_id, domain=Subject, range=Union[str, SubjectId]) \ No newline at end of file diff --git a/src/cmdr/schema/cmdr.yaml b/src/cmdr/schema/cmdr.yaml index 811a79e..ea4cf68 100644 --- a/src/cmdr/schema/cmdr.yaml +++ b/src/cmdr/schema/cmdr.yaml @@ -1,4 +1,3 @@ ---- id: https://w3id.org/linkml/cmdr name: cmdr title: cmdr @@ -56,30 +55,30 @@ classes: multivalued: true range: Subject slots: - - materials - - participations - - material_processings - - specimen_collection_processes - - investigations - - subjects + - materials + - participations + - material_processings + - specimen_collection_processes + - investigations + - subjects tree_root: true DataObject: aliases: - - File - - Data - - DataFile + - File + - Data + - DataFile description: A DataFile Associated with a Subject or Investigation or MaterialEntity from_schema: TEMP see_also: - - include:DataFile + - include:DataFile Investigation: aliases: - - Study - - Proposal + - Study + - Proposal description: General information about the Investigation from_schema: TEMP see_also: - - include:Study + - include:Study slot_usage: id: identifier: true @@ -87,20 +86,20 @@ classes: part_of: range: Investigation slots: - - id - - name - - part_of + - id + - name + - part_of MaterialEntity: aliases: - - Substance - - Specimen - - Sample - - Biospecimen - - Biosample + - Substance + - Specimen + - Sample + - Biospecimen + - Biosample description: Physical entity that is an input our output of a process from a Subject from_schema: TEMP see_also: - - include:Biospecimen + - include:Biospecimen slot_usage: concentration: range: Quantity @@ -109,7 +108,7 @@ classes: range: uriorcurie source: comments: - - this is a shortcut. to be expanded later. + - this is a shortcut. to be expanded later. range: Subject used_in: multivalued: true @@ -117,12 +116,12 @@ classes: volume: range: Quantity slots: - - id - - name - - used_in - - source - - volume - - concentration + - id + - name + - used_in + - source + - volume + - concentration MaterialProcessing: class_uri: OBI:0000094 description: A planned process which results in physical changes in a specified @@ -137,13 +136,13 @@ classes: multivalued: true range: MaterialEntity slots: - - has_input - - has_output + - has_input + - has_output Participation: description: Subject/Study participation information from_schema: TEMP see_also: - - include:Participant + - include:Participant slot_usage: id: identifier: true @@ -154,10 +153,10 @@ classes: multivalued: true range: Investigation slots: - - id - - name - - involved_in - - includes + - id + - name + - involved_in + - includes Process: abstract: true description: A planned process resulting in a material or data @@ -171,10 +170,10 @@ classes: identifier: true range: uriorcurie slots: - - id - - name - - has_input - - has_output + - id + - name + - has_input + - has_output Quantity: from_schema: TEMP slot_usage: @@ -187,13 +186,13 @@ classes: has_unit: range: string slots: - - has_raw_value - - has_numeric_value - - has_unit - - comparator + - has_raw_value + - has_numeric_value + - has_unit + - comparator SpecimenCollectionProcess: aliases: - - MaterialCollectionProcess + - MaterialCollectionProcess class_uri: OBI:0000659 description: A planned process with the objective of collecting a specimen from_schema: TEMP @@ -206,23 +205,23 @@ classes: multivalued: true range: MaterialEntity slots: - - has_input - - has_output + - has_input + - has_output Subject: aliases: - - Site - - Participant + - Site + - Participant description: Demographic and clinical information about the subject from_schema: TEMP see_also: - - include:Participant + - include:Participant slot_usage: id: identifier: true range: uriorcurie slots: - - id - - name + - id + - name slots: comparator: from_schema: TEMP