Inferal ontology editors
type: Agent

Competency Question Ontology version 0.1.0
type: SemanticArtefact
is version of: competency-question
has version: 0.1.0
comment: The versioned semantic artifact targeted by the checked-in self-application corpus.

self-application-use-case
type: UseCase
use case text: An ontology maintainer evaluates whether the Competency Question Ontology still describes and tests its own competency-question contract after a change.

consumer-use-case
type: UseCase
use case text: A tool discovers a competency question, explains why it exists, executes its formalization over a fixture, and reports the result without treating query or SHACL text as ontology axioms.

governance-use-case
type: UseCase
use case text: A reviewer distinguishes accepted, in-review, and deprecated questions and traces each accepted question to requirements, stakeholders, and coverage claims.

resource phrase role
comment: A natural-language phrase that denotes a resource or resource kind.

relation or evidence phrase role
comment: A natural-language phrase that denotes a relation or supporting evidence.

which-template
type: QuestionTemplate
template text: Which [resources] are connected by [relation or evidence]?
has template parameter: which-resources-parameter
has template parameter: which-relation-parameter
has template element: which-element-0
has template element: which-element-1
has template element: which-element-2
has template element: which-element-3
has template element: which-element-4
source: CLaRO

which-resources-parameter
type: TemplateParameter
parameter name: resources
parameter role: resource phrase role

which-relation-parameter
type: TemplateParameter
parameter name: relation-or-evidence
parameter role: relation or evidence phrase role

which-element-0
type: TemplateTextSegment
element index: 0
segment text: Which

which-element-1
type: TemplateSlot
element index: 1
uses parameter: which-resources-parameter

which-element-2
type: TemplateTextSegment
element index: 2
segment text: are connected by

which-element-3
type: TemplateSlot
element index: 3
uses parameter: which-relation-parameter

which-element-4
type: TemplateTextSegment
element index: 4
segment text: ?

how-template
type: QuestionTemplate
template text: How is [resource] represented or evaluated without [prohibited shortcut]?
has template parameter: how-resource-parameter
has template parameter: how-shortcut-parameter
has template element: how-element-0
has template element: how-element-1
has template element: how-element-2
has template element: how-element-3
has template element: how-element-4
source: CLaRO

how-resource-parameter
type: TemplateParameter
parameter name: resource
parameter role: resource phrase role

how-shortcut-parameter
type: TemplateParameter
parameter name: prohibited-shortcut

how-element-0
type: TemplateTextSegment
element index: 0
segment text: How is

how-element-1
type: TemplateSlot
element index: 1
uses parameter: how-resource-parameter

how-element-2
type: TemplateTextSegment
element index: 2
segment text: represented or evaluated without

how-element-3
type: TemplateSlot
element index: 3
uses parameter: how-shortcut-parameter

how-element-4
type: TemplateTextSegment
element index: 4
segment text: ?

does-template
type: QuestionTemplate
template text: Does [artifact] satisfy [testable condition]?
has template parameter: does-artifact-parameter
has template parameter: does-condition-parameter
has template element: does-element-0
has template element: does-element-1
has template element: does-element-2
has template element: does-element-3
has template element: does-element-4
source: CLaRO

repeated-slot-template
type: QuestionTemplate
template text: Does [artifact] describe [artifact] consistently?
has template parameter: repeated-artifact-parameter
has template element: repeated-element-0
has template element: repeated-element-1
has template element: repeated-element-2
has template element: repeated-element-3
has template element: repeated-element-4
source: CLaRO

does-artifact-parameter
type: TemplateParameter
parameter name: artifact
parameter role: resource phrase role

does-condition-parameter
type: TemplateParameter
parameter name: testable-condition

repeated-artifact-parameter
type: TemplateParameter
parameter name: artifact
parameter role: resource phrase role

does-element-0
type: TemplateTextSegment
element index: 0
segment text: Does

does-element-1
type: TemplateSlot
element index: 1
uses parameter: does-artifact-parameter

does-element-2
type: TemplateTextSegment
element index: 2
segment text: satisfy

does-element-3
type: TemplateSlot
element index: 3
uses parameter: does-condition-parameter

does-element-4
type: TemplateTextSegment
element index: 4
segment text: ?

repeated-element-0
type: TemplateTextSegment
element index: 0
segment text: Does

repeated-element-1
type: TemplateSlot
element index: 1
uses parameter: repeated-artifact-parameter

repeated-element-2
type: TemplateTextSegment
element index: 2
segment text: describe

repeated-element-3
type: TemplateSlot
element index: 3
uses parameter: repeated-artifact-parameter

