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 dc: <http://purl.org/dc/elements/1.1/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX linkml: <https://w3id.org/linkml/>
PREFIX oboInOwl: <http://www.geneontology.org/formats/oboInOwl#>
PREFIX pav: <http://purl.org/pav/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX semapv: <https://w3id.org/semapv/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX sssom: <https://w3id.org/sssom/>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX vann: <http://purl.org/vocab/vann/>

<https://w3id.org/sssom/schema/> a owl:Ontology ;
  rdfs:comment "Datamodel for Simple Standard for Sharing Ontological Mappings (SSSOM)" ;
  rdfs:seeAlso <https://github.com/mapping-commons/sssom> , <https://mapping-commons.github.io/sssom/home/> ;
  vann:preferredNamespacePrefix "sssom" ;
  vann:preferredNamespaceUri "https://w3id.org/sssom/"^^xsd:anyURI ;
  sh:declare [
    sh:prefix "dc" ;
    sh:namespace "http://purl.org/dc/elements/1.1/"^^xsd:anyURI
  ] , [
    sh:prefix "dcterms" ;
    sh:namespace "http://purl.org/dc/terms/"^^xsd:anyURI
  ] , [
    sh:prefix "linkml" ;
    sh:namespace "https://w3id.org/linkml/"^^xsd:anyURI
  ] , [
    sh:prefix "oboInOwl" ;
    sh:namespace "http://www.geneontology.org/formats/oboInOwl#"^^xsd:anyURI
  ] , [
    sh:prefix "owl" ;
    sh:namespace "http://www.w3.org/2002/07/owl#"^^xsd:anyURI
  ] , [
    sh:prefix "pav" ;
    sh:namespace "http://purl.org/pav/"^^xsd:anyURI
  ] , [
    sh:prefix "prov" ;
    sh:namespace "http://www.w3.org/ns/prov#"^^xsd:anyURI
  ] , [
    sh:prefix "rdf" ;
    sh:namespace "http://www.w3.org/1999/02/22-rdf-syntax-ns#"^^xsd:anyURI
  ] , [
    sh:prefix "rdfs" ;
    sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI
  ] , [
    sh:prefix "semapv" ;
    sh:namespace "https://w3id.org/semapv/"^^xsd:anyURI
  ] , [
    sh:prefix "skos" ;
    sh:namespace "http://www.w3.org/2004/02/skos/core#"^^xsd:anyURI
  ] , [
    sh:prefix "sssom" ;
    sh:namespace "https://w3id.org/sssom/"^^xsd:anyURI
  ] .

