Start with a question, not a diagram
Ask one question your graph should answer: which source supports this claim, and which artifact depends on it? Name stable identifiers for source, claim, artifact, reviewer, task and review. A line between two boxes is useful only when the relationship has a precise meaning.
RDF represents statements as subject–predicate–object triples. Reusing identifiers lets different statements connect. That is a data model, not a guarantee that the statements are true. Evidence and domain judgment still matter. Keep a small example you can understand before adding graph infrastructure.
An ontology gives terms a shared meaning
Define each entity type and relationship with examples and non-examples. “Created by,” “reviewed by” and “approved by” should not collapse into a vague “associated with.” A review may find defects; an approval may authorize a particular action. Their effects differ.
OWL can express logical relationships among classes and properties. An application may also need explicit validation rules and database constraints. For example, require a source reference before accepting a claim into a digest. Do not assume that absence of a fact automatically means the fact is false; choose semantics deliberately.
Carry evidence and time through the graph
Attach provenance to the statement being made, not just to the whole collection. A claim may be supported by a dated passage and later superseded. Distinguish when something happened from when your system observed it. Those times answer different questions.
Test a query against a contradictory example and a missing edge. Can a reader trace the result back to a source? Can the graph distinguish a draft from an approved artifact? A useful graph makes a consequential question easier to answer correctly. A beautiful visualization is optional.
Inspect a small knowledge graph
Follow the claim back to evidence.
Claim · release-date
The draft states a release date. Its identifier stays stable so evidence and revisions can refer to the same claim.
- Supported by
- source:announcement-a
- Included in
- artifact:digest-v1
- Confidence
- Requires source inspection
The arrows are a simplified reading path. The records expose the actual relationship names.
A worked example · Illustrative
A small evidence vocabulary
source:announcement-a → supports → claim:release-date
claim:release-date → included-in → artifact:digest-v1
review:42 → evaluates → artifact:digest-v1
review:42 → found → issue:missing-timezone
artifact:digest-v2 → revises → artifact:digest-v1
Query: Which artifacts depend on a disputed source?
Constraint: reviewed-by does not imply approved-byPut the idea to work
Your practice
- Choose a question and create six entities with stable identifiers.
- Define four relationship types with examples and counterexamples.
- Add provenance and time to one disputed statement.
- Write a plain-language query and manually verify its expected answer.
