The Inferal Confidence Ontology defines RDF terms for structured confidence assessments, confidence scales, scale-specific values, composition operators, explicit assumptions, scale conversions, and PROV-based confidence derivation records.

This is an unofficial 0.1 Editor's Draft maintained in the Inferal ontology repository.

Feedback should be sent to contact@inferal.com.

This specification defines three conformance classes: confidence data graph, confidence producer, and confidence consumer.

A confidence data graph is an RDF graph that uses the terms defined in this specification consistently with the model, term definitions, and validation expectations below.

A confidence producer is software or an authoring process that emits confidence assessments, scale-specific values, composition activities, conversion activities, and supporting provenance. A conforming producer MUST identify the value scale whenever it emits a structured confidence value.

A confidence consumer is software that reads confidence assessments. A conforming consumer MUST NOT treat a scalar score as scientifically meaningful without considering the value's scale. A consumer MUST NOT apply an operator unless the input values have scales accepted by that operator and all required assumptions are recorded or otherwise justified by the application profile.

Namespaces

Prefix IRI
conf https://ontology.inferal.com/modules/confidence/
prov http://www.w3.org/ns/prov#
ord https://ontology.inferal.com/modules/ordering/
ss https://ontology.inferal.com/modules/scoped-statements/

The confidence namespace imports [[PROV-O]] and uses PROV activities, usage, generation, and derivation links for confidence provenance. It references the Inferal Scoped Statements Ontology [[INFERAL-SCOPED-STATEMENTS]] when a confidence assessment targets an exact RDF quad. Data Classification [[INFERAL-DATA-CLASSIFICATION]] uses this module through dcls:confidenceAssessment.

Term Index

Term Kind Normative role
conf:ConfidenceAssessment Class Auditable node for confidence in a resource, claim, classification, derived assertion, or statement target.
conf:ConfidenceValue Class Structured value node for a confidence assessment.
conf:ProbabilityValue Class Probability-scale value with one scalar score from 0 to 1.
conf:FuzzyMembershipValue Class Fuzzy-membership value with one membership score from 0 to 1.
conf:SubjectiveLogicValue Class Subjective-logic opinion with belief, disbelief, uncertainty, base rate, and optional projected score.
conf:DempsterShaferValue Class Dempster-Shafer evidence value for evidence-source fusion about the same proposition.
conf:OrdinalValue Class Ordinal confidence value represented by a rank token rather than a directly composable number.
conf:ConfidenceScale Class Scale that gives a confidence value its interpretation and declares its operators.
conf:ProbabilityScale Individual Scale for probability values and probability operators.
conf:FuzzyMembershipScale Individual Scale for fuzzy-membership values and fuzzy min/max operators.
conf:SubjectiveLogicScale Individual Scale for subjective-logic opinions.
conf:DempsterShaferScale Individual Scale for Dempster-Shafer evidence values and evidence-source fusion.
conf:OrdinalScale Individual Scale for ordinal confidence ranks; not directly numerically composable.
conf:CompositionOperator Class Named confidence calculus with input scale, output scale, and required assumptions.
conf:ConfidenceComposition Class PROV activity that derives confidence assessments from input assessments using a declared operator.
conf:ScaleConversion Class PROV activity that applies a reusable conversion rule to concrete confidence inputs.
conf:ScaleConversionRule Class Reusable conversion rule that changes confidence scale and records lossiness.
conf:Assumption Class Named condition required by an operator or recorded for an activity.
conf:OrdinalRank Class Named rank token used by ordinal confidence values.
conf:LowConfidence, conf:MediumConfidence, conf:HighConfidence Individuals Built-in ordinal confidence rank tokens, totally ordered from low to high.
conf:OrdinalConfidenceOrdering Individual Total ordering context for the built-in ordinal confidence ranks.
conf:assessmentTarget Object property Resource assessed by a confidence assessment.
conf:confidenceValue Object property Structured value attached to a confidence assessment.
conf:scale Object property Scale on which a confidence value is interpreted.
conf:score Datatype property Scalar projection from 0 to 1 whose meaning is scale-dependent.
conf:belief, conf:disbelief, conf:uncertainty, conf:baseRate Datatype properties Subjective-logic opinion components.
conf:ordinalRank Object property Rank token of an ordinal confidence value.
conf:composable Datatype property Boolean marker for whether a scale can be composed without explicit conversion or profile-specific rules.
conf:conjunctionOperator, conf:disjunctionOperator, conf:negationOperator Object properties Operator links declared by a confidence scale.
conf:fusionOperator Object property Evidence-source fusion operator declared by a confidence scale.
conf:inputScale, conf:outputScale Object properties Scale signature of an operator or conversion.
conf:requiresAssumption Object property Assumption required by an operator or conversion.
conf:usedOperator, conf:recordedAssumption Object properties Activity-level operator and assumption provenance.
conf:appliedConversionRule Object property Reusable conversion rule applied by a concrete scale conversion activity.
conf:fromScale, conf:toScale, conf:lossy Properties Scale conversion source, target, and information-loss marker.
conf:minimumInputs Datatype property Minimum number of input assessments a composition activity must use for an operator; defaults to 2 when undeclared.
conf:evidenceModel Object property Concrete likelihood, calibration table, or other evidence model that justifies an activity's result.
conf:specializes Object property Links a profile-defined confidence scale to the built-in scale it refines.

