@prefix : <https://w3id.org/ripe/ripe-o#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix tido: <https://w3id.org/tido#> .
@prefix fabio: <http://purl.org/spar/fabio/> .
@base <https://w3id.org/ripe/ripe-o#> .

<https://w3id.org/ripe/ripe-o> rdf:type owl:Ontology ;
                                owl:versionIRI <https://w3id.org/ripe/ripe-o/1.0.0> ;
                                dcterms:created "2026-05-02"^^xsd:date ;
                                dcterms:description "The Research Integrity Provenance and Evidence Ontology (RIPE-O) can be used to describe provenance traces of research integrity assessment processes combining evidence, hypotheses, activities, agents, and human-generated or automated assessment outputs."@en ;
                                dcterms:issued "2026-05-02"^^xsd:date ;
                                dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
                                dcterms:modified "2026-05-02"^^xsd:date ;
                                dcterms:title "Research Integrity Provenance and Evidence Ontology"@en ;
                                vann:preferredNamespacePrefix "ripe" ;
                                vann:preferredNamespaceUri <https://w3id.org/ripe/ripe-o#> ;
                                owl:versionInfo "1.0.0" .

#    Object Properties

###  https://w3id.org/ripe/ripe-o#assesses
:assesses rdf:type owl:ObjectProperty ;
          rdfs:domain :ResearchIntegrityAssessment ;
          rdfs:range :Work ;
          rdfs:comment "Relates a ripe:ResearchIntegrityAssessment to the ripe:Work that is the subject of the assessment. For example, one ripe:ResearchIntegrityAssessment may assess a single trial publication."@en ;
          rdfs:label "assesses"@en .


###  https://w3id.org/ripe/ripe-o#concerns
:concerns rdf:type owl:ObjectProperty ;
          rdfs:domain :IntegrityAssessmentEvidence ;
          rdfs:range [ rdf:type owl:Class ;
                       owl:unionOf ( :Author
                                     :Work
                                   )
                     ] ;
          rdfs:comment "Relates a ripe:IntegrityAssessmentEvidence instance to the ripe:Work or ripe:Author to which the evidence applies. This property is used when an evidence item bears on a work, an author associated with that work, or both. For example, publication metadata, registry evidence, and peer comments may relate to a ripe:Work via ripe:concerns, while a publication notice may also relate to one or more ripe:Author instances via ripe:concerns."@en ;
          rdfs:label "concerns"@en .



#    Data properties


###  https://w3id.org/ripe/ripe-o#isProspective
:isProspective rdf:type owl:DatatypeProperty ;
               rdfs:domain :RegistryEvidence ;
               rdfs:range xsd:boolean ;
               rdfs:comment "Records whether a ripe:RegistryEvidence instance supports the judgement that the study was prospectively registered. For example, a value of true indicates that registration was assessed as preceding the relevant study start point."@en ;
               rdfs:label "is prospective"@en .


###  https://w3id.org/ripe/ripe-o#rationale
:rationale rdf:type owl:DatatypeProperty ;
           rdfs:domain tido:PieceOfInformation ;
           rdfs:range xsd:string ;
           rdfs:comment "Records a textual justification attached to a tido:PieceOfInformation, such as an extracted value or an assessment conclusion. For example, it may store a reviewer note defending a ripe:IntegrityAssessmentHypothesis."@en ;
           rdfs:label "rationale"@en .


###  https://w3id.org/ripe/ripe-o#recruitmentEndDate
:recruitmentEndDate rdf:type owl:DatatypeProperty ;
                    rdfs:domain :StudyDesignEvidence ;
                    rdfs:range xsd:string ;
                    rdfs:comment "Records the date value assigned as the participant recruitment end in a ripe:StudyDesignEvidence instance. For example, it may capture an enrolment end date reported in the article text."@en ;
                    rdfs:label "recruitment end date"@en .