owl:Axiom rdfs:comment "Represents an individual mapping between a pair of entities" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty owl:annotatedSource ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty owl:annotatedSource ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_category ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_category ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty owl:annotatedProperty ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty owl:annotatedProperty ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:predicate_label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:predicate_label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:predicate_modifier ;
    owl:allValuesFrom sssom:PredicateModifierEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:predicate_modifier ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty owl:annotatedTarget ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty owl:annotatedTarget ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_label ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_category ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_category ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_justification ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o33 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_justification ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty pav:authoredBy ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:author_label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:reviewer_id ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:reviewer_label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dc:creator ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:creator_label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dcterms:license ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_type ;
    owl:allValuesFrom sssom:EntityTypeEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_source ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_source ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_source_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_source_version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_type ;
    owl:allValuesFrom sssom:EntityTypeEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_source ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_source ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_source_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_source_version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_provider ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_cardinality ;
    owl:allValuesFrom sssom:MappingCardinalityEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_cardinality ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_tool ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_tool ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_tool_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_tool_version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty pav:authoredOn ;
    owl:allValuesFrom xsd:date
  ] , [
    a owl:Restriction ;
    owl:onProperty pav:authoredOn ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:confidence ;
    owl:allValuesFrom xsd:double
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:confidence ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_match_field ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_match_field ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:match_string ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_preprocessing ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_preprocessing ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:semantic_similarity_score ;
    owl:allValuesFrom xsd:double
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:semantic_similarity_score ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:semantic_similarity_measure ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:semantic_similarity_measure ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:seeAlso ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:other ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:other ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:comment ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:comment ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

_:o33 xsd:pattern "semapv:(MappingReview|ManualMappingCuration|LogicalReasoning|LexicalMatching|CompositeMatching|UnspecifiedMatching|SemanticSimilarityThresholdMatching|LexicalSimilarityThresholdMatching|MappingChaining)" .

sssom:MappingRegistry a owl:Class ;
  rdfs:comment "A registry for managing mapping sets. It holds a set of mapping set references, and can import other registries." ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_registry_id ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_registry_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:imports ;
    owl:allValuesFrom owl:Thing
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_set_references ;
    owl:allValuesFrom sssom:MappingSetReference
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:documentation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:homepage ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

sssom:MappingSet a owl:Class ;
  rdfs:comment "Represents a set of mappings" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty sssom:mappings ;
    owl:allValuesFrom owl:Axiom
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_set_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty owl:versionInfo ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty owl:versionInfo ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty prov:wasDerivedFrom ;
    owl:allValuesFrom owl:Thing
  ] , [
    a owl:Restriction ;
    owl:onProperty dc:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dc:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty dc:creator ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:creator_label ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dcterms:license ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_type ;
    owl:allValuesFrom sssom:EntityTypeEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_source ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_source ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_source_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_source_version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_type ;
    owl:allValuesFrom sssom:EntityTypeEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_source ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_source ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_source_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_source_version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_provider ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_tool ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_tool ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty pav:authoredOn ;
    owl:allValuesFrom xsd:date
  ] , [
    a owl:Restriction ;
    owl:onProperty pav:authoredOn ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_match_field ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_match_field ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:subject_preprocessing ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:object_preprocessing ;
    owl:allValuesFrom rdfs:Resource
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:seeAlso ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:other ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:other ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:comment ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty rdfs:comment ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

sssom:MappingSetReference a owl:Class ;
  rdfs:comment "A reference to a mapping set. It allows to augment mapping set metadata from the perspective of the registry, for example, providing confidence, or a local filename or a grouping." ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_set_id ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mirror_from ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:registry_confidence ;
    owl:allValuesFrom xsd:double
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:registry_confidence ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_set_group ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:mapping_set_group ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:last_updated ;
    owl:allValuesFrom xsd:date
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:last_updated ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:local_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sssom:local_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

pav:authoredBy a owl:DatatypeProperty ;
  rdfs:comment "Identifies the persons or groups responsible for asserting the mappings. Recommended to be a (pipe-separated) list of ORCIDs or otherwise identifying URLs, but any identifying string (such as name and affiliation) is permissible." ;
  rdfs:range rdfs:Resource .

sssom:author_label a owl:DatatypeProperty ;
  rdfs:comment "A string identifying the author of this mapping. In the spirit of provenance, consider to use author_id instead." ;
  rdfs:range xsd:string .

rdfs:comment a owl:DatatypeProperty ;
  rdfs:comment "Free text field containing either curator notes or text generated by tool providing additional informative information." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sssom:confidence a owl:DatatypeProperty ;
  rdfs:comment "A score between 0 and 1 to denote the confidence or probability that the match is correct, where 1 denotes total confidence." ;
  rdfs:range xsd:double ;
  a owl:FunctionalProperty .

dc:creator a owl:DatatypeProperty ;
  rdfs:comment "Identifies the persons or groups responsible for the creation of the mapping. The creator is the agent that put the mapping in its published form, which may be different from the author, which is a person that was actively involved in the assertion of the mapping. Recommended to be a (pipe-separated) list of ORCIDs or otherwise identifying URLs, but any identifying string (such as name and affiliation) is permissible." ;
  rdfs:range rdfs:Resource .

sssom:creator_label a owl:DatatypeProperty ;
  rdfs:comment "A string identifying the creator of this mapping. In the spirit of provenance, consider to use creator_id instead." ;
  rdfs:range xsd:string .

sssom:documentation a owl:ObjectProperty ;
  rdfs:comment "A URL to the documentation of this mapping commons." ;
  a owl:FunctionalProperty .

sssom:homepage a owl:ObjectProperty ;
  rdfs:comment "A URL to a homepage of this mapping commons." ;
  a owl:FunctionalProperty .

sssom:imports a owl:ObjectProperty ;
  rdfs:comment "A list of registries that should be imported into this one." .

sssom:last_updated a owl:DatatypeProperty ;
  rdfs:comment "The date this reference was last updated." ;
  rdfs:range xsd:date ;
  a owl:FunctionalProperty .

dcterms:license a owl:ObjectProperty ;
  rdfs:comment "A url to the license of the mapping. In absence of a license we assume no license." ;
  a owl:FunctionalProperty .

sssom:local_name a owl:DatatypeProperty ;
  rdfs:comment "The local name assigned to file that corresponds to the downloaded mapping set." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sssom:mapping_cardinality a owl:ObjectProperty ;
  rdfs:comment "A string indicating whether this mapping is from a 1:1 (the subject_id maps to a single object_id), 1:n (the subject maps to more than one object_id), n:1, 1:0, 0:1 or n:n group. Note that this is a convenience field that should be derivable from the mapping set." ;
  rdfs:range sssom:MappingCardinalityEnum ;
  a owl:FunctionalProperty .

pav:authoredOn a owl:DatatypeProperty ;
  rdfs:comment "The date the mapping was asserted. This is different from the date the mapping was published or compiled in a SSSOM file." ;
  rdfs:range xsd:date ;
  a owl:FunctionalProperty .

sssom:mapping_justification a owl:DatatypeProperty ;
  rdfs:comment "A mapping justification is an action (or the written representation of that action) of showing a mapping to be right or reasonable." ;
  skos:example "semapv:LexicalMatching" , "semapv:ManualMappingCuration" ;
  rdfs:range [
    a rdfs:Datatype ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ( _:o132 )
  ] ;
  a owl:FunctionalProperty .

_:o132 xsd:pattern "semapv:(MappingReview|ManualMappingCuration|LogicalReasoning|LexicalMatching|CompositeMatching|UnspecifiedMatching|SemanticSimilarityThresholdMatching|LexicalSimilarityThresholdMatching|MappingChaining)" .

sssom:mapping_provider a owl:ObjectProperty ;
  rdfs:comment "URL pointing to the source that provided the mapping, for example an ontology that already contains the mappings, or a database from which it was derived." ;
  a owl:FunctionalProperty .

sssom:mapping_registry_id a owl:DatatypeProperty ;
  rdfs:comment "The unique identifier of a mapping registry." ;
  rdfs:range rdfs:Resource ;
  a owl:FunctionalProperty .

dc:description a owl:DatatypeProperty ;
  rdfs:comment "A description of the mapping set." ;
  skos:example "This mapping set was produced to integrate human and mouse phenotype data at the IMPC. It is primarily used for making mouse phenotypes searchable by human synonyms at https://mousephenotype.org/." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sssom:mapping_set_group a owl:DatatypeProperty ;
  rdfs:comment "Set by the owners of the mapping registry. A way to group ." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sssom:mapping_set_id a owl:ObjectProperty ;
  rdfs:comment "A globally unique identifier for the mapping set (not each individual mapping). Should be IRI, ideally resolvable." ;
  skos:example "http://purl.obolibrary.org/obo/mondo/mappings/mondo_exactmatch_ncit.sssom.tsv" ;
  a owl:FunctionalProperty .

sssom:mapping_set_references a owl:ObjectProperty ;
  rdfs:comment "A list of mapping set references." ;
  rdfs:range sssom:MappingSetReference .

prov:wasDerivedFrom a owl:ObjectProperty ;
  rdfs:comment "A mapping set or set of mapping set that was used to derive the mapping set." ;
  skos:example "http://purl.obolibrary.org/obo/mondo/mappings/2022-05-20/mondo_exactmatch_ncit.sssom.tsv" .

owl:versionInfo a owl:DatatypeProperty ;
  rdfs:comment "A version string for the mapping." ;
  skos:example "2020-01-01" , "1.2.1" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sssom:mapping_source a owl:DatatypeProperty ;
  rdfs:comment "The mapping set this mapping was originally defined in. mapping_source is used for example when merging multiple mapping sets or deriving one mapping set from another." ;
  skos:example "MONDO_MAPPINGS:mondo_exactmatch_ncit.sssom.tsv" ;
  rdfs:range rdfs:Resource ;
  a owl:FunctionalProperty .

sssom:mapping_tool a owl:DatatypeProperty ;
  rdfs:comment "A reference to the tool or algorithm that was used to generate the mapping. Should be a URL pointing to more info about it, but can be free text." ;
  skos:example "https://github.com/AgreementMakerLight/AML-Project" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sssom:mapping_tool_version a owl:DatatypeProperty ;
  rdfs:comment "Version string that denotes the version of the mapping tool used." ;
  skos:example "v3.2" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sssom:mappings a owl:ObjectProperty ;
  rdfs:comment "Contains a list of mapping objects" ;
  rdfs:range owl:Axiom .

sssom:match_string a owl:DatatypeProperty ;
  rdfs:comment "Strings that are shared by subj/obj. It is recommended to indicate the fields for the match using the object and subject_match_field slots." ;
  rdfs:range xsd:string .

sssom:mirror_from a owl:ObjectProperty ;
  rdfs:comment "A URL location from which to obtain a resource, such as a mapping set." ;
  a owl:FunctionalProperty .

sssom:object_category a owl:DatatypeProperty ;
  rdfs:comment "The conceptual category to which the subject belongs to. This can be a string denoting the category or a term from a controlled vocabulary." ;
  skos:example "UBERON:0001062" , "biolink:Gene" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

owl:annotatedTarget a owl:DatatypeProperty ;
  rdfs:comment "The ID of the object of the mapping." ;
  skos:example "HP:0009894" ;
  skos:mappingRelation owl:annotatedTarget ;
  rdfs:range rdfs:Resource ;
  a owl:FunctionalProperty .

sssom:object_label a owl:DatatypeProperty ;
  rdfs:comment "The label of object of the mapping" ;
  skos:example "Thickened ears" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sssom:object_match_field a owl:DatatypeProperty ;
  rdfs:comment "A tuple of fields (term annotations on the object) that was used for the match." ;
  rdfs:range rdfs:Resource .

sssom:object_preprocessing a owl:DatatypeProperty ;
  rdfs:comment "Method of preprocessing applied to the fields of the object. If different preprocessing steps were performed on different fields, it is recommended to store the match in separate rows." ;
  skos:example "semapv:Stemming" , "semapv:StopWordRemoval" ;
  rdfs:range rdfs:Resource .

sssom:object_source a owl:DatatypeProperty ;
  rdfs:comment "IRI of ontology source for the object. Version IRI preferred." ;
  skos:example "obo:mondo.owl" , "wikidata:Q7876491" ;
  rdfs:range rdfs:Resource ;
  a owl:FunctionalProperty .

sssom:object_source_version a owl:DatatypeProperty ;
  rdfs:comment "Version IRI or version string of the source of the object term." ;
  skos:example "http://purl.obolibrary.org/obo/mondo/releases/2021-01-30/mondo.owl" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sssom:object_type a owl:ObjectProperty ;
  rdfs:comment "The type of entity that is being mapped." ;
  skos:example "owl:Class" ;
  rdfs:range sssom:EntityTypeEnum ;
  a owl:FunctionalProperty .

sssom:other a owl:DatatypeProperty ;
  rdfs:comment "Pipe separated list of key value pairs for properties not part of the SSSOM spec. Can be used to encode additional provenance data." ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

owl:annotatedProperty a owl:DatatypeProperty ;
  rdfs:comment "The ID of the predicate or relation that relates the subject and object of this match." ;
  skos:example "skos:exactMatch" ;
  skos:mappingRelation owl:annotatedProperty ;
  rdfs:range rdfs:Resource ;
  a owl:FunctionalProperty .

sssom:predicate_label a owl:DatatypeProperty ;
  rdfs:comment "The label of the predicate/relation of the mapping" ;
  skos:example "owl:sameAs" , "owl:equivalentClass" , "owl:equivalentProperty" , "rdfs:subClassOf" , "rdfs:subPropertyOf" , "skos:relatedMatch" , "skos:closeMatch" , "skos:exactMatch" , "skos:narrowMatch" , "skos:broadMatch" , "oboInOwl:hasDbXref" , "rdfs:seeAlso" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sssom:predicate_modifier a owl:ObjectProperty ;
  rdfs:comment "A modifier for negating the prediate. See https://github.com/mapping-commons/sssom/issues/40 for discussion" ;
  skos:example "Not" ;
  rdfs:range sssom:PredicateModifierEnum ;
  a owl:FunctionalProperty .

sssom:predicate_type a owl:ObjectProperty ;
  rdfs:comment "The type of entity that is being mapped." ;
  skos:example "owl:AnnotationProperty" , "owl:ObjectProperty" ;
  rdfs:range sssom:EntityTypeEnum ;
  a owl:FunctionalProperty .

dc:created a owl:DatatypeProperty ;
  rdfs:comment "The date the mapping was published. This is different from the date the mapping was asserted." ;
  rdfs:range xsd:date ;
  a owl:FunctionalProperty .

sssom:registry_confidence a owl:DatatypeProperty ;
  rdfs:comment "This value is set by the registry that indexes the mapping set. It reflects the confidence the registry has in the correctness of the mappings in the mapping set." ;
  rdfs:range xsd:double ;
  a owl:FunctionalProperty .

sssom:reviewer_id a owl:DatatypeProperty ;
  rdfs:comment "Identifies the persons or groups that reviewed and confirmed the mapping. Recommended to be a (pipe-separated) list of ORCIDs or otherwise identifying URLs, but any identifying string (such as name and affiliation) is permissible." ;
  rdfs:range rdfs:Resource .

sssom:reviewer_label a owl:DatatypeProperty ;
  rdfs:comment "A string identifying the reviewer of this mapping. In the spirit of provenance, consider to use author_id instead." ;
  rdfs:range xsd:string .

rdfs:seeAlso a owl:DatatypeProperty ;
  rdfs:comment "A URL specific for the mapping instance. E.g. for kboom we have a per-mapping image that shows surrounding axioms that drive probability. Could also be a github issue URL that discussed a complicated alignment" ;
  rdfs:range xsd:string .

sssom:semantic_similarity_measure a owl:DatatypeProperty ;
  rdfs:comment "The measure used for computing the the semantic similarity score. To make processing this field as unambiguous as possible, we recommend using wikidata identifiers, but wikipedia pages could also be acceptable." ;
  skos:example "https://www.wikidata.org/wiki/Q865360" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sssom:semantic_similarity_score a owl:DatatypeProperty ;
  rdfs:comment "A score between 0 and 1 to denote the semantic similarity, where 1 denotes equivalence." ;
  rdfs:range xsd:double ;
  a owl:FunctionalProperty .

sssom:subject_category a owl:DatatypeProperty ;
  rdfs:comment "The conceptual category to which the subject belongs to. This can be a string denoting the category or a term from a controlled vocabulary." ;
  skos:example "UBERON:0001062" , "biolink:Gene" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

owl:annotatedSource a owl:DatatypeProperty ;
  rdfs:comment "The ID of the subject of the mapping." ;
  skos:example "HP:0009894" ;
  skos:mappingRelation owl:annotatedSource ;
  rdfs:range rdfs:Resource ;
  a owl:FunctionalProperty .

sssom:subject_label a owl:DatatypeProperty ;
  rdfs:comment "The label of subject of the mapping" ;
  skos:example "Thickened ears" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sssom:subject_match_field a owl:DatatypeProperty ;
  rdfs:comment "A tuple of fields (term annotations on the subject) that was used for the match." ;
  rdfs:range rdfs:Resource .

sssom:subject_preprocessing a owl:DatatypeProperty ;
  rdfs:comment "Method of preprocessing applied to the fields of the subject. If different preprocessing steps were performed on different fields, it is recommended to store the match in separate rows." ;
  skos:example "semapv:Stemming" , "semapv:StopWordRemoval" ;
  rdfs:range rdfs:Resource .

sssom:subject_source a owl:DatatypeProperty ;
  rdfs:comment "URI of ontology source for the subject." ;
  skos:example "obo:mondo.owl" , "wikidata:Q7876491" ;
  rdfs:range rdfs:Resource ;
  a owl:FunctionalProperty .

sssom:subject_source_version a owl:DatatypeProperty ;
  rdfs:comment "Version IRI or version string of the source of the subject term." ;
  skos:example "http://purl.obolibrary.org/obo/mondo/releases/2021-01-30/mondo.owl" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sssom:subject_type a owl:ObjectProperty ;
  rdfs:comment "The type of entity that is being mapped." ;
  skos:example "owl:Class" ;
  rdfs:range sssom:EntityTypeEnum ;
  a owl:FunctionalProperty .

sssom:EntityTypeEnum a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( owl:AnnotationProperty owl:Class owl:DataProperty owl:NamedIndividual owl:ObjectProperty rdf:Property rdfs:Class rdfs:Datatype rdfs:Literal rdfs:Resource skos:Concept )
  ] .