repeated-element-4
type: TemplateTextSegment
element index: 4
segment text: consistently?

does-contract-artifact-binding
type: TemplateBinding
binds parameter: does-artifact-parameter
bound resource: TemplateInstantiation
binding text: the template realization contract

does-contract-condition-binding
type: TemplateBinding
binds parameter: does-condition-parameter
bound literal: exact ordered reconstruction
binding text: exact ordered reconstruction

repeated-recursion-artifact-binding
type: TemplateBinding
binds parameter: repeated-artifact-parameter
bound resource: competency-question
binding text: the Competency Question Ontology

requirement-first-class
type: OntologyRequirement
requirement text: Competency questions must have stable resource identity independent of their formulations.

requirement-traceability
type: OntologyRequirement
requirement text: Each accepted question must trace to a requirement, use case, and stakeholder.

requirement-target
type: OntologyRequirement
requirement text: A question must identify its target semantic artifact and, when evaluated against a release, its target version.

requirement-expectation
type: OntologyRequirement
requirement text: Questions must distinguish expected answers and answer constraints from observed execution results.

requirement-execution
type: OntologyRequirement
requirement text: Executable formalizations must identify query language, query text, fixture, concrete execution, result, and status.

requirement-governance
type: OntologyRequirement
requirement text: Question lifecycle and review state must be independently representable.

requirement-patterns
type: OntologyRequirement
requirement text: Question kinds and reusable natural-language templates must remain distinct from executable formal queries.

requirement-template-elements
type: OntologyRequirement
requirement text: A template must expose ordered fixed-text and slot occurrences without requiring consumers to parse its human-readable rendering.

requirement-template-instantiation
type: OntologyRequirement
requirement text: A qualified template instantiation must connect one question, template, and formulation, bind each resource-identified parameter once, and expose deterministic ordered rendering fragments.

requirement-recursion
type: OntologyRequirement
requirement text: The ontology's own question corpus must executable-test the recursive contract and public-term coverage.

requirement-bootstrap
type: OntologyRequirement
requirement text: Self-description must disclose the minimal seed representation and must not be presented as circular logical justification.

requirement-satisfaction
type: OntologyRequirement
requirement text: Machine-checkable answer constraints must be compared with observed execution results through qualified expectation assessments.

requirement-current-evidence
type: OntologyRequirement
requirement text: A passing execution must identify the target semantic-artifact version it actually used so stale evidence can be detected.

requirement-coformalization
type: OntologyRequirement
requirement text: The self-application contract must demonstrate multiple executable formalizations for one competency question and detect disagreement on a shared semantic fixture.

formulation-first-class
type: QuestionFormulation
formulation text: Which first-class competency questions define the Competency Question Ontology, and what natural-language formulations express them?
was attributed to: Inferal ontology editors

formulation-traceability
type: QuestionFormulation
formulation text: Which ontology requirement, use case, and stakeholder motivate each self-defining competency question?
was attributed to: Inferal ontology editors

formulation-target
type: QuestionFormulation
formulation text: Which ontology module and version does each self-defining competency question target?
was attributed to: Inferal ontology editors

formulation-expectation
type: QuestionFormulation
formulation text: Which expected answer or answer constraint is connected to each self-defining competency question?
was attributed to: Inferal ontology editors

formulation-execution
type: QuestionFormulation
formulation text: Which formal query, fixture, execution, result, and status provide executable evidence for the self-application corpus?
was attributed to: Inferal ontology editors

formulation-governance
type: QuestionFormulation
formulation text: What lifecycle and review states apply to each self-defining competency question?
was attributed to: Inferal ontology editors

formulation-patterns
type: QuestionFormulation
formulation text: Which CQ kinds classify the self-defining questions, and which reusable natural-language templates remain independent of their formal queries?
was attributed to: Inferal ontology editors

formulation-template-elements
type: QuestionFormulation
formulation text: Which ordered fixed-text and slot occurrences constitute each self-application template, including repeated uses of one logical parameter?
was attributed to: Inferal ontology editors

formulation-template-instantiation
type: QuestionFormulation
formulation text: Does the template realization contract satisfy exact ordered reconstruction?
was attributed to: Inferal ontology editors

formulation-recursion
type: QuestionFormulation
formulation text: Which declared public classes and properties lack qualified coverage, and which seeded mutations escape detection by the recursive acceptance contract?
was attributed to: Inferal ontology editors

formulation-recursion-template-realization
type: QuestionFormulation
formulation text: Does the Competency Question Ontology describe the Competency Question Ontology consistently?
was attributed to: Inferal ontology editors