###  https://w3id.org/ripe/ripe-o#recruitmentEndDateExtractionRationale
:recruitmentEndDateExtractionRationale rdf:type owl:DatatypeProperty ;
                                       rdfs:domain :StudyDesignEvidence ;
                                       rdfs:range xsd:string ;
                                       rdfs:comment "Records the textual justification for assigning a value to ripe:recruitmentEndDate in a ripe:StudyDesignEvidence instance. For example, the agent responsible for gathering the ripe:recruitmentEndDate may state that the end of enrolment was inferred from the methods described in the study protocol."@en ;
                                       rdfs:label "recruitment end date extraction rationale"@en .


###  https://w3id.org/ripe/ripe-o#recruitmentStartDate
:recruitmentStartDate rdf:type owl:DatatypeProperty ;
                      rdfs:domain :StudyDesignEvidence ;
                      rdfs:range xsd:string ;
                      rdfs:comment "Records the date value assigned as the participant recruitment start in a ripe:StudyDesignEvidence instance. For example, it may capture a month-year or date string when the first participant was enrolled for a study."@en ;
                      rdfs:label "recruitment start date"@en .


###  https://w3id.org/ripe/ripe-o#recruitmentStartDateExtractionRationale
:recruitmentStartDateExtractionRationale rdf:type owl:DatatypeProperty ;
                                         rdfs:domain :StudyDesignEvidence ;
                                         rdfs:range xsd:string ;
                                         rdfs:comment "Records the textual justification for assigning a value to ripe:recruitmentStartDate in a ripe:StudyDesignEvidence instance. For example, it may note that a sentence describing when enrolment began was interpreted as the recruitment start date by the agent responsible."@en ;
                                         rdfs:label "recruitment start date extraction rationale"@en .


###  https://w3id.org/ripe/ripe-o#registrationAssessmentRationale
:registrationAssessmentRationale rdf:type owl:DatatypeProperty ;
                                 rdfs:domain :RegistryEvidence ;
                                 rdfs:range xsd:string ;
                                 rdfs:comment "Records the textual justification for the registration-status assessment represented by a ripe:RegistryEvidence instance. For example, it may explain that the registry submission date was compared with the recruitment start date."@en ;
                                 rdfs:label "registration assessment rationale"@en .


###  https://w3id.org/ripe/ripe-o#registrationDate
:registrationDate rdf:type owl:DatatypeProperty ;
                  rdfs:domain :RegistryEvidence ;
                  rdfs:range xsd:string ;
                  rdfs:comment "Records the registration date value associated with a ripe:RegistryEvidence instance. For example, it may store the submission date shown in a ClinicalTrials.gov record."@en ;
                  rdfs:label "registration date"@en .


###  https://w3id.org/ripe/ripe-o#registrationId
:registrationId rdf:type owl:DatatypeProperty ;
                rdfs:domain :RegistryEvidence ;
                rdfs:range xsd:string ;
                rdfs:comment "Records the registry identifier associated with a ripe:RegistryEvidence instance. For example, this may be an NCT or ISRCTN number."@en ;
                rdfs:label "registration identifier"@en .


###  https://w3id.org/ripe/ripe-o#registrationLink
:registrationLink rdf:type owl:DatatypeProperty ;
                  rdfs:domain :RegistryEvidence ;
                  rdfs:range xsd:anyURI ;
                  rdfs:comment "Records the URI of the registry record represented by a ripe:RegistryEvidence instance. For example, it may point to a ClinicalTrials.gov or WHO ICTRP record page."@en ;
                  rdfs:label "registration link"@en .


###  https://w3id.org/ripe/ripe-o#registryName
:registryName rdf:type owl:DatatypeProperty ;
              rdfs:domain :RegistryEvidence ;
              rdfs:range xsd:string ;
              rdfs:comment "Records the name of the trial registry represented by a ripe:RegistryEvidence instance. For example, values may include ClinicalTrials.gov, ISRCTN, or WHO ICTRP."@en ;
              rdfs:label "registry name"@en .


###  https://w3id.org/ripe/ripe-o#retractionWatchRecordId
:retractionWatchRecordId rdf:type owl:DatatypeProperty ;
                         rdfs:domain :IntegrityAssessmentEvidence ;
                         rdfs:range xsd:string ;
                         rdfs:comment "Records the source identifier assigned by the Retraction Watch database to a ripe:IntegrityAssessmentEvidence item when such an identifier is available. In the RIPE-KG, this is used for retraction notices, expressions of concern, and correction notices sourced from Retraction Watch."@en ;
                         rdfs:label "retraction watch record identifier"@en .