owl:AnnotationProperty a owl:NamedIndividual ;
  skos:notation "owl annotation property" ;
  a sssom:EntityTypeEnum .

owl:Class a owl:NamedIndividual ;
  skos:notation "owl class" ;
  a sssom:EntityTypeEnum .

owl:DataProperty a owl:NamedIndividual ;
  skos:notation "owl data property" ;
  a sssom:EntityTypeEnum .

owl:NamedIndividual a owl:NamedIndividual ;
  skos:notation "owl named individual" ;
  a sssom:EntityTypeEnum .

owl:ObjectProperty a owl:NamedIndividual ;
  skos:notation "owl object property" ;
  a sssom:EntityTypeEnum .

rdf:Property a owl:NamedIndividual ;
  skos:notation "rdf property" ;
  a sssom:EntityTypeEnum .

rdfs:Class a owl:NamedIndividual ;
  skos:notation "rdfs class" ;
  a sssom:EntityTypeEnum .

rdfs:Datatype a owl:NamedIndividual ;
  skos:notation "rdfs datatype" ;
  a sssom:EntityTypeEnum .

rdfs:Literal a owl:NamedIndividual ;
  skos:notation "rdfs literal" ;
  a sssom:EntityTypeEnum .

rdfs:Resource a owl:NamedIndividual , rdfs:Datatype ;
  skos:notation "rdfs resource" ;
  rdfs:comment "A reference to a mapped entity. This is represented internally as a string, and as a resource in RDF" ;
  a sssom:EntityTypeEnum .

