PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

skos:Collection a rdfs:Class ;
  rdfs:label "Collection"@en ;
  rdfs:comment "A meaningful collection of concepts."@en .

skos:member a rdf:Property ;
  rdfs:label "has member"@en ;
  rdfs:comment "Relates a collection to one of its members."@en ;
  rdfs:domain skos:Collection ;
  rdfs:range xsd:string .

skos:OrderedCollection a rdfs:Class ;
  rdfs:label "Ordered Collection"@en ;
  rdfs:comment "An ordered collection of concepts, where both the grouping and the ordering are meaningful."@en ;
  rdfs:subClassOf skos:Collection .

skos:memberList a rdf:Property ;
  rdfs:label "has member list"@en ;
  rdfs:comment "Relates an ordered collection to the RDF list containing its members."@en ;
  rdfs:domain skos:OrderedCollection ;
  rdfs:range <https://w3id.org/linkml/Any> .

skos:Concept a rdfs:Class ;
  rdfs:label "Concept"@en ;
  rdfs:comment "An idea or notion; a unit of thought."@en .

skos:semanticRelation a rdf:Property ;
  rdfs:label "is in semantic relation with"@en ;
  rdfs:comment "Links a concept to a concept related by meaning."@en ;
  rdfs:domain skos:Concept ;
  rdfs:range skos:Concept .

skos:topConceptOf a rdf:Property ;
  rdfs:label "is top concept in scheme"@en ;
  rdfs:comment "Relates a concept to the concept scheme that it is a top level concept of."@en ;
  rdfs:domain skos:Concept ;
  rdfs:range skos:ConceptScheme ;
  rdfs:subPropertyOf skos:inScheme .

skos:ConceptScheme a rdfs:Class ;
  rdfs:label "Concept Scheme"@en ;
  rdfs:comment "A set of concepts, optionally including statements about semantic relationships between those concepts."@en .

skos:hasTopConcept a rdf:Property ;
  rdfs:label "has top concept"@en ;
  rdfs:comment "Relates, by convention, a concept scheme to a concept which is topmost in the broader/narrower concept hierarchies for that scheme, providing an entry point to these hierarchies."@en ;
  rdfs:domain skos:ConceptScheme ;
  rdfs:range skos:Concept .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object"@en .

skos:altLabel a rdf:Property ;
  rdfs:label "alternative label"@en ;
  rdfs:comment "An alternative lexical label for a resource."@en ;
  rdfs:range xsd:string .

skos:broadMatch a rdf:Property ;
  rdfs:label "has broader match"@en ;
  rdfs:comment "skos:broadMatch is used to state a hierarchical mapping link between two conceptual resources in different concept schemes."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf skos:mappingRelation , skos:broader .

skos:broader a rdf:Property ;
  rdfs:label "has broader"@en ;
  rdfs:comment "Relates a concept to a concept that is more general in meaning."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf skos:broaderTransitive .

skos:broaderTransitive a rdf:Property ;
  rdfs:label "has broader transitive"@en ;
  rdfs:comment "skos:broaderTransitive is a transitive superproperty of skos:broader."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf skos:semanticRelation .

skos:changeNote a rdf:Property ;
  rdfs:label "change note"@en ;
  rdfs:comment "A note about a modification to a concept."@en ;
  rdfs:range xsd:string .

skos:closeMatch a rdf:Property ;
  rdfs:label "has close match"@en ;
  rdfs:comment "skos:closeMatch is used to link two concepts that are sufficiently similar that they can be used interchangeably in some information retrieval applications. In order to avoid the possibility of \"compound errors\" when combining mappings across more than two concept schemes, skos:closeMatch is not declared to be a transitive property."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf skos:mappingRelation .

skos:definition a rdf:Property ;
  rdfs:label "definition"@en ;
  rdfs:comment "A statement or formal explanation of the meaning of a concept."@en ;
  rdfs:range xsd:string .

skos:editorialNote a rdf:Property ;
  rdfs:label "editorial note"@en ;
  rdfs:comment "A note for an editor, translator or maintainer of the vocabulary."@en ;
  rdfs:range xsd:string .

skos:exactMatch a rdf:Property ;
  rdfs:label "has exact match"@en ;
  rdfs:comment "skos:exactMatch is used to link two concepts, indicating a high degree of confidence that the concepts can be used interchangeably across a wide range of information retrieval applications. skos:exactMatch is a transitive property, and is a sub-property of skos:closeMatch."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf skos:closeMatch .

skos:example a rdf:Property ;
  rdfs:label "example"@en ;
  rdfs:comment "An example of the use of a concept."@en ;
  rdfs:range xsd:string .

skos:hiddenLabel a rdf:Property ;
  rdfs:label "hidden label"@en ;
  rdfs:comment "A lexical label for a resource that should be hidden when generating visual displays of the resource, but should still be accessible to free text search operations."@en ;
  rdfs:range xsd:string .

skos:historyNote a rdf:Property ;
  rdfs:label "history note"@en ;
  rdfs:comment "A note about the past state/use/meaning of a concept."@en ;
  rdfs:range xsd:string .

skos:inScheme a rdf:Property ;
  rdfs:label "is in scheme"@en ;
  rdfs:comment "Relates a resource (for example a concept) to a concept scheme in which it is included."@en ;
  rdfs:range skos:ConceptScheme .

skos:mappingRelation a rdf:Property ;
  rdfs:label "is in mapping relation with"@en ;
  rdfs:comment "Relates two concepts coming, by convention, from different schemes, and that have comparable meanings"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf skos:semanticRelation .

skos:narrowMatch a rdf:Property ;
  rdfs:label "has narrower match"@en ;
  rdfs:comment "skos:narrowMatch is used to state a hierarchical mapping link between two conceptual resources in different concept schemes."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf skos:narrower , skos:mappingRelation .

skos:narrower a rdf:Property ;
  rdfs:label "has narrower"@en ;
  rdfs:comment "Relates a concept to a concept that is more specific in meaning."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf skos:narrowerTransitive .

skos:narrowerTransitive a rdf:Property ;
  rdfs:label "has narrower transitive"@en ;
  rdfs:comment "skos:narrowerTransitive is a transitive superproperty of skos:narrower."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf skos:semanticRelation .

skos:notation a rdf:Property ;
  rdfs:label "notation"@en ;
  rdfs:comment "A notation, also known as classification code, is a string of characters such as \"T58.5\" or \"303.4833\" used to uniquely identify a concept within the scope of a given concept scheme."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

skos:note a rdf:Property ;
  rdfs:label "note"@en ;
  rdfs:comment "A general note, for any purpose."@en ;
  rdfs:range xsd:string .

skos:prefLabel a rdf:Property ;
  rdfs:label "preferred label"@en ;
  rdfs:comment "The preferred lexical label for a resource, in a given language."@en ;
  rdfs:range xsd:string .

skos:related a rdf:Property ;
  rdfs:label "has related"@en ;
  rdfs:comment "Relates a concept to a concept with which there is an associative semantic relationship."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf skos:semanticRelation .

skos:relatedMatch a rdf:Property ;
  rdfs:label "has related match"@en ;
  rdfs:comment "skos:relatedMatch is used to state an associative mapping link between two conceptual resources in different concept schemes."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf skos:related , skos:mappingRelation .

skos:scopeNote a rdf:Property ;
  rdfs:label "scope note"@en ;
  rdfs:comment "A note that helps to clarify the meaning and/or the use of a concept."@en ;
  rdfs:range xsd:string .
