Reference
Edge types
knowmind uses a fully RDF/RDFS-grounded schema. Every node and every edge has a defined semantic role — no arbitrary tags, no implicit meanings.
Standards stack
knowmind aligns with established W3C and community vocabularies:foaf:Person,schema:Organization,prov:Activity,bibo:Document,org:Membership,dqv:QualityMeasurement,odrl:Policy,skos:Concept. This lets knowmind data move into other triple stores or semantic search stacks without schema migration.
Each node carries multiple RDF class labels simultaneously — for instance a Person node is at the same time :Person, :foaf_Person, :schema_Person, :prov_Person and :prov_Agent.
IRI namespace
Every resource gets a stable, tenant-prefixed IRI:
https://kg.knowmind.de/t/<tenant-uuid>/<segment>/<slug>
Examples:
https://kg.knowmind.de/t/{tenant}/memory/onboarding-handbook
https://kg.knowmind.de/t/{tenant}/chunk/onboarding-handbook/0003
https://kg.knowmind.de/t/{tenant}/emb/onboarding-handbook/0003
https://kg.knowmind.de/t/{tenant}/person/anna-mueller
https://kg.knowmind.de/t/{tenant}/policy/internal-confidentialThe tenant UUID is a required segment — cross-tenant IRIs are not allowed.
Classes
26 core classes, each aligned with W3C standards. You can add your own subclasses with a tag or a type property — knowmind turns them into rdfs:subClassOf relations automatically.
| Class | Standard mapping | Purpose |
|---|---|---|
| Person | foaf:Person, schema:Person, prov:Person, prov:Agent | A natural person — user, contact, author. |
| PseudonymizedPerson | Person + pseudonymised | A pseudonymised person, used when the clear name must not be persisted (GDPR). |
| Organization | org:Organization, schema:Organization, prov:Agent | Company, public authority, association, group. |
| Client | Organization + client role | An organisation you have a business relationship with. |
| Supplier | Organization + supplier role | An external service provider or supplier. |
| Role | org:Role, skos:Concept | A functional role (CTO, project lead, consultant…). |
| Skill | skos:Concept | Capability or competency, attached to a person or role. |
| Project | — | A time-bounded undertaking with clear goals. |
| Meeting | schema:Event | Meeting — connects people, projects, documents. |
| Document | schema:DigitalDocument, bibo:Document | A knowledge artifact: note, memo, spec, whitepaper. |
| DocumentVersion | bibo:Document, prov:Entity | A concrete version of a document — versioned over time. |
| Contract | bibo:LegalDocument | A contract — a specialisation of Document with extra required fields (parties, term). |
| Chunk | prov:Entity | Content section of a DocumentVersion — the recall unit. |
| Embedding | prov:Entity | Vector representation of a chunk — foundation of semantic recall. |
| Tool | schema:SoftwareApplication | Software used as a tool (Claude Code, Cursor, ChatGPT). |
| Application | schema:SoftwareApplication | Application software you use or build yourself. |
| Product | schema:Product | A product in the portfolio — your own or someone else's. |
| Service | schema:Service | A service offered. |
| DataSource | prov:Entity | A data source — mailbox, S3 bucket, API, import path. |
| PipelineRun | prov:Activity | A pipeline run (import, embedding, migration) — provenance-relevant. |
| QualityMetric | dqv:Metric | A quality metric (e.g. Recall@5). |
| QualityMeasurement | dqv:QualityMeasurement | A single measurement of a QualityMetric with value and timestamp. |
| AccessPolicy | odrl:Policy | Access policy (public, internal, internal-confidential, restricted). |
| ConsentRecord | — | Privacy consent — who consented to what, when. |
| Tombstone | — | Marker for deleted content — GDPR-driven but provenance-preserving. |
| DeletionEvent | prov:Activity | The deletion event itself — who, when, why. |
Edge types
knowmind defines 21 semantically typed edge classes. Each has a defined domain, a range, and — when bidirectional — an automatically materialised inverse edge. When you create a forward edge, the inverse appears instantly with the same tenant ID.
| Relation | From | To | Inverse | Semantics |
|---|---|---|---|---|
| HAS_EMPLOYEE | Organization | Person | IS_EMPLOYEE_OF | The person is employed by the organisation. |
| IS_LED_BY | Organization | Person | LEADS_ORGANIZATION | The person leads the organisation. |
| OWNS | Person | Organization | Tool | Product | DataSource | OWNED_BY | Ownership relation. |
| HAS_SKILL | Person | Role | Skill | — | The skill is assigned to the person or role. |
| WORKS_ON | Person | Role | Project | — | Participation in a project. |
| FOR_CLIENT | Project | Document | Client | — | The project or document belongs to a client mandate. |
| HAS_VERSION | Document | DocumentVersion | IS_VERSION_OF | Document has this version. |
| HAS_CHUNK | DocumentVersion | Chunk | CHUNK_OF | DocumentVersion is split into this chunk. |
| HAS_EMBEDDING | Chunk | Embedding | EMBEDDING_OF | Chunk has this embedding. |
| INDEXED_IN | Embedding | VectorIndex | — | Embedding lives in this ANN index. |
| REFERENCES_ENTITY | Document | Chunk | Person | Organization | Project | Product … | REFERENCED_BY | Content reference — this person or thing is mentioned in the document. |
| PRODUCES | Tool | Service | Document | Product | PRODUCED_BY | Output of an activity. |
| DEPENDS_ON | * | * | ENABLES | Dependency — A only works if B exists. |
| APPLIES_TO | QualityMeasurement | AccessPolicy | * | HAS_RULE | Rule or measurement applies to the target resource. |
| REFERENCES | Document | Document | REFERENCED_BY | Document cites or references another document. |
| SUPERSEDES | Document | DocumentVersion | Document | DocumentVersion | SUPERSEDED_BY | A newer version replaces an older one. |
| WAS_GENERATED_BY | * | PipelineRun | DeletionEvent | GENERATED | PROV-O — this resource was produced by a run. |
| USED | PipelineRun | * | USED_BY | PROV-O — the run consumed this resource. |
| WAS_DERIVED_FROM | * | * | DERIVATION_TARGET_OF | PROV-O — content is derived from another piece of content. |
| WAS_ASSOCIATED_WITH | PipelineRun | DeletionEvent | Person | Tool | — | PROV-O — the agent that triggered the run. |
| MEASURED_METRIC | QualityMeasurement | QualityMetric | — | DQV — this measurement belongs to that metric. |
How to maintain relations
Three ways to create an edge:
- Implicit on save — if a memory contains tags such as
@project-heliosor[[ada-lovelace]], knowmind creates aREFERENCES_ENTITYedge automatically. - Via the API — POST
/api/graph/relationswith{ fromId, toId, relType, properties }. The typed edge is created, the inverse edge appears automatically. - In the dashboard — every memory detail page has a "Relations" area where you pick one of the 21 edge types and choose the target resource.
Validation: SHACL constraints enforce domain and range. On violation the edge is rejected with a clear error message — no broken relations in the graph.
Example — consulting mandate
(Anna Müller :Person)
-[:HAS_SKILL]-> (AI strategy :Skill)
-[:IS_EMPLOYEE_OF]-> (Acme Consulting :Organization)
-[:WORKS_ON]-> (Project Helios :Project)
-[:FOR_CLIENT]-> (Müller Maschinenbau :Client)
-[:HAS_DOCUMENT]-> (Workshop memo 2026-03-12 :Document)
-[:HAS_VERSION]-> (Workshop memo v1 :DocumentVersion)
-[:HAS_CHUNK]-> (Chunk 0001 :Chunk)
-[:HAS_EMBEDDING]-> (Embedding :Embedding)
-[:INDEXED_IN]-> (sc-internal-idx :VectorIndex)
-[:GOVERNED_BY]-> (internal-confidential :AccessPolicy)Related: Recall pipeline · REST interface · Deutsche Version