PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX CAS: <https://cellular-semantics.sanger.ac.uk/ontology/CAS/>
PREFIX CL: <http://purl.obolibrary.org/obo/CL_>
PREFIX CellXGene_dataset: <https://cellxgene.cziscience.com/datasets/>
PREFIX IAO: <http://purl.obolibrary.org/obo/IAO_>
PREFIX PCL: <http://purl.obolibrary.org/obo/PCL_>
PREFIX RO: <http://purl.obolibrary.org/obo/RO_>
PREFIX cell_annotation_schema: <https://cellular-semantics.sanger.ac.uk/ontology/CAS/>
PREFIX linkml: <https://w3id.org/linkml/>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX vann: <http://purl.org/vocab/vann/>

<https://cellular-semantics.sanger.ac.uk/ontology/CAS> a owl:Ontology ;
  rdfs:label "General Cell Annotation Open Standard" ;
  rdfs:comment "General, open-standard schema for cell annotations" ;
  dcterms:license "GNU GPL v3.0" ;
  vann:preferredNamespacePrefix "cell_annotation_schema" ;
  vann:preferredNamespaceUri "https://cellular-semantics.sanger.ac.uk/ontology/CAS/"^^xsd:anyURI ;
  sh:declare [
    sh:prefix "CAS" ;
    sh:namespace "https://cellular-semantics.sanger.ac.uk/ontology/CAS/"^^xsd:anyURI
  ] , [
    sh:prefix "CL" ;
    sh:namespace "http://purl.obolibrary.org/obo/CL_"^^xsd:anyURI
  ] , [
    sh:prefix "CellXGene_dataset" ;
    sh:namespace "https://cellxgene.cziscience.com/datasets/"^^xsd:anyURI
  ] , [
    sh:prefix "IAO" ;
    sh:namespace "http://purl.obolibrary.org/obo/IAO_"^^xsd:anyURI
  ] , [
    sh:prefix "PCL" ;
    sh:namespace "http://purl.obolibrary.org/obo/PCL_"^^xsd:anyURI
  ] , [
    sh:prefix "RO" ;
    sh:namespace "http://purl.obolibrary.org/obo/RO_"^^xsd:anyURI
  ] , [
    sh:prefix "cell_annotation_schema" ;
    sh:namespace "https://cellular-semantics.sanger.ac.uk/ontology/CAS/"^^xsd:anyURI
  ] , [
    sh:prefix "linkml" ;
    sh:namespace "https://w3id.org/linkml/"^^xsd:anyURI
  ] , [
    sh:prefix "obo" ;
    sh:namespace "http://purl.obolibrary.org/obo/"^^xsd:anyURI
  ] , [
    sh:prefix "skos" ;
    sh:namespace "http://www.w3.org/2004/02/skos/core#"^^xsd:anyURI
  ] .

PCL:0010001 a owl:Class ;
  rdfs:comment "A collection of fields recording a cell type/class/state annotation on some set of cells, supporting evidence and provenance. As this is intended as a general schema, compulsory fields are kept to a minimum. However, tools using this schema are encouarged to specify a larger set of compulsory fields for publication.    Note: This schema deliberately allows for additional fields in order to support ad hoc user fields, new formal schema extensions and project/tool specific metadata." ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty CAS:has_labelset ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:has_labelset ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty skos:preflabel ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty skos:preflabel ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty RO:0002473 ;
    owl:allValuesFrom CAS:CellTypeEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty RO:0002473 ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:cell_ontology_term ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:cell_ontology_term ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:has_cellid ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:rationale ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:rationale ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:rationale_dois ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:marker_gene_evidence ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:synonyms ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:reviews ;
    owl:allValuesFrom CAS:Review
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:author_annotation_fields ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

CAS:AutomatedAnnotation a owl:Class ;
  rdfs:comment "A set of fields for recording the details of the automated annotation algorithm used. (Common 'automated annotation methods' would include PopV, Azimuth, CellTypist, scArches, etc.)" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty CAS:algorithm_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:algorithm_name ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:algorithm_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:algorithm_version ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:algorithm_repo_url ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:algorithm_repo_url ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:reference_location ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:reference_location ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