skos:Concept a owl:NamedIndividual ;
  skos:notation "skos concept" ;
  a sssom:EntityTypeEnum .

sssom:MappingCardinalityEnum a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( sssom:MappingCardinalityEnum.0_1 sssom:MappingCardinalityEnum.1_0 sssom:MappingCardinalityEnum.1_1 sssom:MappingCardinalityEnum.1_N sssom:MappingCardinalityEnum.N_1 sssom:MappingCardinalityEnum.N_N )
  ] .

sssom:MappingCardinalityEnum.0_1 a owl:NamedIndividual ;
  skos:notation "0:1" ;
  rdfs:comment "None-to-one mapping" ;
  a sssom:MappingCardinalityEnum .

sssom:MappingCardinalityEnum.1_0 a owl:NamedIndividual ;
  skos:notation "1:0" ;
  rdfs:comment "One-to-none mapping" ;
  a sssom:MappingCardinalityEnum .

sssom:MappingCardinalityEnum.1_1 a owl:NamedIndividual ;
  skos:notation "1:1" ;
  rdfs:comment "One-to-one mapping" ;
  a sssom:MappingCardinalityEnum .

sssom:MappingCardinalityEnum.1_N a owl:NamedIndividual ;
  skos:notation "1:n" ;
  rdfs:comment "One-to-many mapping" ;
  a sssom:MappingCardinalityEnum .

sssom:MappingCardinalityEnum.N_1 a owl:NamedIndividual ;
  skos:notation "n:1" ;
  rdfs:comment "Many-to-one mapping" ;
  a sssom:MappingCardinalityEnum .

sssom:MappingCardinalityEnum.N_N a owl:NamedIndividual ;
  skos:notation "n:n" ;
  rdfs:comment "Many-to-many mapping" ;
  a sssom:MappingCardinalityEnum .

sssom:PredicateModifierEnum a owl:Class ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( sssom:PredicateModifierEnum.NOT )
  ] .

sssom:PredicateModifierEnum.NOT a owl:NamedIndividual ;
  skos:notation "Not" ;
  rdfs:comment "Negating the mapping predicate. The meaning of the triple becomes subject_id is not a predicate_id match to object_id." ;
  a sssom:PredicateModifierEnum .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

skos:example a owl:AnnotationProperty .

skos:mappingRelation a owl:AnnotationProperty .

skos:notation a owl:AnnotationProperty .

sh:declare a owl:AnnotationProperty .

sh:prefix a owl:AnnotationProperty .

sh:namespace a owl:AnnotationProperty .

xsd:date a rdfs:Datatype .