formulation-bootstrap
type: QuestionFormulation
formulation text: Which resources constitute the minimal seed representation that exists before the ontology describes and executes tests over its own competency questions?
was attributed to: Inferal ontology editors

formulation-satisfaction
type: QuestionFormulation
formulation text: Which machine-checkable answer constraints are satisfied by observed execution results, and how is an executed empty result distinguished from an unknown or not-run result?
was attributed to: Inferal ontology editors

formulation-current-evidence
type: QuestionFormulation
formulation text: Which passing executions used a target ontology version different from the version currently targeted by their evaluated competency questions?
was attributed to: Inferal ontology editors

formulation-coformalization
type: QuestionFormulation
formulation text: Where one competency question has multiple formal queries, do their executions agree with the declared expected outcome over the shared semantic fixture?
was attributed to: Inferal ontology editors

answer-first-class
type: ExpectedAnswer
answer text: Fourteen stable competency-question resources are members of the self-application corpus, each with an independent formulation resource.

answer-traceability
type: ExpectedAnswer
answer text: Every self-defining question links to at least one requirement, use case, and stakeholder agent.

answer-target
type: ExpectedAnswer
answer text: Every self-defining question targets the module IRI and its 0.1.0 version IRI, which identifies the module with dcterms:isVersionOf.

answer-expectation
type: ExpectedAnswer
answer text: Every self-defining question has a reviewable ExpectedAnswer resource distinct from its execution result.

answer-execution
type: ExpectedAnswer
answer text: The SPARQL 1.1 acceptance query executes over this fixture plus the ontology and returns zero regression rows.

answer-governance
type: ExpectedAnswer
answer text: Every self-defining question is accepted, approved, and independently marked for design and regression use.

answer-patterns
type: ExpectedAnswer
answer text: Two scope-setting questions have the QuO/ROCQS scoping kind and twelve answerable self-checks have the validation kind. No resource-link lookup is mislabeled as a relationship kind, and bootstrap is not mislabeled as foundational. Four CLaRO-informed templates remain independent resources.

answer-template-elements
type: ExpectedAnswer
answer text: Four templates expose twenty ordered element occurrences and seven resource-identified parameters. Two occurrences in the repeated-slot template use the same artifact parameter.

answer-template-instantiation
type: ExpectedAnswer
answer text: Two qualified instantiations each return five ordered fragments that reconstruct their linked formulation exactly; the repeated template uses one binding at two slot positions.

answer-recursion
type: ExpectedAnswer
answer text: Every public class and property has a CoveredStatus assertion, and removing required recursive links or coverage makes the acceptance query return a regression.

answer-bootstrap
type: ExpectedAnswer
answer text: The seed is RDF/Turtle plus stable vocabulary IRIs, explicit instances, and executable query text. The ontology describes that seed after it exists; it does not derive or logically justify its own vocabulary.

constraint-zero-regressions
type: AnswerConstraint
constraint expression: 0
constraint language: ResultCardinalityConstraintLanguage

answer-current-evidence
type: ExpectedAnswer
answer text: Every passing self-application execution records the 0.1.0 target version with prov:used; changing a question target without a matching execution produces a stale-evidence regression.

answer-coformalization
type: ExpectedAnswer
answer text: The row-producing and boolean SPARQL formalizations both pass the complete fixture, and both expose the seeded public-term coverage mutation.

Competency Question Ontology self-application corpus
type: QuestionSet
contains question: cq-bootstrap
contains question: cq-coformalization
contains question: cq-current-evidence
contains question: cq-execution
contains question: cq-expectation
contains question: cq-first-class
contains question: cq-governance
contains question: cq-patterns
contains question: cq-recursion
contains question: cq-satisfaction
contains question: cq-target
contains question: cq-template-elements
contains question: cq-template-instantiation
contains question: cq-traceability
question purpose: DesignPurpose
question purpose: RegressionPurpose
has stakeholder: Inferal ontology editors

self-application-fixture
type: TestFixture
format: text/turtle
download URL: https://ontology.inferal.com/modules/competency-question/queries/self-application-acceptance.example.ttl