###  https://w3id.org/ripe/ripe-o#resultOutcome
:resultOutcome rdf:type owl:DatatypeProperty ;
               rdfs:domain :IntegrityAssessmentHypothesis ;
               rdfs:range xsd:string ;
               rdfs:comment "Records the lexical outcome assigned to a ripe:IntegrityAssessmentHypothesis in answer to a ripe:IntegrityAssessmentQuestion. For example, an outcome may record a check-level answer such as yes, no, or unclear, or an overall assessment such as no-concerns, some-concerns, or serious-concerns."@en ;
               rdfs:label "result outcome"@en .


###  https://w3id.org/ripe/ripe-o#studyEndDate
:studyEndDate rdf:type owl:DatatypeProperty ;
              rdfs:domain :StudyDesignEvidence ;
              rdfs:range xsd:string ;
              rdfs:comment "Records the date value assigned as the study end in a ripe:StudyDesignEvidence instance. For example, it may capture a reported study completion or final follow-up date."@en ;
              rdfs:label "study end date"@en .


###  https://w3id.org/ripe/ripe-o#studyEndDateExtractionRationale
:studyEndDateExtractionRationale rdf:type owl:DatatypeProperty ;
                                 rdfs:domain :StudyDesignEvidence ;
                                 rdfs:range xsd:string ;
                                 rdfs:comment "Records the textual justification for assigning a value to ripe:studyEndDate in a ripe:StudyDesignEvidence instance. For example, it may explain why a final follow-up date was treated as the study end date."@en ;
                                 rdfs:label "study end date extraction rationale"@en .



#    Classes

###  https://w3id.org/ripe/ripe-o#Author
:Author rdf:type owl:Class ;
        rdfs:subClassOf prov:Person ,
                        foaf:Person ;
        rdfs:comment "A ripe:Author is a prov:Person and foaf:Person representing a person associated with an assessment-relevant resource represented in a ripe:ResearchIntegrityAssessment. Such resources may include works and other pieces of information, such as peer comments. The author of a journal article or the person named as responsible for a peer comment are examples of ripe:Author."@en ;
        rdfs:label "Author"@en .


###  https://w3id.org/ripe/ripe-o#AutomatedAgent
:AutomatedAgent rdf:type owl:Class ;
                rdfs:subClassOf prov:SoftwareAgent ;
                rdfs:comment "A ripe:AutomatedAgent is a prov:SoftwareAgent representing a software agent that participates in a ripe:ResearchIntegrityAssessment by gathering evidence, deriving assessment-relevant information, or producing initial outcomes. Software that can perform ripe:EvidenceAggregation and produce ripe:IntegrityAssessmentHypothesis instances without human intervention is modelled as a ripe:AutomatedAgent."@en ;
                rdfs:label "Automated agent"@en .


###  https://w3id.org/ripe/ripe-o#CorrectionNotice
:CorrectionNotice rdf:type owl:Class ;
                  rdfs:subClassOf fabio:Correction ,
                                  :IntegrityAssessmentEvidence ;
                  rdfs:comment "A ripe:CorrectionNotice is a fabio:Correction and ripe:IntegrityAssessmentEvidence representing a formal correction notice about a work and used as evidence in a ripe:ResearchIntegrityAssessment. For example, an erratum correcting a published article is a ripe:CorrectionNotice."@en ;
                  rdfs:label "Correction notice"@en .


###  https://w3id.org/ripe/ripe-o#EvidenceAggregation
:EvidenceAggregation rdf:type owl:Class ;
                     rdfs:subClassOf tido:Activity ;
                     rdfs:comment "A ripe:EvidenceAggregation is a prov:Activity representing the aggregation of evidence and source records used in a ripe:ResearchIntegrityAssessment. It provides provenance for the evidence collected for one ripe:ResearchIntegrityAssessment. Retrieval of registry records and publication notices for a research integrity assessment is one such activity."@en ;
                     rdfs:label "Evidence aggregation"@en .


