@prefix : <https://www.commonprovenancemodel.org/ns/pbm#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <https://www.commonprovenancemodel.org/ns/pbm#> .

<https://www.commonprovenancemodel.org/ns/pbm#> rdf:type owl:Ontology ;
                                                 owl:versionIRI <https://www.commonprovenancemodel.org/ns/pbm/1.0.0> ;
                                                 owl:imports <http://www.w3.org/ns/prov-o-20130430> ;
                                                 <http://purl.org/dc/terms/abstract> "The Provenance of Biological Material Ontology (PBM-O) expresses the Provenance of Biological Material (PBM) structures using the OWL 2 Web Ontology Language. The PBM structures are specializations of the provenance structures defined in W3C PROV-DM and are used together with the Common Provenance Model (CPM) to represent the provenance of biological material, such as samples and the activities performed on them. PBM-O is an extension of PROV-O."@en ;
                                                 <http://purl.org/dc/terms/created> "2026-09-25"^^xsd:date ;
                                                 <http://purl.org/dc/terms/description> "PBM-O provides IRIs, labels, and definitions for the terms of the PBM structures, so that these terms can be referenced from provenance documents expressed in PROV-N, PROV-JSON, PROV-XML, or RDF. In this version the ontology serves primarily as a vocabulary: it declares the PBM classes and aligns them with PROV-O. The minimum cardinality restrictions it contains document mandatory properties of the PBM structures but, under the open-world semantics of OWL, they do not validate data. Constraints for checking conformance and further features are planned for future versions."@en ;
                                                 <http://purl.org/dc/terms/license> <http://creativecommons.org/licenses/by/4.0/> ;
                                                 <http://purl.org/dc/terms/title> "Provenance of Biological Material Ontology (PBM-O)"@en ;
                                                 <http://purl.org/vocab/vann/preferredNamespacePrefix> "pbm" ;
                                                 <http://purl.org/vocab/vann/preferredNamespaceUri> "https://www.commonprovenancemodel.org/ns/pbm#" ;
                                                 rdfs:comment "Following PROV-O (Section 3.1), the PROV-DM attribute prov:type is expressed in RDF with rdf:type; PBM-O therefore does not declare prov:type. PROV-N, PROV-JSON, and PROV-XML keep prov:type unchanged, e.g. prov:type='pbm:sample'. Each PBM type value (e.g. pbm:sample) is declared as a class equivalent to the corresponding PBM-O class (e.g. pbm:Sample), so RDF produced from PROV-N/PROV-JSON by standard PROV tooling is classified correctly. New RDF should use the capitalized class names."@en ;
                                                 rdfs:seeAlso <https://www.commonprovenancemodel.org/ns/cpm#> ,
                                                              <https://www.commonprovenancemodel.org/ontologies/known-issues/> ;
                                                 owl:versionInfo "1.0.0"@en .

#################################################################
#    Annotation properties
#################################################################

###  http://purl.org/dc/terms/abstract
<http://purl.org/dc/terms/abstract> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/created
<http://purl.org/dc/terms/created> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/description
<http://purl.org/dc/terms/description> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/license
<http://purl.org/dc/terms/license> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/title
<http://purl.org/dc/terms/title> rdf:type owl:AnnotationProperty .


###  http://purl.org/vocab/vann/preferredNamespacePrefix
<http://purl.org/vocab/vann/preferredNamespacePrefix> rdf:type owl:AnnotationProperty .


###  http://purl.org/vocab/vann/preferredNamespaceUri
<http://purl.org/vocab/vann/preferredNamespaceUri> rdf:type owl:AnnotationProperty .


###  http://purl.org/vocab/vann/usageNote
<http://purl.org/vocab/vann/usageNote> rdf:type owl:AnnotationProperty .


#################################################################
#    Datatypes
#################################################################

###  http://www.w3.org/2001/XMLSchema#date
xsd:date rdf:type rdfs:Datatype .


#################################################################
#    Classes
#################################################################