Ordered template-element extraction query
type: FormalQuery
query language: sparql11-query
query text: PREFIX : <https://ontology.inferal.com/modules/competency-question/> SELECT ?template ?element ?index ?elementKind ?value ?parameter ?parameterRole WHERE { ?template a :QuestionTemplate ; :hasTemplateElement ?element . ?element :elementIndex ?index . { ?element a :TemplateTextSegment ; :segmentText ?value . BIND(:TemplateTextSegment AS ?elementKind) } UNION { ?element a :TemplateSlot ; :usesParameter ?parameter . ?parameter :parameterName ?value . BIND(:TemplateSlot AS ?elementKind) OPTIONAL { ?parameter :parameterRole ?parameterRole . } } } ORDER BY ?template ?index
uses fixture: self-application-fixture
download URL: https://ontology.inferal.com/modules/competency-question/queries/extract-template-elements.rq

Qualified template-realization query
type: FormalQuery
query language: sparql11-query
query text: PREFIX : <https://ontology.inferal.com/modules/competency-question/> SELECT ?instantiation ?formulation ?index ?elementKind ?fragment ?parameter ?boundResource ?boundLiteral WHERE { ?instantiation a :TemplateInstantiation ; :usesTemplate ?template ; :realizesFormulation ?formulation . ?template :hasTemplateElement ?element . ?element :elementIndex ?index . { ?element a :TemplateTextSegment ; :segmentText ?fragment . BIND(:TemplateTextSegment AS ?elementKind) } UNION { ?element a :TemplateSlot ; :usesParameter ?parameter . ?instantiation :hasTemplateBinding ?binding . ?binding :bindsParameter ?parameter ; :bindingText ?fragment . OPTIONAL { ?binding :boundResource ?boundResource . } OPTIONAL { ?binding :boundLiteral ?boundLiteral . } BIND(:TemplateSlot AS ?elementKind) } } ORDER BY ?instantiation ?index
uses fixture: self-application-fixture
download URL: https://ontology.inferal.com/modules/competency-question/queries/realize-template.rq

Self-application recursive acceptance query
type: FormalQuery
query language: sparql11-query
query text: PREFIX : <https://ontology.inferal.com/modules/competency-question/> PREFIX ex: <https://example.com/inferal/cqo-self-application/> PREFIX dcat: <http://www.w3.org/ns/dcat#> PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX mod: <https://w3id.org/mod#> PREFIX prov: <http://www.w3.org/ns/prov#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT DISTINCT ?check ?subject ?detail WHERE { { ?subject a :CompetencyQuestion . VALUES (?predicate ?check) { (:hasFormulation "missing formulation") (:addressesRequirement "missing requirement") (:supportsUseCase "missing use case") (:hasStakeholder "missing stakeholder") (:questionKind "missing question kind") (:questionPurpose "missing question purpose") (:targetsArtifact "missing target artifact") (:targetsVersion "missing target version") (:hasAnswerExpectation "missing answer expectation") (:hasFormalQuery "missing formal query") (:lifecycleState "missing lifecycle state") (:reviewState "missing review state") } FILTER NOT EXISTS { ?subject ?predicate ?value . } BIND(STR(?predicate) AS ?detail) } UNION { VALUES (?subject ?expectedKind) { (ex:cq-first-class :ScopingQuestion) (ex:cq-traceability :ValidationQuestion) (ex:cq-target :ValidationQuestion) (ex:cq-expectation :ValidationQuestion) (ex:cq-execution :ValidationQuestion) (ex:cq-governance :ValidationQuestion) (ex:cq-patterns :ValidationQuestion) (ex:cq-template-elements :ValidationQuestion) (ex:cq-template-instantiation :ValidationQuestion) (ex:cq-recursion :ValidationQuestion) (ex:cq-bootstrap :ScopingQuestion) (ex:cq-satisfaction :ValidationQuestion) (ex:cq-current-evidence :ValidationQuestion) (ex:cq-coformalization :ValidationQuestion) } FILTER NOT EXISTS { ?subject :questionKind ?expectedKind . } BIND("unexpected self-application question kind" AS ?check) BIND(STR(?expectedKind) AS ?detail) } UNION { ?subject a :CompetencyQuestion ; :targetsArtifact ?ar…
uses fixture: self-application-fixture
download URL: https://ontology.inferal.com/modules/competency-question/queries/self-application-acceptance.rq

