@prefix pcdo: .
@prefix owl: .
@prefix rdfs: .
@prefix xsd: .
@prefix dcterms: .
@prefix schema: .
@prefix prov: .
@prefix sosa: .
@prefix time: .
@prefix qudt: .
@prefix unit: .
@prefix dcat: .
@prefix datacite: .
@prefix obo: .
@prefix iao: .
a owl:Ontology ;
dcterms:title "Preclinical DataCite Ontology (PCDO)"@en ;
dcterms:description "A minimal, reusable ontology capturing preclinical study semantics aligned to DataCite for DOI deposition."@en ;
dcterms:license ;
owl:versionIRI .
# Core classes
pcdo:Dataset a owl:Class ;
rdfs:label "Dataset"@en ;
rdfs:comment "The DOI-minted dataset deliverable."@en ;
iao:0000115 "A collection of data intended for publication and citation via a persistent identifier (e.g., DOI), accompanied by descriptive metadata."@en ;
rdfs:subClassOf dcat:Dataset , schema:Dataset .
pcdo:Study a owl:Class ;
rdfs:label "Study"@en ;
rdfs:comment "A preclinical investigation comprising cohorts, interventions, assays, and outcomes."@en ;
iao:0000115 "An investigation in which preclinical subjects are assigned to interventions and measured via assays to assess outcome measures."@en ;
rdfs:subClassOf obo:OBI_0000066 .
pcdo:Cohort a owl:Class ;
rdfs:label "Cohort"@en ;
rdfs:comment "Group of subjects with shared characteristics and treatment."@en ;
iao:0000115 "A collection of subjects grouped by shared attributes (e.g., sex, strain) and/or assigned intervention within a study."@en .
pcdo:Subject a owl:Class ;
rdfs:label "Subject"@en ;
rdfs:comment "An experimental animal subject (organism)."@en ;
iao:0000115 "An individual organism serving as the unit of assignment and observation in a preclinical study."@en ;
rdfs:subClassOf obo:OBI_0100026 .
pcdo:Intervention a owl:Class ;
rdfs:label "Intervention"@en ;
rdfs:comment "A planned process such as a drug administration or procedure."@en ;
iao:0000115 "A planned process applied to a subject or cohort (e.g., administration of a chemical agent or a surgical procedure)."@en ;
rdfs:subClassOf obo:OBI_0000011 .
pcdo:Assay a owl:Class ;
rdfs:label "Assay"@en ;
rdfs:comment "An assay used to generate observations (measurements)."@en ;
iao:0000115 "A planned process that implements a method to measure or detect an outcome measure."@en ;
rdfs:subClassOf obo:OBI_0000070 .
pcdo:OutcomeMeasure a owl:Class ;
rdfs:label "Outcome Measure"@en ;
rdfs:comment "An observable property measured as a study outcome."@en ;
iao:0000115 "A property or variable selected as an endpoint to evaluate the effect of an intervention (e.g., blood glucose level, tumor volume)."@en ;
rdfs:subClassOf sosa:ObservableProperty .
pcdo:Observation a owl:Class ;
rdfs:label "Observation"@en ;
rdfs:comment "A concrete observation linking an assay to a feature of interest and result."@en ;
iao:0000115 "A measurement instance produced by an assay on a feature of interest at a time, possibly with a result value."@en ;
rdfs:subClassOf sosa:Observation .
pcdo:Sample a owl:Class ;
rdfs:label "Sample"@en ;
rdfs:comment "A specimen derived from a subject."@en ;
iao:0000115 "A material entity collected from a subject for analysis (e.g., blood, tissue)."@en ;
rdfs:subClassOf obo:OBI_0000747 .
pcdo:EthicsApproval a owl:Class ;
rdfs:label "Ethics Approval"@en ;
rdfs:comment "An institutional ethics approval document or identifier."@en ;
iao:0000115 "A document or identifier indicating that the study protocol received required institutional ethics approval."@en ;
rdfs:subClassOf obo:IAO_0000311 .
# Object properties
pcdo:describesStudy a owl:ObjectProperty ;
rdfs:domain pcdo:Dataset ;
rdfs:range pcdo:Study ;
rdfs:label "describes study"@en .
pcdo:hasEthicsApproval a owl:ObjectProperty ;
rdfs:domain pcdo:Dataset ;
rdfs:range pcdo:EthicsApproval ;
rdfs:label "has ethics approval"@en .
pcdo:hasCohort a owl:ObjectProperty ;
rdfs:domain pcdo:Study ;
rdfs:range pcdo:Cohort ;
rdfs:label "has cohort"@en .
pcdo:hasAssay a owl:ObjectProperty ;
rdfs:domain pcdo:Study ;
rdfs:range pcdo:Assay ;
rdfs:label "has assay"@en .
pcdo:hasOutcomeMeasure a owl:ObjectProperty ;
rdfs:domain pcdo:Study ;
rdfs:range pcdo:OutcomeMeasure ;
rdfs:label "has outcome measure"@en .
pcdo:hasSubject a owl:ObjectProperty ;
rdfs:domain pcdo:Cohort ;
rdfs:range pcdo:Subject ;
rdfs:label "has subject"@en .
pcdo:hasSpecies a owl:ObjectProperty ;
rdfs:domain pcdo:Subject ;
rdfs:label "has species"@en ;
rdfs:comment "Link to an NCBITaxon IRI."@en .
pcdo:hasStrain a owl:ObjectProperty ;
rdfs:domain pcdo:Subject ;
rdfs:label "has strain"@en .
pcdo:hasSex a owl:ObjectProperty ;
rdfs:domain pcdo:Subject ;
rdfs:label "has sex"@en ;
rdfs:comment "Link to a PATO sex class (male/female/unknown)."@en .
pcdo:appliesToCohort a owl:ObjectProperty ;
rdfs:domain pcdo:Intervention ;
rdfs:range pcdo:Cohort ;
rdfs:label "applies to cohort"@en .
pcdo:hasAgent a owl:ObjectProperty ;
rdfs:domain pcdo:Intervention ;
rdfs:label "has agent"@en ;
rdfs:comment "The active agent, e.g., a CHEBI chemical."@en .
pcdo:hasRoute a owl:ObjectProperty ;
rdfs:domain pcdo:Intervention ;
rdfs:label "has route"@en .
pcdo:hasSchedule a owl:ObjectProperty ;
rdfs:domain pcdo:Intervention ;
rdfs:label "has schedule"@en .
pcdo:observes a owl:ObjectProperty ;
rdfs:domain pcdo:Assay ;
rdfs:range pcdo:OutcomeMeasure ;
rdfs:label "observes"@en .
# Datatype properties (pragmatic minimum)
pcdo:ageInDays a owl:DatatypeProperty ;
rdfs:domain pcdo:Subject ;
rdfs:range xsd:integer ;
rdfs:label "age in days"@en .
pcdo:bodyWeightGrams a owl:DatatypeProperty ;
rdfs:domain pcdo:Subject ;
rdfs:range xsd:decimal ;
rdfs:label "body weight (g)"@en .
pcdo:doseValue a owl:DatatypeProperty ;
rdfs:domain pcdo:Intervention ;
rdfs:range xsd:decimal ;
rdfs:label "dose value"@en .
pcdo:hasDoseUnit a owl:ObjectProperty ;
rdfs:domain pcdo:Intervention ;
rdfs:label "has dose unit"@en ;
rdfs:comment "Link to a QUDT unit IRI (e.g., unit:MilliGM)."@en .
pcdo:routeLabel a owl:DatatypeProperty ;
rdfs:domain pcdo:Intervention ;
rdfs:range xsd:string ;
rdfs:label "route label"@en .
pcdo:scheduleLabel a owl:DatatypeProperty ;
rdfs:domain pcdo:Intervention ;
rdfs:range xsd:string ;
rdfs:label "schedule label"@en .
pcdo:isRandomized a owl:DatatypeProperty ;
rdfs:domain pcdo:Study ;
rdfs:range xsd:boolean ;
rdfs:label "is randomized"@en .
pcdo:isBlinded a owl:DatatypeProperty ;
rdfs:domain pcdo:Study ;
rdfs:range xsd:boolean ;
rdfs:label "is blinded"@en .
pcdo:sampleSize a owl:DatatypeProperty ;
rdfs:domain pcdo:Study ;
rdfs:range xsd:integer ;
rdfs:label "sample size"@en .
# Helpful disjointness
pcdo:Subject owl:disjointWith pcdo:Intervention , pcdo:Assay , pcdo:Observation .