CAS:Labelset a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:label ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty IAO:0000115 ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty IAO:0000115 ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:annotation_method ;
    owl:allValuesFrom CAS:AnnotationMethodOptions
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:annotation_method ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:automated_annotation ;
    owl:allValuesFrom CAS:AutomatedAnnotation
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:automated_annotation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

CAS:Review a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty CAS:datestamp ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:datestamp ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:reviewer ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:reviewer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:review ;
    owl:allValuesFrom CAS:ReviewOptions
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:review ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty IAO:0000115 ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty IAO:0000115 ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

CAS:Taxonomy a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty CAS:matrix_file_id ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:title ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:title ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty IAO:0000115 ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty IAO:0000115 ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:cellannotation_schema_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:cellannotation_schema_version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:cellannotation_timestamp ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:cellannotation_timestamp ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:cellannotation_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:cellannotation_version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:cellannotation_url ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:cellannotation_url ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:author_list ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:author_list ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:author_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:author_name ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:author_contact ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:author_contact ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:orcid ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:orcid ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:labelsets ;
    owl:allValuesFrom CAS:Labelset
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:labelsets ;
    owl:minCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:annotations ;
    owl:allValuesFrom PCL:0010001
  ] , [
    a owl:Restriction ;
    owl:onProperty CAS:annotations ;
    owl:minCardinality "1"^^xsd:nonNegativeInteger
  ] .

CAS:algorithm_name a owl:DatatypeProperty ;
  rdfs:comment "The name of the algorithm used. It MUST be a string of the algorithm's name." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:algorithm_repo_url a owl:DatatypeProperty ;
  rdfs:comment "This field denotes the URL of the version control repository associated with the algorithm used (if applicable). It MUST be a string of a valid URL." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:algorithm_version a owl:DatatypeProperty ;
  rdfs:comment "The version of the algorithm used (if applicable). It MUST be a string of the algorithm's version, which is typically in the format '[MAJOR].[MINOR]', but other versioning systems are permitted (based on the algorithm's versioning)." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:annotation_method a owl:ObjectProperty ;
  rdfs:comment "The method used for creating the cell annotations. This MUST be one of the following strings: `'algorithmic'`, `'manual'`, or `'both'`" ;
  rdfs:range CAS:AnnotationMethodOptions ;
  a owl:FunctionalProperty .

CAS:annotations a owl:ObjectProperty ;
  rdfs:range PCL:0010001 .

CAS:author_annotation_fields a owl:ObjectProperty ;
  rdfs:comment "A dictionary of author defined key value pairs annotating the cell set. The names and aims of these fields MUST not clash with official annotation fields." ;
  a owl:FunctionalProperty .

CAS:author_contact a owl:DatatypeProperty ;
  rdfs:comment "Primary author's contact. This MUST be a valid email address of the author" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:author_list a owl:DatatypeProperty ;
  rdfs:comment "This field stores a list of users who are included in the project as collaborators, regardless of their specific role. An example list; '['John Smith', 'Cody Miller', 'Sarah Jones']'" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:author_name a owl:DatatypeProperty ;
  rdfs:comment "Primary author's name. This MUST be a string in the format `[FIRST NAME] [LAST NAME]`" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:automated_annotation a owl:ObjectProperty ;
  rdfs:range CAS:AutomatedAnnotation ;
  a owl:FunctionalProperty .

skos:preflabel a owl:DatatypeProperty ;
  rdfs:comment """This MUST be the full-length name for the biological entity listed in `cell_label` by the author. (If the value in `cell_label` is the full-length term, this field will contain the same value.) 
NOTE: any reserved word used in the field 'cell_label' MUST match the value of this field. 

EXAMPLE 1: Given the matching terms 'LC' and 'luminal cell' used to annotate the same cell(s), then users could use either terms as values in the field 'cell_label'. However, the abbreviation 'LC' CANNOT be provided in the field 'cell_fullname'. 

EXAMPLE 2: Either the abbreviation 'AC' or the full-length term intended by the author 'GABAergic amacrine cell' MAY be placed in the field 'cell_label', but as full-length term naming this biological entity, 'GABAergic amacrine cell' MUST be placed in the field 'cell_fullname'.""" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:has_cellid a owl:DatatypeProperty ;
  rdfs:comment "Cell barcode sequences/UUIDs used to uniquely identify the cells within the AnnData/Seurat matrix. Any and all cell barcode sequences/UUIDs MUST be included in the AnnData/Seurat matrix." ;
  rdfs:range xsd:string .