Self-application boolean conformance query
type: FormalQuery
query language: sparql11-query
query text: PREFIX : <https://ontology.inferal.com/modules/competency-question/> PREFIX ex: <https://example.com/inferal/cqo-self-application/> PREFIX prov: <http://www.w3.org/ns/prov#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> ASK WHERE { FILTER NOT EXISTS { ?question a :CompetencyQuestion . VALUES ?predicate { :hasFormulation :addressesRequirement :supportsUseCase :hasStakeholder :questionKind :questionPurpose :targetsArtifact :targetsVersion :hasAnswerExpectation :hasFormalQuery :lifecycleState :reviewState } FILTER NOT EXISTS { ?question ?predicate ?value . } } FILTER NOT EXISTS { VALUES (?question ?expectedKind) { (ex:cq-first-class :ScopingQuestion) (ex:cq-traceability :ValidationQuestion) (ex:cq-target :ValidationQuestion) (ex:cq-expectation :ValidationQuestion) (ex:cq-execution :ValidationQuestion) (ex:cq-governance :ValidationQuestion) (ex:cq-patterns :ValidationQuestion) (ex:cq-template-elements :ValidationQuestion) (ex:cq-template-instantiation :ValidationQuestion) (ex:cq-recursion :ValidationQuestion) (ex:cq-bootstrap :ScopingQuestion) (ex:cq-satisfaction :ValidationQuestion) (ex:cq-current-evidence :ValidationQuestion) (ex:cq-coformalization :ValidationQuestion) } FILTER NOT EXISTS { ?question :questionKind ?expectedKind . } } FILTER NOT EXISTS { ?execution a :QueryExecution ; :evaluatesQuestion ?question ; :hasExecutionResult ?result . ?question :targetsVersion ?version . ?result :executionStatus :PassedStatus . FILTER NOT EXISTS { ?execution prov:used ?version . } } FILTER NOT EXISTS { ?execution a :QueryExecution ; :evaluatesQuestion ?question ; :hasExecutionResult ?result . ?question :hasAnswerExpectation ?expectation . ?expectation a :AnswerConstraint . FILTER NOT EXISTS { ?assessment a :ExpectationAssessment ; :assessesResult ?result ; :assessesExpectation ?expectation ; :expectationSatisfied true . } } FILTER NOT EXISTS { ?template a :QuestionTemplate . FILTER NOT EXISTS { ?template :templa…
uses fixture: self-application-fixture
download URL: https://ontology.inferal.com/modules/competency-question/queries/self-application-conformance.rq

self-application-execution
type: QueryExecution
execution of: Self-application recursive acceptance query
evaluates question: cq-bootstrap
evaluates question: cq-coformalization
evaluates question: cq-current-evidence
evaluates question: cq-execution
evaluates question: cq-expectation
evaluates question: cq-first-class
evaluates question: cq-governance
evaluates question: cq-patterns
evaluates question: cq-recursion
evaluates question: cq-satisfaction
evaluates question: cq-target
evaluates question: cq-traceability
uses fixture: self-application-fixture
has execution result: self-application-result
used: Competency Question Ontology version 0.1.0
ended at time: 2026-07-29T12:00:00Z

self-application-result
type: ExecutionResult
execution status: PassedStatus
result cardinality: 0
result message: The checked-in acceptance query returned zero regression rows when run over the base ontology and this fixture.
was generated by: self-application-execution

zero-regression-assessment
type: ExpectationAssessment
assesses result: self-application-result
assesses expectation: constraint-zero-regressions
expectation satisfied: true

template-element-extraction-execution
type: QueryExecution
execution of: Ordered template-element extraction query
evaluates question: cq-template-elements
uses fixture: self-application-fixture
has execution result: template-element-extraction-result
used: Competency Question Ontology version 0.1.0
ended at time: 2026-07-29T12:00:30Z

template-element-extraction-result
type: ExecutionResult
execution status: PassedStatus
result cardinality: 20
result message: The extraction query returned all twenty ordered elements from four self-application templates without parsing templateText.
was generated by: template-element-extraction-execution

template-realization-execution
type: QueryExecution
execution of: Qualified template-realization query
evaluates question: cq-template-instantiation
uses fixture: self-application-fixture
has execution result: template-realization-result
used: Competency Question Ontology version 0.1.0
ended at time: 2026-07-29T12:00:45Z

template-realization-result
type: ExecutionResult
execution status: PassedStatus
result cardinality: 10
result message: The realization query returned ten ordered fragments whose two concatenated sequences exactly match their linked formulations.
was generated by: template-realization-execution

self-application-conformance-execution
type: QueryExecution
execution of: Self-application boolean conformance query
evaluates question: cq-coformalization
uses fixture: self-application-fixture
has execution result: self-application-conformance-result
used: Competency Question Ontology version 0.1.0
ended at time: 2026-07-29T12:01:00Z

self-application-conformance-result
type: ExecutionResult
execution status: PassedStatus
result boolean: true
result message: The alternate ASK formalization returned true over the same self-application graph.
was generated by: self-application-conformance-execution