methodatlas
RunsheetKnowledge Modeling

Competency Questions

ComplexityMedium
Time2-4 h
Participants2-8
FormatWorkshop + async
MaturityEstablished
01

Prerequisite

What needs to be finished first

Complete firstStakeholder Mapping

A list of the future consumers of the Ontology, Knowledge Graph, or GraphRAG pipeline is available so questions come from a real usage context.

Without: Without this list, modelers invent questions for modelers, and the model will not cover real use cases later.
02

Preparation

What needs to be ready before start

Materials

Shared document or table with columns question, example answer, required concepts, priority, coverage status; sample questions as anchors; whiteboard for clustering.

People / roles

A facilitator with ontology or modeling experience; two to four domain experts; one or two consumers (for example a data scientist or GraphRAG developer); a scribe for the question table.

Pre-read

Use-case description of the planned model; known data sources; existing vocabularies or ontologies for reuse; sample questions from similar projects as anchors.

Time needed

2-4 h

Setup

Prepare the table. Paste 3-5 sample questions as anchors (for example 'Which components depend on service X?'). State the rule: questions must be answerable by the model, not by Wikipedia.

03

Core question

The one question this method answers

Which concrete domain questions must the planned model be able to answer so that it is sufficient for the planned use cases and not oversized?

04

Flow

Marker: Phase

StepDurationActionHint
1Phase 1: Use-case briefing
20-30 minConsumers describe their use cases concretely. One to two example questions per use case. Clarify what Wikipedia or search can already deliver and where the model must add real value.If use cases stay vague ('somehow AI on top of it'), park them for now. Without a real question there is no useful competency question.
2Phase 2: Gather questions
45-60 minSilent phase plus round robin: each person formulates concrete domain questions the model must answer. At least 30 questions. One question per row. Include a concrete trigger example.If a question starts with 'What is ...?', it is usually a definition question rather than a modeling question. Rephrase it to 'Which ...?', 'How many ...?', or 'Which relationship ...?'.
3Phase 3: Cluster and prioritize
30-45 minCluster the questions (for example entity lookup, relationship query, aggregate, temporal question). Discuss coverage per cluster. Set priority: must-have, nice-to-have, out-of-scope. Mark out-of-scope explicitly.Out-of-scope questions are valuable as boundary definition. Removing them instead of marking them means losing the reason for later scope discussions.
4Phase 4: Derive concepts and test queries
30-45 minFor each must-have question, list the concepts, relationships, and properties the model needs. Sketch test queries from the top 3-5 questions as pseudocode (SPARQL, Cypher, GraphQL).If the same concepts show up in many questions, those are the core classes. If a question needs concepts that appear nowhere else, check whether it is truly must-have.
05

Artifact

What comes out at the end

Form

Table or Markdown document with numbered questions, priority, derived concepts, example test query, and coverage matrix against use cases. Serves as the acceptance basis for the model.

Versioning / ownership

Date and model version in the header. Let the question set grow in parallel with the model. Mark answered questions with a link to the model element instead of deleting them. Keep out-of-scope questions with a reason.

Tool alternatives
  • Markdown file in the ontology repo (for example docs/competency-questions.md)
  • Notion or Confluence page with a table
  • Google Sheet with a coverage matrix
  • Issue tracker (one issue per question with label cq)

competency-questions-working-template.md

Compact working template for Competency Questions with context, input, output artifacts, and next step.

Competency Questions Working Matrix

ElementDescriptionRatingEvidenceOwnerNext step
1
2
3

Output artifacts

  • Competency question set:
  • Required concepts:
  • Test queries:
  • Coverage matrix:

Decision or recommendation

What consequence follows from the matrix?

06

Example output

Concrete filled scenario, fictional example

competency-questions-beispiel.md

Concrete filled scenario, fictional example

Competency Questions - Knowledge Graph 'Service Dependencies' (v0.3, 18.05.2026)

Use Case 1: Incident Response: quickly see who is affected by an outage. Use Case 2: Architecture Review: find bottlenecks and single points of failure.

Must-have

  1. Which services directly depend on service X? Example: PaymentService. Concepts: Service, DEPENDS_ON.
  2. Which teams are owners of services that use DB cluster Y? Concepts: Team, OWNS, Service, USES, Database.
  3. How many transitive dependencies does service X have to depth 3? Concepts: Service, DEPENDS_ON*1..3.

Nice-to-have

  1. Which services share the same secret store?

Out-of-scope (v0.x)

  • Historical dependencies ('how was it 6 months ago'). Reason: versioning is not in v0.x.

Test query (question 1, Cypher)

MATCH (s:Service {name:'PaymentService'})<-[:DEPENDS_ON]-(c:Service)
RETURN c.name

Coverage v0.3: 9 of 12 must-have questions answerable. Gaps: questions 7, 10, 11 (concept SecretStore missing).

07

Pitfalls

Recognize symptoms and steer against them

Trap

Questions without consumers

Symptom

Modelers invent questions that nobody will ask, and test queries are not used in practice.

What to do

Bring at least two real consumers into the workshop. If that is not possible, run short interviews first and bring questions from those interviews.

Trap

Definition questions instead of model questions

Symptom

Questions like 'What is a microservice architecture?' appear in the list.

What to do

Such questions are glossary work, not model work. Rephrase into 'Which services are marked as microservice-style?' or remove them. Keep the glossary in a separate file.

Trap

Everything is must-have

Symptom

More than 80% of the questions are marked must-have, and prioritization is based on gut feeling.

What to do

Use a strict definition: must-have means it blocks a concrete use case. When in doubt, move it to nice-to-have. Use 60% must-have as a rough upper bound.

Trap

No test query

Symptom

Questions are written down, but nobody can explain how they would look as a technical query.

What to do

Sketch at least 3 top questions as pseudocode queries. If that is not possible, the question is either unclear or the model paradigm is wrong.

Trap

The set does not grow with the model

Symptom

The question set is written once and then never updated. Answered questions are not linked.

What to do

Keep the question set next to the model in the repo. Check coverage per model iteration and maintain links. A CI check can make gaps visible.

08

Stop criteria

Done signals checkable in under a minute

No domain experts and no consumers are available, so the questions would be synthetic.
The use case is not scoped and the model scope is unclear, so questions would scatter in all directions.
The model will be built in 1-2 sprints with no reuse claim, so deep question discovery is oversized.
Existing vocabularies already cover the use case, so the question set would not reveal gaps.
Workshop time is under 90 minutes, so phases 3 and 4 cannot be completed.
The data situation shows that many questions will not be answerable anyway (data missing), so model building would have no leverage.

Finished the runsheet?

Go to the profile for purpose, similar methods, and sources or continue to the next method in the catalog.