rdfs:label a owl:DatatypeProperty ;
  rdfs:comment """This denotes any free-text term which the author uses to annotate cells, i.e. the preferred cell label name used by the author. Abbreviations are exceptable in this field; refer to 'cell_fullname' for related details. 
Certain key words have been reserved:
- `'doublets'` is reserved for encoding cells defined as doublets based on some computational analysis
- `'junk'` is reserved for encoding cells that failed sequencing for some reason, e.g. few genes detected, high fraction of mitochondrial reads
- `'unknown'` is explicitly reserved for unknown or 'author does not know'
- `'NA'` is incomplete, i.e. no cell annotation was provided""" , "name of annotation key" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:cell_ontology_term a owl:DatatypeProperty ;
  rdfs:comment "This MUST be the human-readable name assigned to the value of 'cell_ontology_term_id'" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

RO:0002473 a owl:ObjectProperty ;
  rdfs:comment """This MUST be a term from either the Cell Ontology (https://www.ebi.ac.uk/ols/ontologies/cl) or from some ontology that extends it by classifying cell types under terms from the Cell Ontology
e.g. the Provisional Cell Ontology (https://www.ebi.ac.uk/ols/ontologies/pcl) or the Drosophila Anatomy Ontology (DAO) (https://www.ebi.ac.uk/ols4/ontologies/fbbt).

NOTE: The closest available ontology term matching the value within the field 'cell_label' (at the time of publication) MUST be used.
For example, if the value of 'cell_label' is 'relay interneuron', but this entity does not yet exist in the ontology, users must choose the closest available term in the CL ontology. In this case, it's the broader term 'interneuron' i.e.  https://www.ebi.ac.uk/ols/ontologies/cl/terms?obo_id=CL:0000099.""" ;
  rdfs:range CAS:CellTypeEnum ;
  a owl:FunctionalProperty .

CAS:cellannotation_schema_version a owl:DatatypeProperty ;
  rdfs:comment """The schema version, the cell annotation open standard. Current version MUST follow 0.1.0
This versioning MUST follow the format `'[MAJOR].[MINOR].[PATCH]'` as defined by Semantic Versioning 2.0.0, https://semver.org/""" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:cellannotation_timestamp a owl:DatatypeProperty ;
  rdfs:comment "The timestamp of all cell annotations published (per dataset). This MUST be a string in the format `'%yyyy-%mm-%dd %hh:%mm:%ss'`" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:cellannotation_url a owl:DatatypeProperty ;
  rdfs:comment "A persistent URL of all cell annotations published (per dataset)." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:cellannotation_version a owl:DatatypeProperty ;
  rdfs:comment "The version for all cell annotations published (per dataset). This MUST be a string. The recommended versioning format is `'[MAJOR].[MINOR].[PATCH]'` as defined by Semantic Versioning 2.0.0, https://semver.org/" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:datestamp a owl:DatatypeProperty ;
  rdfs:comment "Time and date review was last edited." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

IAO:0000115 a owl:DatatypeProperty ;
  rdfs:comment "The description of the dataset. e.g. 'A total of 15 retinal ganglion cell clusters were identified from over 99K retinal ganglion cell nuclei in the current atlas. Utilizing previous characterized markers from macaque, 5 clusters can be annotated.'" , "Free-text review of annotation. This is required if the verdict is disagree and should include reasons for disagreement." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:has_labelset a owl:DatatypeProperty ;
  rdfs:comment """The unique name of the set of cell annotations. 
Each cell within the AnnData/Seurat file MUST be associated with a 'cell_label' value in order for this to be a valid 'cellannotation_setname'.""" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:labelsets a owl:ObjectProperty ;
  rdfs:range CAS:Labelset .

