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.
| 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 | 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. |
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.
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.
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.
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.
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 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 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.
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]]. |
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.
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.
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.
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.
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. |