###  https://www.commonprovenancemodel.org/ns/pbm#Acquisition
:Acquisition rdf:type owl:Class ;
             owl:equivalentClass :acquisition ;
             rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ,
                             [ rdf:type owl:Restriction ;
                               owl:onProperty <http://www.w3.org/ns/prov#endedAtTime> ;
                               owl:minCardinality "1"^^xsd:nonNegativeInteger
                             ] ;
             rdfs:comment "a provenance structure that represents the acquisition of a sample."@en ;
             rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
             rdfs:label "Acquisition"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#Container
:Container rdf:type owl:Class ;
           owl:equivalentClass :container ;
           rdfs:subClassOf <http://www.w3.org/ns/prov#Collection> ;
           rdfs:comment "a provenance structure that represents a container."@en ;
           rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
           rdfs:label "Container"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#Distribution
:Distribution rdf:type owl:Class ;
              owl:equivalentClass :distribution ;
              rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty <http://www.w3.org/ns/prov#startedAtTime> ;
                                owl:minCardinality "1"^^xsd:nonNegativeInteger
                              ] ;
              rdfs:comment "a provenance structure that represents the distribution or disposal of a sample."@en ;
              rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
              rdfs:label "Distribution"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#Processing
:Processing rdf:type owl:Class ;
            owl:equivalentClass :processing ;
            rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty <http://www.w3.org/ns/prov#startedAtTime> ;
                              owl:minCardinality "1"^^xsd:nonNegativeInteger
                            ] ;
            rdfs:comment "a provenance structure that represents the processing of a sample."@en ;
            rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
            rdfs:label "Processing"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#ProcessingDevice
:ProcessingDevice rdf:type owl:Class ;
                  owl:equivalentClass :processingDevice ;
                  rdfs:subClassOf <http://www.w3.org/ns/prov#Agent> ;
                  rdfs:comment "a provenance structure that represents a device for sample processing."@en ;
                  rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
                  rdfs:label "ProcessingDevice"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#Reception
:Reception rdf:type owl:Class ;
           owl:equivalentClass :reception ;
           rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ,
                           [ rdf:type owl:Restriction ;
                             owl:onProperty <http://www.w3.org/ns/prov#startedAtTime> ;
                             owl:minCardinality "1"^^xsd:nonNegativeInteger
                           ] ;
           rdfs:comment "a provenance structure that represents the reception of a sample."@en ;
           rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
           rdfs:label "Reception"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#Retrieval
:Retrieval rdf:type owl:Class ;
           owl:equivalentClass :retrieval ;
           rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ,
                           [ rdf:type owl:Restriction ;
                             owl:onProperty <http://www.w3.org/ns/prov#startedAtTime> ;
                             owl:minCardinality "1"^^xsd:nonNegativeInteger
                           ] ;
           rdfs:comment "a provenance structure that represents the retrieval of a sample from sample storage."@en ;
           rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
           rdfs:label "Retrieval"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#SOP
:SOP rdf:type owl:Class ;
     owl:equivalentClass :sop ;
     rdfs:subClassOf <http://www.w3.org/ns/prov#Plan> ;
     rdfs:comment "a provenance structure that represents a standard operating procedure."@en ;
     rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
     rdfs:label "SOP"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#Sample
:Sample rdf:type owl:Class ;
        owl:equivalentClass :sample ;
        rdfs:subClassOf <http://www.w3.org/ns/prov#Entity> ;
        rdfs:comment "a provenance structure that represents a sample."@en ;
        rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
        rdfs:label "Sample"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#Source
:Source rdf:type owl:Class ;
        owl:equivalentClass :source ;
        rdfs:subClassOf <http://www.w3.org/ns/prov#Entity> ;
        rdfs:comment "a provenance structure that represents a source of a sample."@en ;
        rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
        rdfs:label "Source"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#Storage