Confidence Model

A conf:ConfidenceAssessment is a PROV entity separate from the resource being assessed. This lets a producer attach provenance, derivation links, and a structured value without changing the identity of the assessed classification, claim, or statement target. A confidence assessment MAY use conf:assessmentTarget to identify the assessed resource and MUST use conf:confidenceValue to identify exactly one structured value in conforming data.

A conf:ConfidenceValue MUST identify exactly one conf:scale. The value class and scale MUST agree: a conf:ProbabilityValue uses conf:ProbabilityScale, a conf:FuzzyMembershipValue uses conf:FuzzyMembershipScale, a conf:SubjectiveLogicValue uses conf:SubjectiveLogicScale, a conf:DempsterShaferValue uses conf:DempsterShaferScale, and a conf:OrdinalValue uses conf:OrdinalScale. In each case the value MAY instead use a profile-defined scale that conf:specializes the required built-in scale, directly or transitively.

conf:score is a scalar projection, not the whole confidence semantics. A probability score, fuzzy membership score, and subjective projected probability can all be written as decimals from 0 to 1, but they compose differently and carry different assumptions.

Value Scales

The built-in scales are individuals, but the scale vocabulary is extensible. A profile that needs a refined interpretation, such as a calibrated detector probability, SHOULD declare its own conf:ConfidenceScale individual and link it to the built-in scale it refines with conf:specializes. Values on the specialized scale satisfy the value shapes of the built-in scale without overriding the module SHACL profile.

Probability Values

On the probability scale the score is a calibrated degree of belief that the assessed claim is true: 0 means certainly false, 1 means certainly true, and 0.5 means as likely as not. Calibration is what gives the number meaning: among claims a producer scores at 0.9, close to 90% should turn out to be true. Choose this scale when scores come from a probabilistic model or from a producer whose outputs are checked against observed outcomes.

A conf:ProbabilityValue MUST have exactly one conf:score from 0 to 1 and MUST use conf:ProbabilityScale or a scale that specializes it. Product conjunction is valid for this scale only when the relevant independence assumption is recorded or justified by the application profile.

Fuzzy Membership Values

On the fuzzy membership scale the score is the degree to which the assessed resource belongs to a vague category, not the probability that a crisp claim is true. A field can be personally identifying to degree 0.8: the question is how strongly the property holds, not how likely it is to hold completely. Fuzzy composition is order-based and idempotent: combining 0.8 with 0.8 under minimum conjunction stays 0.8, where a probability product would drop to 0.64. Choose this scale for graded categories such as sensitivity, relevance, or similarity.

A conf:FuzzyMembershipValue MUST have exactly one conf:score from 0 to 1 and MUST use conf:FuzzyMembershipScale. Its default conjunction operator is conf:MinimumConjunction, so the same numeric inputs can produce different outputs than probability composition.

Subjective Logic Values

A subjective-logic opinion separates evidence from ignorance. Belief and disbelief are the masses of evidence for and against the claim, uncertainty is the mass not committed either way, and the base rate is the prior used when projecting the opinion to a single probability (score = belief + baseRate * uncertainty). The components distinguish cases a bare probability collapses: belief 0.5 with disbelief 0.5 records balanced conflicting evidence, while uncertainty 1 records that nothing is known, yet both project to 0.5 under a base rate of 0.5. Choose this scale when downstream consumers must see how much of a score is evidence and how much is ignorance.

