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 miiid: <https://w3id.org/FAIR-MI/miiid/>
PREFIX linkml: <https://w3id.org/linkml/>
PREFIX schema: <http://schema.org/>
PREFIX WIKIDATA_PROPERTY: <https://www.wikidata.org/prop/>
PREFIX EDAM_TOPIC: <http://edamontology.org/topic_>
PREFIX EDAM_DATA: <http://edamontology.org/data_>
PREFIX NCIT: <http://purl.obolibrary.org/obo/NCIT_>
PREFIX OBI: <http://purl.obolibrary.org/obo/OBI_>
PREFIX GENEPIO: <http://purl.obolibrary.org/obo/GENEPIO_>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX pav: <http://purl.org/pav/>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX vann: <http://purl.org/vocab/vann/>

<https://w3id.org/FAIR-MI/miiid-schema> a owl:Ontology ;
  rdfs:label "miiid-schema" ;
  rdfs:comment "Minimal Information about Intermicrobial Interaction Data schema" ;
  rdfs:seeAlso <https://FAIR-MI.github.io/miiid-schema> ;
  dcterms:license "GNU GPL v3.0" ;
  pav:version "0.2.0" ;
  vann:preferredNamespacePrefix "miiid" ;
  vann:preferredNamespaceUri "https://w3id.org/FAIR-MI/miiid/"^^xsd:anyURI ;
  sh:declare [
    sh:prefix "miiid" ;
    sh:namespace "https://w3id.org/FAIR-MI/miiid/"^^xsd:anyURI
  ] , [
    sh:prefix "linkml" ;
    sh:namespace "https://w3id.org/linkml/"^^xsd:anyURI
  ] , [
    sh:prefix "schema" ;
    sh:namespace "http://schema.org/"^^xsd:anyURI
  ] , [
    sh:prefix "WIKIDATA_PROPERTY" ;
    sh:namespace "https://www.wikidata.org/prop/"^^xsd:anyURI
  ] , [
    sh:prefix "EDAM_TOPIC" ;
    sh:namespace "http://edamontology.org/topic_"^^xsd:anyURI
  ] , [
    sh:prefix "EDAM_DATA" ;
    sh:namespace "http://edamontology.org/data_"^^xsd:anyURI
  ] , [
    sh:prefix "NCIT" ;
    sh:namespace "http://purl.obolibrary.org/obo/NCIT_"^^xsd:anyURI
  ] , [
    sh:prefix "OBI" ;
    sh:namespace "http://purl.obolibrary.org/obo/OBI_"^^xsd:anyURI
  ] , [
    sh:prefix "GENEPIO" ;
    sh:namespace "http://purl.obolibrary.org/obo/GENEPIO_"^^xsd:anyURI
  ] .

schema:Thing a owl:Class ;
  rdfs:comment "A generic grouping for any identifiable entity" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty schema:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty schema:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

miiid:IntermicrobialInteraction a owl:Class ;
  rdfs:comment "Represents an interaction between microbial entities" ;
  rdfs:subClassOf schema:Thing , [
    a owl:Restriction ;
    owl:onProperty miiid:participants ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty miiid:participants ;
    owl:minCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty miiid:tax_id ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:integer ;
      owl:withRestrictions ( _:o18 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty miiid:tax_id ;
    owl:minCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty miiid:sequence_id ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty miiid:evidence_type ;
    owl:allValuesFrom [
      a rdfs:Datatype ;
      owl:onDatatype xsd:string ;
      owl:withRestrictions ( _:o23 )
    ]
  ] , [
    a owl:Restriction ;
    owl:onProperty miiid:evidence_type ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty miiid:method_type ;
    owl:allValuesFrom miiid:MethodType
  ] , [
    a owl:Restriction ;
    owl:onProperty miiid:reference ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty miiid:reference ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty miiid:participant_outcomes ;
    owl:allValuesFrom miiid:ParticipantOutcome
  ] .

_:o18 xsd:minInclusive 2 .

_:o23 xsd:pattern ".*[^\\:\\n\\r]+\\:[^\\:\\n\\r]+.*" .

miiid:IntermicrobialInteractionCollection a owl:Class ;
  rdfs:comment "A holder for IntermicrobialInteraction objects" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty miiid:entries ;
    owl:allValuesFrom miiid:IntermicrobialInteraction
  ] .

schema:name a owl:DatatypeProperty ;
  rdfs:comment "A human-readable name for a thing" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

schema:description a owl:DatatypeProperty ;
  rdfs:comment "A human-readable description for a thing" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

miiid:participants a owl:DatatypeProperty ;
  rdfs:comment "Names of the microbial entities, with descriptions of any genetic manipulations performed." ;
  rdfs:range xsd:string .

miiid:tax_id a owl:DatatypeProperty ;
  rdfs:comment "NCBI Taxonomy identifiers at the relevant taxonomic level. Novel taxa lacking identifiers are denoted by N/A." ;
  rdfs:range [
    a rdfs:Datatype ;
    owl:onDatatype xsd:integer ;
    owl:withRestrictions ( _:o31 )
  ] .