:Storage rdf:type owl:Class ;
         owl:equivalentClass :storage ;
         rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty <http://www.w3.org/ns/prov#startedAtTime> ;
                           owl:minCardinality "1"^^xsd:nonNegativeInteger
                         ] ;
         rdfs:comment "a provenance structure that represents the storage of a sample."@en ;
         rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
         rdfs:label "Storage"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#StorageDevice
:StorageDevice rdf:type owl:Class ;
               owl:equivalentClass :storageDevice ;
               rdfs:subClassOf <http://www.w3.org/ns/prov#Agent> ;
               rdfs:comment "a provenance structure that represents a device for sample storage."@en ;
               rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
               rdfs:label "StorageDevice"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#Transport
:Transport rdf:type owl:Class ;
           owl:equivalentClass :transport ;
           rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ,
                           [ rdf:type owl:Restriction ;
                             owl:onProperty <http://www.w3.org/ns/prov#startedAtTime> ;
                             owl:minCardinality "1"^^xsd:nonNegativeInteger
                           ] ;
           rdfs:comment "a provenance structure that represents the transport of a sample."@en ;
           rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
           rdfs:label "Transport"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#acquisition
:acquisition rdf:type owl:Class ;
             <http://purl.org/vocab/vann/usageNote> "PBM type value used with prov:type in PROV-N/PROV-JSON/PROV-XML (prov:type='pbm:acquisition'). Declared as a class equivalent to pbm:Acquisition so that the rdf:type triple produced from prov:type by the PROV-O mapping is classified as pbm:Acquisition."@en ;
             rdfs:comment "a provenance structure that represents the acquisition of a sample."@en ;
             rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
             rdfs:label "acquisition"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#container
:container rdf:type owl:Class ;
           <http://purl.org/vocab/vann/usageNote> "PBM type value used with prov:type in PROV-N/PROV-JSON/PROV-XML (prov:type='pbm:container'). Declared as a class equivalent to pbm:Container so that the rdf:type triple produced from prov:type by the PROV-O mapping is classified as pbm:Container."@en ;
           rdfs:comment "a provenance structure that represents a container."@en ;
           rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
           rdfs:label "container"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#distribution
:distribution rdf:type owl:Class ;
              <http://purl.org/vocab/vann/usageNote> "PBM type value used with prov:type in PROV-N/PROV-JSON/PROV-XML (prov:type='pbm:distribution'). Declared as a class equivalent to pbm:Distribution so that the rdf:type triple produced from prov:type by the PROV-O mapping is classified as pbm:Distribution."@en ;
              rdfs:comment "a provenance structure that represents the distribution or disposal of a sample."@en ;
              rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
              rdfs:label "distribution"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#processing
:processing rdf:type owl:Class ;
            <http://purl.org/vocab/vann/usageNote> "PBM type value used with prov:type in PROV-N/PROV-JSON/PROV-XML (prov:type='pbm:processing'). Declared as a class equivalent to pbm:Processing so that the rdf:type triple produced from prov:type by the PROV-O mapping is classified as pbm:Processing."@en ;
            rdfs:comment "a provenance structure that represents the processing of a sample."@en ;
            rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
            rdfs:label "processing"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#processingDevice
:processingDevice rdf:type owl:Class ;
                  <http://purl.org/vocab/vann/usageNote> "PBM type value used with prov:type in PROV-N/PROV-JSON/PROV-XML (prov:type='pbm:processingDevice'). Declared as a class equivalent to pbm:ProcessingDevice so that the rdf:type triple produced from prov:type by the PROV-O mapping is classified as pbm:ProcessingDevice."@en ;
                  rdfs:comment "a provenance structure that represents a device for sample processing."@en ;
                  rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
                  rdfs:label "processingDevice"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#reception
:reception rdf:type owl:Class ;
           <http://purl.org/vocab/vann/usageNote> "PBM type value used with prov:type in PROV-N/PROV-JSON/PROV-XML (prov:type='pbm:reception'). Declared as a class equivalent to pbm:Reception so that the rdf:type triple produced from prov:type by the PROV-O mapping is classified as pbm:Reception."@en ;
           rdfs:comment "a provenance structure that represents the reception of a sample."@en ;
           rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
           rdfs:label "reception"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#retrieval