A conf:SubjectiveLogicValue MUST provide one conf:belief, one conf:disbelief, one conf:uncertainty, and one conf:baseRate. Belief, disbelief, and uncertainty MUST sum to 1 within validation tolerance. A conf:score MAY be supplied as the projected probability, but it MUST NOT be treated as preserving the full opinion.

Dempster-Shafer Values

Dempster-Shafer evidence theory assigns mass to sets of hypotheses, so a source can commit support to a proposition without committing the remainder against it. A support of 0.64 leaves 0.36 uncommitted rather than counted as disbelief, which is the crucial difference from a probability of 0.64. The base module records only this scalar support projection; profiles add frames of discernment and full mass functions when they need them. Choose this scale when independent sources report evidence about the same proposition and their support must be fused rather than logically combined.

A conf:DempsterShaferValue MUST have exactly one scalar projection from 0 to 1 and MUST use conf:DempsterShaferScale. The built-in conf:DempsterCombination operator is for fusing distinct evidence sources about the same proposition under the Dempster-Shafer theory of evidence documented by Dempster [[DEMPSTER-1967]] and Shafer [[SHAFER-1976]]. It is not a logical conjunction operator over two different propositions.

Ordinal Values

Ordinal ranks are ordered review labels, not measurements: high outranks medium, but nothing says by how much, so averages, products, and other arithmetic over ranks are undefined. They are the natural scale for human review workflows and triage gates, where a reviewer asserts a level of confidence without claiming a number. When a numeric reading is unavoidable, record an explicit conf:OrdinalCalibration conversion so the mapping from rank to number is auditable rather than improvised.

A conf:OrdinalValue MUST identify one conf:ordinalRank and MUST NOT carry a conf:score; a numeric reading of an ordinal rank requires an explicit calibration conversion. The built-in conf:OrdinalScale is marked conf:composable false. A rule engine SHOULD refuse to numerically compose ordinal values unless an explicit conversion such as conf:OrdinalCalibration is present and justified.

The built-in ranks are totally ordered through the Inferal Ordering module: conf:LowConfidence, conf:MediumConfidence, and conf:HighConfidence participate in conf:OrdinalConfidenceOrdering with ord:rank values 1 to 3 and pairwise ord:greaterThan links, so consumers can compare ranks without inventing an ad hoc order.

Composition And Provenance

Confidence composition is represented as a PROV activity typed as conf:ConfidenceComposition. The activity SHOULD use prov:used for input assessments, prov:generated for output assessments, conf:usedOperator for the selected operator, and prov:wasAssociatedWith for the software, model, rule set, or reviewer that performed the derivation.

A composition activity MUST use conf:usedOperator to identify exactly one selected conf:CompositionOperator. If the operator has one or more conf:requiresAssumption values, the activity MUST record each accepted assumption with conf:recordedAssumption or fail validation under the module SHACL profile.

Each operator declares its arity with conf:minimumInputs: the minimum number of input conf:ConfidenceAssessment nodes a composition activity must use. Unary operators such as conf:ProbabilityComplement declare 1. Validation treats an operator without a declared minimum as requiring 2.

If the selected operator requires conf:CalibratedEvidenceModelAssumption, the activity MUST also link the concrete likelihood, calibration table, or other evidence model with conf:evidenceModel. Recording the assumption states that a model was accepted; the conf:evidenceModel link identifies which model, so the derivation stays auditable. The same requirement applies to conf:ScaleConversion activities whose applied rule requires the assumption, such as conf:OrdinalCalibration.

This module does not encode arithmetic in OWL. A conforming producer is responsible for computing outputs according to the selected calculus, and a conforming consumer MAY use SHACL or query artifacts to detect missing assumptions, scale mismatches, and selected arithmetic errors.