###  https://w3id.org/ripe/ripe-o#ExpressionOfConcern
:ExpressionOfConcern rdf:type owl:Class ;
                     rdfs:subClassOf fabio:Comment ,
                                     :IntegrityAssessmentEvidence ;
                     rdfs:comment "A ripe:ExpressionOfConcern is a fabio:Comment and ripe:IntegrityAssessmentEvidence representing a formal journal or publisher notice that raises concerns about a work and is used as evidence in a ripe:ResearchIntegrityAssessment. For example, a publisher notice questioning the reliability of a published article is an expression of concern."@en ;
                     rdfs:label "Expression of concern"@en .


###  https://w3id.org/ripe/ripe-o#HumanReviewer
:HumanReviewer rdf:type owl:Class ;
               rdfs:subClassOf prov:Person ,
                               foaf:Person ;
               rdfs:comment "A ripe:HumanReviewer is a prov:Person and foaf:Person representing a human agent who participates in a ripe:ResearchIntegrityAssessment by evaluating evidence and recording ripe:IntegrityAssessmentHypothesis instances. A systematic reviewer investigating research integrity of a study is a ripe:HumanReviewer."@en ;
               rdfs:label "Human reviewer"@en .


###  https://w3id.org/ripe/ripe-o#IntegrityAssessmentQuestion
:IntegrityAssessmentQuestion rdf:type owl:Class ;
                             rdfs:subClassOf prov:Entity ,
                                             tido:RQ ;
                             rdfs:comment "A ripe:IntegrityAssessmentQuestion is a tido:RQ and prov:Entity representing one specific integrity-related question investigated within a ripe:ResearchIntegrityAssessment. It is answered by one or more ripe:IntegrityAssessmentHypothesis instances via tido:answers. An example of a ripe:IntegrityAssessmentQuestion is a question asking whether a ripe:Work has an associated retraction."@en ;
                             rdfs:label "Integrity assessment question"@en .


###  https://w3id.org/ripe/ripe-o#IntegrityAssessmentEvidence
:IntegrityAssessmentEvidence rdf:type owl:Class ;
                             rdfs:subClassOf tido:Evidence ;
                             rdfs:comment "A ripe:IntegrityAssessmentEvidence is a tido:Evidence item used to support, challenge, or contextualise a ripe:ResearchIntegrityAssessment. Publication metadata, registry evidence, study-design evidence, publication notices, and peer comments used in an integrity assessment are examples of ripe:IntegrityAssessmentEvidence."@en ;
                             rdfs:label "Integrity assessment evidence"@en .


###  https://w3id.org/ripe/ripe-o#IntegrityAssessmentHypothesis
:IntegrityAssessmentHypothesis rdf:type owl:Class ;
                               rdfs:subClassOf tido:Hypothesis ;
                               rdfs:comment "A ripe:IntegrityAssessmentHypothesis is a tido:Hypothesis that records an automated or human-reviewed answer to a ripe:IntegrityAssessmentQuestion. For example, a reviewer or automated agent may produce a hypothesis that a study has no concerns, some concerns, or serious concerns."@en ;
                               rdfs:label "Integrity assessment hypothesis"@en .


###  https://w3id.org/ripe/ripe-o#OverallIntegrityAssessmentQuestion
:OverallIntegrityAssessmentQuestion rdf:type owl:Class ;
                                    rdfs:subClassOf :IntegrityAssessmentQuestion ;
                                    rdfs:comment "A ripe:OverallIntegrityAssessmentQuestion is a ripe:IntegrityAssessmentQuestion representing the overall integrity question investigated for a ripe:Work within a ripe:ResearchIntegrityAssessment. It is answered by one or more ripe:IntegrityAssessmentHypothesis instances that synthesise the component integrity assessment questions and their corresponding hypotheses."@en ;
                                    rdfs:label "Overall integrity assessment question"@en .