CAS:marker_gene_context a owl:DatatypeProperty ;
  rdfs:comment """The context in which the marker genes given in the marker gene evidence field should be tested. Context should consist of a list of field_name:value.  Where field name = an obs field name.   The obs field name may be further broken down into labelset.field name, where a field is attached to a  specific labelset.
""" ;
  rdfs:range xsd:string .

CAS:marker_gene_evidence a owl:DatatypeProperty ;
  rdfs:comment "Gene names explicitly used as evidence, which MUST be in the matrix of the AnnData/Seurat file" ;
  rdfs:range xsd:string .

CAS:matrix_file_id a owl:ObjectProperty ;
  rdfs:comment "A resolvable ID for a cell by gene matrix file in the form namespace:accession, e.g. CellXGene_dataset:8e10f1c4-8e98-41e5-b65f-8cd89a887122.  Please see https://github.com/cellannotation/cell-annotation-schema/registry/registry.json for supported namespaces." ;
  a owl:FunctionalProperty .

CAS:orcid a owl:DatatypeProperty ;
  rdfs:comment "Primary author's orcid. This MUST be a valid ORCID for the author" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:rationale a owl:DatatypeProperty ;
  rdfs:comment """The free-text rationale which users provide as justification/evidence for their cell annotations. 
Researchers are encouraged to use this field to cite relevant publications in-line using standard academic citations of the form `(Zheng et al., 2020)` This human-readable free-text MUST be encoded as a single string.
All references cited SHOULD be listed using DOIs under rationale_dois. There MUST be a 2000-character limit.""" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:rationale_dois a owl:DatatypeProperty ;
  rdfs:range xsd:string .

CAS:reference_location a owl:DatatypeProperty ;
  rdfs:comment """This field denotes a valid URL of the annotated dataset that was the source of annotated reference data. 
This MUST be a string of a valid URL. The concept of a 'reference' specifically refers to 'annotation transfer' algorithms, whereby a 'reference' dataset is used to transfer cell annotations to the 'query' dataset.""" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:review a owl:ObjectProperty ;
  rdfs:comment "Reviewer's verdict on the annotation.  Must be 'Agree' or 'Disagree'" ;
  rdfs:range CAS:ReviewOptions ;
  a owl:FunctionalProperty .

CAS:reviewer a owl:DatatypeProperty ;
  rdfs:comment "Review Author" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:reviews a owl:ObjectProperty ;
  rdfs:range CAS:Review .

CAS:synonyms a owl:DatatypeProperty ;
  rdfs:comment "List of synonyms" ;
  rdfs:range xsd:string .

CAS:title a owl:DatatypeProperty ;
  rdfs:comment "The title of the dataset. This MUST be less than or equal to 200 characters. e.g. 'Human retina cell atlas - retinal ganglion cells'." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

CAS:CellTypeEnum a owl:Class .

CAS:AnnotationMethodOptions a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( CAS:AnnotationMethodOptions.ALGORITHMIC CAS:AnnotationMethodOptions.BOTH CAS:AnnotationMethodOptions.MANUAL )
  ] .

CAS:AnnotationMethodOptions.ALGORITHMIC a owl:NamedIndividual ;
  skos:notation "algorithmic" ;
  a CAS:AnnotationMethodOptions .

CAS:AnnotationMethodOptions.BOTH a owl:NamedIndividual ;
  skos:notation "both" ;
  a CAS:AnnotationMethodOptions .

CAS:AnnotationMethodOptions.MANUAL a owl:NamedIndividual ;
  skos:notation "manual" ;
  a CAS:AnnotationMethodOptions .

CAS:ReviewOptions a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( CAS:ReviewOptions.AGREE CAS:ReviewOptions.DISAGREE )
  ] .

CAS:ReviewOptions.AGREE a owl:NamedIndividual ;
  skos:notation "Agree" ;
  a CAS:ReviewOptions .

CAS:ReviewOptions.DISAGREE a owl:NamedIndividual ;
  skos:notation "Disagree" ;
  a CAS:ReviewOptions .

dcterms:license a owl:AnnotationProperty .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

skos:notation a owl:AnnotationProperty .

sh:declare a owl:AnnotationProperty .

sh:prefix a owl:AnnotationProperty .

sh:namespace a owl:AnnotationProperty .