_:o31 xsd:minInclusive 2 .

miiid:sequence_id a owl:DatatypeProperty ;
  rdfs:comment "Accession to the matching sequence data (e.g., genome, marker gene sequence)." ;
  rdfs:range xsd:string .

miiid:evidence_type a owl:DatatypeProperty ;
  rdfs:comment "Type of evidence used to determine the interaction using the Evidence and Conclusion Ontology." ;
  rdfs:range [
    a rdfs:Datatype ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ( _:o33 )
  ] ;
  a owl:FunctionalProperty .

_:o33 xsd:pattern ".*[^\\:\\n\\r]+\\:[^\\:\\n\\r]+.*" .

miiid:method_type a owl:ObjectProperty ;
  rdfs:comment "One or several of the types of methods used to determine the interaction." ;
  rdfs:range miiid:MethodType .

miiid:reference a owl:DatatypeProperty ;
  rdfs:comment "Persistent identifier (e.g. DOI or URL) to a resource, script, or article, documenting the method." ;
  skos:exactMatch schema:url ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

miiid:env_exp a owl:DatatypeProperty ;
  rdfs:comment "Biome term (from the Environmental Ontology) used in the experiment. Engineered ecosystems such as bioreactors, agar plates or computational models use N/A." ;
  rdfs:range [
    a rdfs:Datatype ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ( _:o35 )
  ] ;
  a owl:FunctionalProperty .

_:o35 xsd:pattern ".*[^\\:\\n\\r]+\\:[^\\:\\n\\r]+.*" .

miiid:participant_outcomes a owl:ObjectProperty ;
  rdfs:comment "Outcomes of each of the participants described in the interaction when known." ;
  rdfs:range miiid:ParticipantOutcome .

miiid:entries a owl:ObjectProperty ;
  rdfs:comment "An IntermicrobialInteraction object" ;
  rdfs:range miiid:IntermicrobialInteraction .

miiid:MethodType a owl:Class ;
  rdfs:comment "List of methods used to determine interactions" ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( EDAM_TOPIC:3524 EDAM_TOPIC:3382 NCIT:C25300 OBI:0000659 )
  ] .

EDAM_TOPIC:3524 a owl:NamedIndividual ;
  skos:notation "simulation" ;
  rdfs:comment "Any type of biological computational model experiments" ;
  skos:example "generalized Lotka-Volterra model" , "genome-scale metabolic model" ;
  a miiid:MethodType .

EDAM_TOPIC:3382 a owl:NamedIndividual ;
  skos:notation "microscopy" ;
  rdfs:comment "Any type of imaging-related experiments" ;
  skos:example "co-localization with fluorescent markers" , "assisted motility" ;
  a miiid:MethodType .

NCIT:C25300 a owl:NamedIndividual ;
  skos:notation "cultivation" ;
  rdfs:comment "Any laboratory procedure for growing microorganisms" ;
  skos:example "continuous co-culture in bioreactor" , "co-plating on solid media" ;
  a miiid:MethodType .

OBI:0000659 a owl:NamedIndividual ;
  skos:notation "sample" ;
  rdfs:comment "Any type of experiments based on the analysis of a sample" ;
  skos:example "co-occurrences drawn from analyses of abundances obtained from in situ or in vivo sampling" ;
  a miiid:MethodType .

miiid:ParticipantOutcome a owl:Class ;
  rdfs:comment "Outcome indicating how each participant was affected" ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( miiid:ParticipantOutcome.NOT_AFFECTED miiid:ParticipantOutcome.POSITIVELY miiid:ParticipantOutcome.NEGATIVELY GENEPIO:0001619 )
  ] .

miiid:ParticipantOutcome.NOT_AFFECTED a owl:NamedIndividual ;
  skos:notation "not_affected" ;
  rdfs:comment "usually encoded with numerical 0" ;
  a miiid:ParticipantOutcome .

miiid:ParticipantOutcome.POSITIVELY a owl:NamedIndividual ;
  skos:notation "positively" ;
  rdfs:comment "usually encoded with +1" ;
  a miiid:ParticipantOutcome .

miiid:ParticipantOutcome.NEGATIVELY a owl:NamedIndividual ;
  skos:notation "negatively" ;
  rdfs:comment "usually encoded with -1" ;
  a miiid:ParticipantOutcome .

GENEPIO:0001619 a owl:NamedIndividual ;
  skos:notation "not_applicable" ;
  rdfs:comment "The information is inappropriate to report, this can indicate that the standard itself fails to model or represent the information appropriately" ;
  a miiid:ParticipantOutcome .

dcterms:license a owl:AnnotationProperty .

pav:version a owl:AnnotationProperty .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

skos:exactMatch a owl:AnnotationProperty .

skos:notation a owl:AnnotationProperty .

skos:example a owl:AnnotationProperty .

sh:declare a owl:AnnotationProperty .

sh:prefix a owl:AnnotationProperty .

sh:namespace a owl:AnnotationProperty .