Operator Input scale Output scale Required assumption Intended use
conf:ProductConjunction conf:ProbabilityScale conf:ProbabilityScale conf:IndependenceAssumption Probability AND under independence.
conf:IndependentDisjunction conf:ProbabilityScale conf:ProbabilityScale conf:IndependenceAssumption Probability OR under independence, computed as one minus the product of complements (noisy-or).
conf:ProbabilityComplement conf:ProbabilityScale conf:ProbabilityScale None declared. Probability negation.
conf:BayesianUpdate conf:ProbabilityScale conf:ProbabilityScale conf:CalibratedEvidenceModelAssumption Posterior update from a prior and evidence model.
conf:MinimumConjunction conf:FuzzyMembershipScale conf:FuzzyMembershipScale None declared. Fuzzy AND.
conf:MaximumDisjunction conf:FuzzyMembershipScale conf:FuzzyMembershipScale None declared. Fuzzy OR.
conf:FuzzyComplement conf:FuzzyMembershipScale conf:FuzzyMembershipScale None declared. Fuzzy negation mapping a membership degree m to 1 - m.
conf:SubjectiveLogicConjunction conf:SubjectiveLogicScale conf:SubjectiveLogicScale None declared by this base module. Conjunction over subjective opinions while preserving uncertainty.
conf:SubjectiveLogicDisjunction conf:SubjectiveLogicScale conf:SubjectiveLogicScale None declared by this base module. Disjunction (comultiplication) over subjective opinions while preserving uncertainty.
conf:SubjectiveLogicCumulativeFusion conf:SubjectiveLogicScale conf:SubjectiveLogicScale conf:DistinctEvidenceSourceAssumption Evidence-source fusion of subjective opinions about the same proposition.
conf:DempsterCombination conf:DempsterShaferScale conf:DempsterShaferScale conf:DistinctEvidenceSourceAssumption Evidence-source fusion for the same proposition, following Dempster-Shafer theory [[DEMPSTER-1967]] [[SHAFER-1976]].

Scale Conversions

A conf:ScaleConversionRule records a reusable conversion from one scale to another. It MUST state one conf:fromScale, one conf:toScale, and one conf:lossy boolean. If a conversion rule requires an assumption, the rule SHOULD state it with conf:requiresAssumption.

A conf:ScaleConversion is the concrete PROV activity that applies a conversion rule to input assessments. It SHOULD use prov:used for input assessments, prov:generated for output assessments, conf:appliedConversionRule for the selected conversion rule, and conf:recordedAssumption for any assumptions accepted during the conversion.

conf:ProbabilityProjection converts subjective logic to probability by projecting the opinion to a scalar score. It is lossy because it discards uncertainty structure. conf:OrdinalCalibration converts ordinal ranks to probability using a calibration model and requires conf:CalibratedEvidenceModelAssumption.

Assumptions

Assumption resources make load-bearing conditions explicit. The base module defines conf:IndependenceAssumption, conf:DistinctEvidenceSourceAssumption, and conf:CalibratedEvidenceModelAssumption. A data graph can satisfy validation by recording an assumption; that does not prove the assumption is scientifically justified. Reviewers must inspect the evidence, source independence, calibration, or domain profile that supports the assumption.

Statement Targets

conf:assessmentTarget accepts any RDF resource. When confidence is about an exact RDF statement or quad, producers SHOULD target an ss:QuadTarget from [[INFERAL-SCOPED-STATEMENTS]] instead of using RDF-star syntax directly. This keeps the graph compatible with stores that differ on RDF-star or RDF 1.2 triple-term syntax.

Validation

The companion SHACL file validates the 0.1 closed-world expectations: confidence assessments have exactly one value; values have exactly one scale matching or specializing the scale required by their class; probability and fuzzy values have one score between 0 and 1; subjective-logic components are bounded, sum to 1, and match the declared projected score; ordinal values have one rank; operators have input and output scales; conversions have source, target, and lossiness markers; composition activities use at least the minimum number of input assessments declared by their operator; activities record assumptions required by their selected operator; and activities whose operator or applied rule requires the calibrated evidence model assumption link the concrete model with conf:evidenceModel.

These validation rules do not prove the scientific validity of a calculation. They make omitted scales, missing assumptions, malformed subjective opinions, and incomplete provenance visible before a graph is treated as audit-ready.

Queries

The module includes SPARQL query artifacts for common audit tasks:

Query Purpose
composition-audit.rq Lists composition activities, operators, input assessments, output assessments, and recorded assumptions.
cumulative-confidence-chain.rq Finds transitive confidence derivation chains through explicit prov:wasDerivedFrom links or activity-level prov:wasGeneratedBy/prov:used provenance.
missing-required-assumptions.rq Finds composition activities whose selected operator requires an assumption not recorded on the activity.
probability-product-conjunction-check.rq Checks two-input product-conjunction examples where the declared output score differs from the product of input scores.

Examples