@prefix : <https://ontology.inferal.com/modules/confidence/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix pubacc: <https://ontology.inferal.com/modules/publication-access/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://ontology.inferal.com/modules/confidence/owl>
    a owl:Ontology, pubacc:PublicationManagedOntology ;
    dcterms:accessRights pubacc:PublicAccess ;
    owl:imports : ;
    dcterms:title "Confidence Ontology OWL Addendum" ;
    dcterms:description "OWL typing, functional-property, disjointness, and class-restriction addendum for the Inferal Confidence Ontology." ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:source : ;
    vann:preferredNamespacePrefix "conf" ;
    vann:preferredNamespaceUri "https://ontology.inferal.com/modules/confidence/" ;
    rdfs:comment "This addendum adds OWL declarations that are safe for ordinary reasoners. Numeric arithmetic and scientific validity checks remain in SHACL, SPARQL, and application logic." ;
    owl:versionInfo "0.1.0" .

:ConfidenceAssessment
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:onProperty :confidenceValue ;
        owl:someValuesFrom :ConfidenceValue ;
    ] .

:ConfidenceValue
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:onProperty :scale ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :ConfidenceScale ;
    ] .

:ProbabilityValue
    a owl:Class ;
    rdfs:subClassOf :ConfidenceValue ;
    owl:disjointWith :DempsterShaferValue, :FuzzyMembershipValue, :OrdinalValue, :SubjectiveLogicValue .

:FuzzyMembershipValue
    a owl:Class ;
    rdfs:subClassOf :ConfidenceValue ;
    owl:disjointWith :DempsterShaferValue, :OrdinalValue, :SubjectiveLogicValue .

:SubjectiveLogicValue
    a owl:Class ;
    rdfs:subClassOf :ConfidenceValue ;
    owl:disjointWith :DempsterShaferValue, :OrdinalValue .

:DempsterShaferValue
    a owl:Class ;
    rdfs:subClassOf :ConfidenceValue ;
    owl:disjointWith :OrdinalValue .

:OrdinalValue
    a owl:Class ;
    rdfs:subClassOf :ConfidenceValue .

:ConfidenceScale
    a owl:Class .

:CompositionOperator
    a owl:Class .

:ConfidenceComposition
    a owl:Class ;
    rdfs:subClassOf prov:Activity .

:ScaleConversion
    a owl:Class ;
    rdfs:subClassOf prov:Activity .

:ScaleConversionRule
    a owl:Class .

:Assumption
    a owl:Class .

:OrdinalRank
    a owl:Class .

:assessmentTarget
    a owl:ObjectProperty .

:confidenceValue
    a owl:ObjectProperty .

:scale
    a owl:ObjectProperty, owl:FunctionalProperty .

:ordinalRank
    a owl:ObjectProperty, owl:FunctionalProperty .

:conjunctionOperator
    a owl:ObjectProperty .

:disjunctionOperator
    a owl:ObjectProperty .

:negationOperator
    a owl:ObjectProperty .

:fusionOperator
    a owl:ObjectProperty .

:inputScale
    a owl:ObjectProperty .

:outputScale
    a owl:ObjectProperty, owl:FunctionalProperty .

:requiresAssumption
    a owl:ObjectProperty .

:usedOperator
    a owl:ObjectProperty, owl:FunctionalProperty .

:recordedAssumption
    a owl:ObjectProperty .

:appliedConversionRule
    a owl:ObjectProperty, owl:FunctionalProperty .

:evidenceModel
    a owl:ObjectProperty .

:specializes
    a owl:ObjectProperty .

:fromScale
    a owl:ObjectProperty, owl:FunctionalProperty .

:toScale
    a owl:ObjectProperty, owl:FunctionalProperty .

:score
    a owl:DatatypeProperty, owl:FunctionalProperty .

:belief
    a owl:DatatypeProperty, owl:FunctionalProperty .

:disbelief
    a owl:DatatypeProperty, owl:FunctionalProperty .

:uncertainty
    a owl:DatatypeProperty, owl:FunctionalProperty .

:baseRate
    a owl:DatatypeProperty, owl:FunctionalProperty .

:composable
    a owl:DatatypeProperty, owl:FunctionalProperty .

:minimumInputs
    a owl:DatatypeProperty, owl:FunctionalProperty .

:lossy
    a owl:DatatypeProperty, owl:FunctionalProperty .