:retrieval rdf:type owl:Class ;
           <http://purl.org/vocab/vann/usageNote> "PBM type value used with prov:type in PROV-N/PROV-JSON/PROV-XML (prov:type='pbm:retrieval'). Declared as a class equivalent to pbm:Retrieval so that the rdf:type triple produced from prov:type by the PROV-O mapping is classified as pbm:Retrieval."@en ;
           rdfs:comment "a provenance structure that represents the retrieval of a sample from sample storage."@en ;
           rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
           rdfs:label "retrieval"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#sample
:sample rdf:type owl:Class ;
        <http://purl.org/vocab/vann/usageNote> "PBM type value used with prov:type in PROV-N/PROV-JSON/PROV-XML (prov:type='pbm:sample'). Declared as a class equivalent to pbm:Sample so that the rdf:type triple produced from prov:type by the PROV-O mapping is classified as pbm:Sample."@en ;
        rdfs:comment "a provenance structure that represents a sample."@en ;
        rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
        rdfs:label "sample"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#sop
:sop rdf:type owl:Class ;
     <http://purl.org/vocab/vann/usageNote> "PBM type value used with prov:type in PROV-N/PROV-JSON/PROV-XML (prov:type='pbm:sop'). Declared as a class equivalent to pbm:SOP so that the rdf:type triple produced from prov:type by the PROV-O mapping is classified as pbm:SOP."@en ;
     rdfs:comment "a provenance structure that represents a standard operating procedure."@en ;
     rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
     rdfs:label "sop"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#source
:source rdf:type owl:Class ;
        <http://purl.org/vocab/vann/usageNote> "PBM type value used with prov:type in PROV-N/PROV-JSON/PROV-XML (prov:type='pbm:source'). Declared as a class equivalent to pbm:Source so that the rdf:type triple produced from prov:type by the PROV-O mapping is classified as pbm:Source."@en ;
        rdfs:comment "a provenance structure that represents a source of a sample."@en ;
        rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
        rdfs:label "source"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#storage
:storage rdf:type owl:Class ;
         <http://purl.org/vocab/vann/usageNote> "PBM type value used with prov:type in PROV-N/PROV-JSON/PROV-XML (prov:type='pbm:storage'). Declared as a class equivalent to pbm:Storage so that the rdf:type triple produced from prov:type by the PROV-O mapping is classified as pbm:Storage."@en ;
         rdfs:comment "a provenance structure that represents the storage of a sample."@en ;
         rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
         rdfs:label "storage"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#storageDevice
:storageDevice rdf:type owl:Class ;
               <http://purl.org/vocab/vann/usageNote> "PBM type value used with prov:type in PROV-N/PROV-JSON/PROV-XML (prov:type='pbm:storageDevice'). Declared as a class equivalent to pbm:StorageDevice so that the rdf:type triple produced from prov:type by the PROV-O mapping is classified as pbm:StorageDevice."@en ;
               rdfs:comment "a provenance structure that represents a device for sample storage."@en ;
               rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
               rdfs:label "storageDevice"@en .


###  https://www.commonprovenancemodel.org/ns/pbm#transport
:transport rdf:type owl:Class ;
           <http://purl.org/vocab/vann/usageNote> "PBM type value used with prov:type in PROV-N/PROV-JSON/PROV-XML (prov:type='pbm:transport'). Declared as a class equivalent to pbm:Transport so that the rdf:type triple produced from prov:type by the PROV-O mapping is classified as pbm:Transport."@en ;
           rdfs:comment "a provenance structure that represents the transport of a sample."@en ;
           rdfs:isDefinedBy <https://www.commonprovenancemodel.org/ns/pbm#> ;
           rdfs:label "transport"@en .


###  Generated by the OWL API (version 5.1.18) https://github.com/owlcs/owlapi/
