Competency questions are frequently written as anonymous strings even though ontology scope, requirements, formalization, evidence, and review evolve independently. This specification defines a first-class RDF contract that preserves those distinctions and supports traceability, machine-extractable natural-language templates, executable SPARQL evaluation, lifecycle governance, and recursive testing of the ontology's own competency questions.
This is an unofficial 0.1 Editor's Draft maintained by Inferal. Feedback should be sent to contact@inferal.com.
The key words MUST, MUST NOT, SHOULD, and MAY are to be interpreted as described in BCP 14 when they appear in all capitals.
A publisher emits RDF using the vocabulary. A data graph conforms when its targeted resources pass the declared SHACL validation regime with the base ontology and its imported MOD and PROV semantics available. A query processor executes a formal query under its declared language and graph assumptions. A validator applies SHACL; it does not execute query source merely because that source is present in RDF.
Vocabulary meaning is open-world RDFS/OWL meaning. Cardinality, required links, cross-resource consistency, and malformed graph rejection are closed-world SHACL concerns. Query results and execution statuses are operational evidence. No inverse triples or inferred types need to be materialized by publishers, but validators MUST make the imported type hierarchy available when applying class constraints.
Treating a competency question as a string on an ontology loses its identity when the wording is translated, revised, assigned to a stakeholder, formalized more than once, or evaluated against a new version. Treating the SPARQL text as the question loses the human requirement and incorrectly makes one implementation definitive. Treating a passing SHACL report as the answer confuses graph well-formedness with domain truth.
Ontology authors use this model to state requirements and scope. Reviewers use it to inspect rationale, lifecycle, and coverage. Test runners use it to locate query artifacts, fixtures, and expected results. Catalog and governance tools use stable question IRIs rather than attempting to reconcile changing text.
The ontology owns the identity and traceability contract around competency questions. It models natural-language formulations, requirements, use cases, stakeholders, semantic-artifact targets and versions, expectations, query artifacts, fixtures, executions, machine-observed results, qualified expectation assessments, lifecycle and review states, ordered template elements, and qualified coverage.
It does not provide a general project-management or requirements-management ontology. It does not translate natural language into SPARQL, define a universal scoring metric, or infer that unrecorded coverage is false. It does not claim that a passed query proves the target ontology complete, nor that self-application proves the initial requirements correct or independent.
The ontology's own acceptance corpus asks:
Identity, traceability, governance, template structure, and the bootstrap boundary are visibly answered by the self-application graph. Coverage, ordered element extraction, satisfaction, evidence currency, and co-formalization are also acceptance criteria for executable queries, SHACL constraints, and mutation tests.
| Prefix | Namespace | Role |
|---|---|---|
cqo |
https://ontology.inferal.com/modules/competency-question/ |
Terms defined by this specification. |
mod |
https://w3id.org/mod# |
Semantic-artifact identity for question targets. [[MOD]] |
prov |
http://www.w3.org/ns/prov# |
Agents, entities, activities, attribution, generation, and time. [[PROVO]] |
MOD's mod:competencyQuestion is a datatype property whose
value is a string. It MAY provide a lossy catalog summary, but
cqo:hasCompetencyQuestion is intentionally not its
subproperty or equivalent because it relates a resource.
C-ODO established that a competency question can be a use-case pattern and a motivating query usable as a unit test. Its legacy upper-ontology commitments and dependency closure are much stronger than this module's portable contract, so it is cited but not imported or aligned. [[CODO]]
CORAL makes an ontological requirement a resource, while its CQ and answer remain literals and every requirement is committed to a lexico-syntactic pattern. This module preserves the useful distinctions but rejects import and subclass alignment because not every valid CQ has that mandatory pattern commitment. [[CORAL]]
The QuO model used by ROCQS defines five CQ kinds by their function and distinguishing constituents. This module preserves those definitions as locally governed values with source provenance, not as imported classes, because ROCQS is a CC0 research corpus rather than a stable RDF vocabulary. QuO explicitly leaves room for further kinds, so the local range remains extensible. [[ROCQS]]
CLaRO motivates separate question, formulation, and template resources. Its XML serialization distinguishes ordered text, entity, and predicate chunks rather than leaving a template only as presentation text. This module adopts that occurrence-and-order insight while using locally governed RDF terms; it does not import or equate the XML element names, which have no stable RDF vocabulary IRIs. [[CLARO]] [[CLARO-REPOSITORY]] A template still does not entail one query. The CQ/SPARQL-OWL dataset demonstrates many-to-many and missing mappings between linguistic patterns and formal query signatures. These sources therefore support an explicit, non-functional CQ-to-query relation. [[CQSPARQLOWL]]
Version 0.1.0 makes no external OWL equivalence or subclass alignment. Similar labels across these sources do not establish identical identity, lifecycle, or entailments.
The model follows a question from authoring intent to operational evidence without collapsing the resources that change at different times. A question can retain its identity while its wording is translated, its target advances to a new version, a second query is added, or a new execution supersedes earlier evidence. The following table is a boundary guide; the normative patterns are explained in the sections that follow.
flowchart LR
R["Ontology
requirement"] -->|"addressed by"| CQ["Competency
question"]
U["Use case"] -->|"supported by"| CQ
S["Stakeholder"] -->|"has interest in"| CQ
CQ -->|"has formulation"| F["Question
formulation"]
CQ -->|"has instantiation"| I["Template
instantiation"]
I -->|"uses"| T["Question
template"]
I -->|"realizes"| F
T -->|"has ordered element"| E["Text segment
or slot"]
CQ -->|"has expectation"| A["Expected answer
or constraint"]
CQ -->|"has formal query"| Q["Executable
formal query"]
Q -->|"uses fixture"| X["Test fixture"]
Q -->|"run by"| RUN["Query execution"]
RUN -->|"generates"| RESULT["Execution result"]
RESULT -->|"compared with expectation"| ASSESS["Expectation
assessment"]
| Resource | Represents | Does not imply |
|---|---|---|
cqo:CompetencyQuestion | Persistent evaluative requirement identity | One wording or one formalization |
cqo:QuestionSet | A governed collection assembled for a purpose | That every relevant question is present |
cqo:QuestionFormulation | A language-specific expression | A distinct question |
cqo:OntologyRequirement | A semantic capability or boundary the ontology should provide | A question, test, or implementation task |
cqo:UseCase | The stakeholder situation or decision motivating evaluation | That the described workflow has occurred |
cqo:QuestionTemplate | A language-specific rendering plus an ordered element sequence | A controlled grammar, slot binding, or executable query |
cqo:TemplateTextSegment | One fixed text occurrence, including significant whitespace or punctuation | A replaceable input |
cqo:TemplateSlot | One replaceable occurrence at an ordered position | The logical input or its bound value |
cqo:TemplateParameter | A template-local logical input shared by slot occurrences | A query variable or one occurrence |
cqo:TemplateInstantiation | A qualified realization of one template as one formulation | A loose linguistic classification or formal query |
cqo:TemplateBinding | One parameter's semantic value and surface text in an instantiation | An ontology axiom or query-variable binding |
cqo:ExpectedAnswer | A reviewable required result | That execution occurred |
cqo:AnswerConstraint | A machine- or human-interpretable boundary on acceptable answers | That any result satisfies it |
cqo:FormalQuery | Executable processor input | An ontology axiom or unique translation |
cqo:TestFixture | Fixed evaluation input | A hand-authored proof of output |
cqo:QueryExecution | One time-bounded act of running a formal query | That the result passed or is still current |
cqo:ExecutionResult | Status and machine observations from one run | Satisfaction of a particular expectation |
cqo:ExpectationAssessment | A qualified result-to-expectation judgement | An ontology entailment or universal truth |
cqo:CoverageAssertion | A qualified traceability claim | Closed-world completeness beyond its evidence |
A cqo:CompetencyQuestion is the durable identity of the
capability being asked about. Its IRI is suitable for review,
coverage, execution, and lifecycle links. Editing punctuation,
adding a translation, or attaching another formal query does not by
itself create a new question. A materially different requirement or
target scope normally does.
A conforming competency question MUST have at least one formulation,
requirement, use case, stakeholder, kind, purpose, target artifact,
answer expectation, lifecycle state, and review state. A question MAY
have several formulations and purposes. A target version, when
supplied, MUST identify the target artifact with
dcterms:isVersionOf.
A cqo:QuestionSet gives a collection its own governance
context: stakeholder and purpose belong to the set as well as, or
independently of, individual members. Membership is intentionally
open. A set described as a “release suite” does not become exhaustive
merely because no additional cqo:containsQuestion values
are present.
A cqo:QuestionFormulation is one natural-language
expression of a question. It is a resource rather than a literal on
the question so publishers can attach language, attribution, and
provenance, and so translations or deliberate paraphrases remain
distinguishable. Two formulations connected through
cqo:hasFormulation express the same question identity;
the ontology does not infer that arbitrary similar strings are
equivalent.
A cqo:QuestionTemplate is a reusable authoring pattern
for producing or recognizing formulations. It carries exactly one
language-tagged cqo:templateText rendering and one or
more cqo:TemplateElement occurrences through
cqo:hasTemplateElement. Logical inputs are separate
cqo:TemplateParameter resources connected through
cqo:hasTemplateParameter. The rendering remains useful
for people, but consumers MUST use the element and parameter graph
rather than parsing square brackets or another punctuation convention.
Every element MUST have exactly one zero-based
cqo:elementIndex within exactly one template. Indices in
a complete conforming template are unique and contiguous from zero.
A cqo:TemplateTextSegment carries exactly one
language-tagged cqo:segmentText, including significant
whitespace and punctuation. A cqo:TemplateSlot uses
exactly one parameter through cqo:usesParameter. Each
parameter carries one non-empty cqo:parameterName and
MAY carry one resource-valued cqo:parameterRole. Names
and roles describe the input; the parameter IRI carries identity.
Roles do not imply a corresponding ontology class, property, or
formal-query variable.
Element resources are occurrences. Two slot occurrences in one template MAY use the same parameter when one logical input appears more than once. The parameter is bound once per instantiation and its binding text is reused at each occurrence. This preserves distinct positions without making string equality carry identity semantics.
Because this ontology does not prescribe a placeholder-rendering
syntax, SHACL cannot prove that punctuation in
cqo:templateText is a lossless serialization of the
element graph. Publishers MUST ensure that both views communicate the
same pattern. Processors that require deterministic structure MUST
treat the elements as authoritative and the rendering as a display
view.
flowchart LR
T["QuestionTemplate"] -->|"has element"| E0["0 · Text segment"]
T -->|"has element"| E1["1 · Slot occurrence"]
T -->|"has parameter"| P["TemplateParameter"]
E1 -->|"uses parameter"| P
I["TemplateInstantiation"] -->|"uses template"| T
I -->|"has binding"| B["TemplateBinding"]
B -->|"binds parameter"| P
B -->|"binding text"| V["Rendered phrase"]
I -->|"realizes"| F["QuestionFormulation"]
I -.->|"does not bind"| Q["FormalQuery"]
A cqo:TemplateInstantiation is the qualified resource
connected from a question by cqo:hasTemplateInstantiation.
It identifies exactly one template with cqo:usesTemplate,
exactly one formulation with cqo:realizesFormulation,
and its bindings with cqo:hasTemplateBinding. The linked
formulation MUST belong to that question. Each declared template
parameter MUST be bound exactly once, and no undeclared parameter may
be bound.
A cqo:TemplateBinding binds one parameter through
cqo:bindsParameter, supplies exactly one semantic value
through either cqo:boundResource or
cqo:boundLiteral, and supplies the exact surface phrase
through cqo:bindingText. The semantic value and its
language-specific rendering remain distinct. Processors realize a
formulation by ordering elements by cqo:elementIndex
and concatenating each fixed cqo:segmentText or the
binding text for the slot's parameter. CLaRO motivates ordered
linguistic structure, while CQ/SPARQL-OWL cautions against treating
this realization as a deterministic query signature. Template
bindings MUST NOT be interpreted as formal-query variable bindings.
[[CLARO]] [[CQSPARQLOWL]]
A cqo:OntologyRequirement states the capability or
boundary the target ontology is expected to provide. A
cqo:UseCase states why that capability matters in a
stakeholder situation or decision. The competency question is the
interrogative instrument used to examine the requirement in that
context. Keeping all three resources separate permits one requirement
to motivate several questions and one question to support several use
cases without duplicating their prose.
cqo:hasStakeholder points to a prov:Agent
with an interest or responsibility in the question, requirement, use
case, or set. Stakeholder is not synonymous with author, reviewer, or
executor; those roles require their own provenance statements when
relevant.
Four independent axes prevent convenient labels from becoming hidden
lifecycle logic. cqo:questionKind records the question's
semantic function and distinguishing constituents under the QuO/ROCQS
model. It is not inferred from words such as “which”, “relationship”,
or “foundational”. cqo:questionPurpose is Inferal's
separate operational-use axis: design, evaluation, or regression. A
question authored as an answerable validation constraint can
therefore guide design and later serve regression without changing
its kind. [[ROCQS]]
| Kind | QuO/ROCQS boundary | Illustrative question |
|---|---|---|
cqo:ScopingQuestion |
Mentions domain entities and helps demarcate the subject domain and candidate ontology content; it need not yet be formalizable or answerable. | Which brewing techniques belong in the coffee ontology? |
cqo:ValidationQuestion |
Validates ontology content and is intended to be formalizable and answerable without exceeding the permitted representation language. | Which equipment does the ontology require for steeping coffee? |
cqo:FoundationalQuestion |
Uses an entity or characteristic from a foundational ontology to align or interrogate a distinct domain entity. | Can brewing method be aligned with DOLCE's perdurant branch? |
cqo:RelationshipQuestion |
Examines a relationship's arity, elementarity, participants or domain/range, or an expressible relational property. | Is the affects taste relationship transitive? |
cqo:MetapropertyQuestion |
Applies an ontological metaproperty criterion to classify a foundational or domain entity. | Is being a coffee bean rigid throughout an instance's existence? |
cqo:lifecycleState records whether the question is
draft, accepted, or deprecated. cqo:reviewState
independently records whether review is absent, active, approved, or
has requested changes. Acceptance does not entail approval, and
approval does not prove the expected answer true. The controlled
values are extensible individuals; their absence cannot be interpreted
as a default value under open-world semantics.
cqo:AnswerExpectation is the common type for two
different contracts. A cqo:ExpectedAnswer names concrete
answer text or answer resources that reviewers expect to see. A
cqo:AnswerConstraint carries an expression together with
the language or convention that gives the expression meaning.
Neither class records an observed answer.
A cqo:FormalQuery is an executable artifact, not merely
an illustrative code snippet. It MUST declare query text, the query
language that interprets that text, at least one fixture describing
its input contract, and a retrievable artifact location. A
cqo:TestFixture identifies a fixed graph or dataset used
for evaluation; it is input evidence, not a hand-authored assertion
that the query passed. Formalization remains optional at the
vocabulary level because not every foundational or stakeholder
question can be safely reduced to a graph query.
A machine comparison MUST use an
cqo:ExpectationAssessment to identify both the observed
result and the assessed expectation. This qualified form permits one
result to be compared with several expectations without treating one
unqualified boolean as their shared judgement. The local result
cardinality convention interprets a non-negative integer expression
as the required row count.
A cqo:QueryExecution is a concrete
prov:Activity. It MUST name the query, every evaluated
question, its fixtures, completion time, at least one used
semantic-artifact version, and one result. Re-running unchanged query
text is a new execution because time, processor context, input
retrieval, and target version may differ.
A cqo:ExecutionResult is the
prov:Entity generated by that activity and MUST point
back to it. Passed and failed results MUST record a cardinality or
boolean machine observation. Not-run and errored results MUST NOT
claim those observations: absence remains unknown rather than zero or
false. A diagnostic cqo:resultMessage helps humans but is
not a substitute for the typed observation.
A passed execution is current evidence for a question only when the
version named through prov:used equals that question's
current cqo:targetsVersion. Historical executions remain
valid provenance records after a target changes, but no longer satisfy
the current recursive acceptance contract.
An cqo:ExpectationAssessment qualifies the comparison of
exactly one result with exactly one expectation. This avoids treating
“passed execution” and “expected answer satisfied” as synonyms when
one result is checked against several expectations.
A cqo:CoverageAssertion qualifies question-to-resource
traceability because a direct many-to-many edge cannot carry scope,
provenance, or degree. Covered, partial, and uncovered are explicit
claims about the named pair. A covered assertion does not entail that
another unmentioned resource is uncovered, and a complete list of
assertions is complete only under an external closed-world acceptance
rule such as this ontology's self-test.
This ontology's fourteen competency questions are instances of
cqo:CompetencyQuestion. They target this ontology and its
0.1.0 version, link to requirements, use cases, stakeholders,
formulations, answers, kinds, purposes, and, where an exact realization
is claimed, qualified template instantiations. Two boundary-setting
questions are Scoping CQs; the twelve answerable checks on module
content are Validation CQs. None is mislabeled Foundational merely
because it concerns bootstrapping, or Relationship merely because it
retrieves RDF links. One question specifically asks for the ordered
elements of the ontology's own templates and is
answered by an independent extraction query. A second asks whether
qualified parameter bindings reconstruct linked formulations and is
answered by an ordered-fragment realization query. The primary
row-producing query evaluates the recursive contract; the
co-formalization question also has a boolean query over the same
semantic fixture.
The reference query returns a row for any missing recursive link, inconsistent target version, incomplete query artifact, stale passed evidence, missing machine observation or expectation assessment, malformed template structure, non-regression corpus member, incorrect self-corpus kind assignment, or public class or property without a covered assertion. A passing result is zero rows. Its qualified assessment compares that observed cardinality with the declared zero-row constraint. Implementations claiming this recursive capability MUST execute the query; copying a hand-authored passing result is insufficient.
The alternate boolean formalization returns true for the complete graph. Removing a public-term coverage assertion makes the row-producing query return a diagnostic and the boolean query return false. Agreement is therefore demonstrated by execution on both the valid graph and a checked mutation, rather than inferred merely because both artifacts are linked to one question.
Self-description begins from a seed: RDF/Turtle syntax, stable vocabulary IRIs, initial class and property declarations, question instances, and executable query text must exist before those resources can be described with this vocabulary. Once asserted, the ontology can describe the seed and the query can evaluate the combined graph.
This is not a logical proof of the vocabulary by the vocabulary. The questions do not entail their own class declarations, and the passing query does not prove that the initial requirements are exhaustive. It proves only that the declared recursive contract is internally present and operationally exercised.
The complete-question shape targets explicit
cqo:CompetencyQuestion instances. It requires contextual
traceability, controlled states, and answer expectations. The target
version consistency constraint checks dcterms:isVersionOf.
Query and execution shapes require artifact identity, query language,
fixtures, completion time, a used semantic-artifact version, result
generation, and agreement between an execution's query and each
evaluated question. Completed-result constraints require a machine
observation; not-run and error states prohibit one. Expectation
assessments bind one result to one expectation and check the local
result-cardinality convention when selected.
Template validation requires one rendering and at least one element,
exactly one owning template and index per element, exactly one element
kind, unique contiguous indices, and parameters owned and used by the
same template. Parameter names are unique within a template.
Instantiation validation requires one owning question, one template,
one formulation belonging to that question, and exactly one binding
for every declared parameter. Binding validation distinguishes a
resource value from a literal value and requires one language-tagged
surface phrase. These checks validate supplied structure; SHACL does
not parse cqo:templateText, concatenate fragments, or
generate elements, bindings, or formulations.
SHACL conformance establishes structural consistency under the declared data and ontology graphs. It cannot establish that a natural-language answer is correct, that a stakeholder truly approved a question, or that the question set is exhaustive. [[SHACL]]
RDFS domains and ranges infer types; they are not validation filters. The OWL addendum types classes, object properties, datatype properties, and controlled individuals. It deliberately adds no functional properties, equivalences, keys, disjointness, or cardinality axioms.
The following named shapes provide basic coverage for every public class: cqo:CompetencyQuestionShape, cqo:QuestionSetShape, cqo:QuestionFormulationShape, cqo:OntologyRequirementShape, cqo:UseCaseShape, cqo:QuestionTemplateShape, cqo:TemplateElementShape, cqo:TemplateTextSegmentShape, cqo:TemplateSlotShape, cqo:TemplateParameterShape, cqo:TemplateInstantiationShape, cqo:TemplateBindingShape, cqo:FormalQueryShape, cqo:TestFixtureShape, cqo:AnswerExpectationShape, cqo:ExpectedAnswerShape, cqo:AnswerConstraintShape, cqo:QueryExecutionShape, cqo:ExecutionResultShape, cqo:ExpectationAssessmentShape, cqo:CoverageAssertionShape, cqo:CompetencyQuestionKindShape, cqo:QuestionPurposeShape, cqo:LifecycleStateShape, cqo:ReviewStateShape, cqo:ExecutionStatusShape, and cqo:CoverageStatusShape.
A processor evaluates a question only when it can load the query text under the declared query language and the named fixtures or target graph. It MUST report an error rather than fabricate a passed result when the query cannot be prepared, required input is unavailable, or graph assumptions are contradictory.
The recursive reference behavior uses SPARQL 1.1 [[SPARQL11]] and returns diagnostic rows. Missing evidence fails closed by producing a row; a processor never infers a pass from the absence of an execution record. A completed tabular execution records its observed row count; a boolean execution records its observed boolean. A processor evaluating a result-cardinality constraint compares the integer expression with the observed count and emits a qualified assessment.
The template-element reference query returns one row for each ordered
occurrence, including its owning template, element IRI, index, element
class, fixed text or parameter identity, name, and optional role. It
orders rows by template and index and never inspects
cqo:templateText. Returning those rows is data extraction,
not SHACL validation or ontology entailment.
The template-realization reference query returns one ordered fragment
per element of each qualified instantiation. For a text segment the
fragment is cqo:segmentText; for a slot it is the
cqo:bindingText attached to that slot's parameter.
A processor concatenates the fragments in numeric index order and MUST
compare the result with the linked formulation text when claiming
exact realization. This is an explicit natural-language transformation,
not an OWL entailment, SHACL rule, or formal-query variable binding.
The reference corpus supplies row-producing and boolean co-formalizations. Both are executed over the same semantic graph and MUST agree on the declared pass and on the seeded coverage failure. Repeated evaluation over an unchanged RDF dataset is deterministic because neither query generates identifiers nor depends on solution ordering.
Questions, fixtures, expected answers, stakeholder links, and query results can reveal product strategy, unpublished ontology scope, personal identities, sensitive test data, or attack-oriented queries. Publishers SHOULD apply access controls appropriate to each resource and MUST NOT infer that a public ontology requires every connected fixture or stakeholder record to be public.
Processors MUST treat query text and fixture locations as untrusted input. This vocabulary does not authorize network access, mutation, entailment regimes, or processor extensions.
Public term IRIs are stable. Meanings that must change incompatibly will be represented with new terms and migration guidance rather than silent redefinition. Question IRIs SHOULD remain stable across wording changes; replaced questions SHOULD be deprecated while their prior formulations, executions, and coverage evidence remain traceable.
Design, evaluation, and regression purposes are independent. A question reused from construction during regression proves adherence to an accepted requirement, not held-out generalization. Claims of domain coverage SHOULD use independently elicited evaluation questions and disclose their provenance.
| Term | Normative role |
|---|---|
| cqo:CompetencyQuestion | Persistent question identity, not a wording or query. |
| cqo:QuestionSet | Named question collection without an implicit completeness claim. |
| cqo:QuestionFormulation | Language-tagged expression of a question. |
| cqo:OntologyRequirement | Required semantic capability or boundary. |
| cqo:UseCase | Stakeholder situation or intended decision motivating a question. |
| cqo:QuestionTemplate | Language-specific rendering and ordered natural-language element sequence, not a formalization. |
| cqo:TemplateElement | One indexed occurrence owned by exactly one template. |
| cqo:TemplateTextSegment | Fixed language-tagged text occurrence, including significant spacing or punctuation. |
| cqo:TemplateSlot | Replaceable ordered occurrence that uses one logical parameter. |
| cqo:TemplateParameter | Resource-identified logical input declared by one template and shared by one or more slots. |
| cqo:TemplateInstantiation | Qualified realization of one template as one question formulation. |
| cqo:TemplateBinding | Assignment of one parameter to a semantic value and language-specific surface phrase. |
| cqo:FormalQuery | Executable query artifact interpreted by its declared language. |
| cqo:TestFixture | Fixed graph or dataset supplied to execution. |
| cqo:AnswerExpectation | Superclass for concrete answers and acceptable-answer constraints. |
| cqo:ExpectedAnswer | Concrete expected text or RDF resource. |
| cqo:AnswerConstraint | Expression constraining acceptable answers. |
| cqo:QueryExecution | Concrete PROV activity that runs a formal query. |
| cqo:ExecutionResult | PROV entity generated by one query execution. |
| cqo:ExpectationAssessment | Qualified comparison of one result with one answer expectation. |
| cqo:CoverageAssertion | Qualified claim about question-to-resource coverage. |
| cqo:CompetencyQuestionKind | Role of what a question asks. |
| cqo:QuestionPurpose | Use of a question in its lifecycle. |
| cqo:LifecycleState | Authoring and maintenance state. |
| cqo:ReviewState | Independent review disposition. |
| cqo:ExecutionStatus | Outcome category for one execution result. |
| cqo:CoverageStatus | Degree claimed by one coverage assertion. |
| Term | Normative role |
|---|---|
| cqo:hasCompetencyQuestion | Resource-to-question relation; not MOD's literal property. |
| cqo:containsQuestion | Question-set membership. |
| cqo:hasFormulation | Connects a question to a wording resource. |
| cqo:formulationText | Language-tagged wording text. |
| cqo:addressesRequirement | Question-to-requirement traceability. |
| cqo:requirementText | Language-tagged requirement statement. |
| cqo:supportsUseCase | Question-to-use-case traceability. |
| cqo:useCaseText | Language-tagged use-case statement. |
| cqo:hasStakeholder | Interested or responsible PROV agent, not necessarily author. |
| cqo:questionKind | Semantic CQ role. |
| cqo:questionPurpose | Design, evaluation, or regression operational use, independent of kind and lifecycle state. |
| cqo:targetsArtifact | Semantic artifact evaluated by a question. |
| cqo:targetsVersion | Specific target version linked to its artifact by Dublin Core. |
| cqo:hasAnswerExpectation | Connects expected answer or constraint. |
| cqo:hasFormalQuery | Potentially non-unique executable formalization. |
| cqo:hasTemplateInstantiation | Connects a question to a qualified natural-language realization. |
| cqo:hasTemplateElement | Template-to-element occurrence relation; RDF serialization order is irrelevant. |
| cqo:hasTemplateParameter | Declares a logical input owned by a question template. |
| cqo:usesParameter | Connects a slot occurrence to the parameter rendered at that position. |
| cqo:usesTemplate | Identifies the template used by an instantiation. |
| cqo:realizesFormulation | Identifies the exact formulation realized by an instantiation. |
| cqo:hasTemplateBinding | Connects an instantiation to one of its parameter assignments. |
| cqo:bindsParameter | Identifies the logical parameter assigned by a binding. |
| cqo:lifecycleState | Current authoring lifecycle state. |
| cqo:reviewState | Current review disposition. |
| cqo:templateText | Single language-tagged human-readable template rendering. |
| cqo:elementIndex | Zero-based occurrence position, unique and contiguous per conforming template. |
| cqo:segmentText | Exact fixed text carried by a text-segment occurrence. |
| cqo:parameterName | Non-empty template-local display name; the parameter IRI carries identity. |
| cqo:parameterRole | Optional extensible logical-input role; not a query-variable binding. |
| cqo:boundResource | IRI assigned as the semantic value of a binding. |
| cqo:boundLiteral | Literal assigned as the semantic value of a binding. |
| cqo:bindingText | Exact language-tagged surface phrase rendered for a parameter. |
| cqo:queryText | Executable source interpreted only under the query language. |
| cqo:queryLanguage | IRI identifying the query language. |
| cqo:usesFixture | Fixture used by a query contract or execution. |
| cqo:answerText | Language-tagged concrete expected answer. |
| cqo:answerResource | RDF resource expected in an answer. |
| cqo:constraintExpression | Expression restricting acceptable answers. |
| cqo:constraintLanguage | IRI identifying how to interpret the constraint. |
| cqo:executionOf | Formal query run by an execution. |
| cqo:evaluatesQuestion | Question evaluated by an execution. |
| cqo:hasExecutionResult | Result generated by an execution. |
| cqo:executionStatus | Controlled outcome of a result. |
| cqo:resultMessage | Optional diagnostic text, not machine proof. |
| cqo:resultCardinality | Observed row count from a completed tabular query; absence is not zero. |
| cqo:resultBoolean | Observed boolean from a completed boolean query; absence is not false. |
| cqo:assessesResult | Result compared by an expectation assessment. |
| cqo:assessesExpectation | Answer expectation compared by an assessment. |
| cqo:expectationSatisfied | Boolean assessment judgement under the declared expectation interpretation. |
| cqo:coverageQuestion | Question supporting a coverage assertion. |
| cqo:coveredResource | Resource evaluated for coverage. |
| cqo:coverageStatus | Degree claimed by the assertion. |
| Term | Meaning |
|---|---|
| cqo:ScopingQuestion | Demarcates subject domain and candidate content by mentioning domain entities; need not yet be formalizable or answerable. |
| cqo:ValidationQuestion | Validates ontology content through an intended formalizable and answerable question within the permitted representation language. |
| cqo:FoundationalQuestion | Uses a foundational-ontology entity or characteristic to align or interrogate a domain entity. |
| cqo:RelationshipQuestion | Examines relationship arity, elementarity, participants or domain/range, or a relational property. |
| cqo:MetapropertyQuestion | Applies an ontological metaproperty criterion to classify a foundational or domain entity. |
| cqo:DesignPurpose | Guides scoping or modeling. |
| cqo:EvaluationPurpose | Evaluates a target artifact. |
| cqo:RegressionPurpose | Detects loss of accepted capability. |
| cqo:DraftState | Question may change without deprecation. |
| cqo:AcceptedState | Question belongs to the current contract. |
| cqo:DeprecatedState | Retained for compatibility, not new use. |
| cqo:UnreviewedState | No review disposition is recorded. |
| cqo:InReviewState | Question is under review. |
| cqo:ApprovedState | Question passed the claimed review regime. |
| cqo:ChangesRequestedState | Review requires revision. |
| cqo:NotRunStatus | No completed execution is available. |
| cqo:PassedStatus | Declared execution assertions succeeded. |
| cqo:FailedStatus | Execution completed but assertions failed. |
| cqo:ErrorStatus | Processing failed before a valid evaluative result. |
| cqo:CoveredStatus | Question covers the resource under stated evidence. |
| cqo:PartialCoverageStatus | Coverage is explicitly partial. |
| cqo:UncoveredStatus | Resource is explicitly not covered under review. |
| cqo:ResultCardinalityConstraintLanguage | Local convention interpreting a non-negative integer expression as a required result-row count. |