###  https://w3id.org/ripe/ripe-o#PeerComment
:PeerComment rdf:type owl:Class ;
             rdfs:subClassOf fabio:Comment ,
                             :IntegrityAssessmentEvidence ;
             rdfs:comment "A ripe:PeerComment is a fabio:Comment and ripe:IntegrityAssessmentEvidence representing a post-publication comment from the research community about a work and used as evidence in a ripe:ResearchIntegrityAssessment. For example, a PubPeer comment discussing methodological concerns is a ripe:PeerComment."@en ;
             rdfs:label "Peer comment"@en .


###  https://w3id.org/ripe/ripe-o#PublicationDetails
:PublicationDetails rdf:type owl:Class ;
                    rdfs:subClassOf fabio:BibliographicMetadata ,
                                    :IntegrityAssessmentEvidence ;
                    rdfs:comment "A ripe:PublicationDetails is a fabio:BibliographicMetadata and ripe:IntegrityAssessmentEvidence representing bibliographic metadata describing a work. It may record values such as title, publication venue, publisher, identifiers, and publication date. A record containing title, journal, publisher, and publication date for an article is one such instance."@en ;
                    rdfs:label "Publication details"@en .


###  https://w3id.org/ripe/ripe-o#RegistryEvidence
:RegistryEvidence rdf:type owl:Class ;
                  rdfs:subClassOf :IntegrityAssessmentEvidence ;
                  rdfs:comment "A ripe:RegistryEvidence is a ripe:IntegrityAssessmentEvidence representing information recorded in a registry about a registered study or clinical trial. It may record values such as the registry identifier, registration date, registry name, registry link, and the associated registration assessment rationale. A ClinicalTrials.gov or WHO ICTRP entry associated with a clinical trial publication is one such instance."@en ;
                  rdfs:label "Registry evidence"@en .


###  https://w3id.org/ripe/ripe-o#ResearchIntegrityAssessment
:ResearchIntegrityAssessment rdf:type owl:Class ;
                             rdfs:subClassOf tido:Case ;
                             rdfs:comment "A ripe:ResearchIntegrityAssessment represents one integrity assessment of a work. It brings together the ripe:Work that is the subject of the assessment, the ripe:IntegrityAssessmentQuestion instances investigated, the ripe:IntegrityAssessmentHypothesis instances answering those questions, the ripe:IntegrityAssessmentEvidence instances supporting them, and the activities that generated or reviewed those outcomes. An assessment of a single published clinical trial report is one such instance."@en ;
                             rdfs:label "Research integrity assessment"@en .


###  https://w3id.org/ripe/ripe-o#RetractionNotice
:RetractionNotice rdf:type owl:Class ;
                  rdfs:subClassOf fabio:RetractionNotice ,
                                  :IntegrityAssessmentEvidence ;
                  rdfs:comment "A ripe:RetractionNotice is a fabio:RetractionNotice and ripe:IntegrityAssessmentEvidence representing a formal retraction notice used as evidence in a ripe:ResearchIntegrityAssessment. For example, a journal-issued retraction notice for an article is a ripe:RetractionNotice."@en ;
                  rdfs:label "Retraction notice"@en .


###  https://w3id.org/ripe/ripe-o#StudyDesignEvidence
:StudyDesignEvidence rdf:type owl:Class ;
                     rdfs:subClassOf :IntegrityAssessmentEvidence ;
                     rdfs:comment "A ripe:StudyDesignEvidence is a ripe:IntegrityAssessmentEvidence representing information about the design and timeline of a registered study or clinical trial. It may record values such as recruitment start, recruitment end, and study end dates, together with rationales supporting those assigned values. A record describing the recruitment and completion timeline of a clinical study is one such instance."@en ;
                     rdfs:label "Study design evidence"@en .


###  https://w3id.org/ripe/ripe-o#Work
:Work rdf:type owl:Class ;
      rdfs:subClassOf fabio:Work ,
                      prov:Entity ;
      rdfs:comment "A ripe:Work is a fabio:Work and prov:Entity representing a work relevant to a ripe:ResearchIntegrityAssessment. It may be the subject of an assessment, a cited publication, or another work connected to assessment evidence, such as an article associated with a publication notice. For example, an article, a cited paper, or an article retracted by a notice may be represented as a ripe:Work."@en ;
      rdfs:label "Work"@en .
