Concepts and Relationships
Comind’s knowledge representation is built around two core components: concepts and relationships. This architecture enables the system to create a natural knowledge graph where ideas accumulate connections over time.
Concepts: Singleton Knowledge Nodes
Concepts in Comind are singleton records that represent fundamental ideas, topics, or themes. Each concept exists exactly once in the system and can be referenced by multiple sources.
Concept Structure
A concept record contains only the essential information:
{
"$type": "me.comind.concept",
"concept": "distributed systems"
}
Key Properties
- Deterministic rkeys: Concepts use their text (lowercase, spaces converted to hyphens) as the record key, ensuring uniqueness
- Reusable: Multiple sources can reference the same concept without duplication
- Simple: Contains only the concept text, making them lightweight and focused
- Lexicon constraint: Concept text must match the pattern
[a-z0-9 ]+
(lowercase letters, numbers, and spaces only)
Relationships: Contextual Connections
Relationships are separate records that connect source content to concepts with semantic meaning. They capture how a source relates to a concept, not just that it relates.
Relationship Structure
{
"$type": "me.comind.relationship.concept",
"createdAt": "2025-01-28T12:00:00Z",
"source": "at://did:example/app.bsky.feed.post/abc123",
"target": "at://did:example/me.comind.concept/distributed-systems",
"relationship": "DESCRIBES"
}
Relationship Types
The system supports eight relationship types that capture different semantic connections:
- RELATES_TO: Default catch-all relationship
- DESCRIBES: Source describes or explains the concept
- MENTIONS: Weak reference, concept is just name-dropped
- EXEMPLIFIES: Source provides an example of the concept
- CONTRADICTS: Source contradicts or argues against the concept
- QUESTIONS: Source questions or challenges the concept
- SUPPORTS: Source supports or advocates for the concept
- CRITIQUES: Source provides critical analysis of the concept
Architecture Benefits
This separation of concerns provides several advantages:
Knowledge Graph Evolution
- Concepts naturally become connection points in the knowledge graph
- As more sources reference the same concept, it accumulates richer context
- The graph topology emerges organically from content patterns
Semantic Precision
- Relationships capture nuanced connections between content and concepts
- Different sources can relate to the same concept in different ways
- Enables sophisticated querying and analysis of semantic patterns
Scalability
- Concept deduplication prevents database bloat
- Relationship records scale independently of concept complexity
- New relationship types can be added without affecting existing concepts
How It Works in Practice
Concept Extraction: The conceptualizer processes content and identifies relevant concepts based on the sphere’s core perspective
Concept Creation: If a concept doesn’t exist, a singleton record is created with the concept text
Relationship Creation: A relationship record is created linking the source content to the concept with the appropriate semantic relationship
Graph Building: Over time, concepts accumulate multiple relationship connections, creating a rich knowledge graph
Example: Building Connections
Consider a Bluesky post about “Building reliable distributed systems requires careful attention to network partitions.”
The conceptualizer might extract:
- “distributed systems” (DESCRIBES)
- “reliability” (MENTIONS)
- “network partitions” (DESCRIBES)
This creates:
- Three concept records (if they don’t exist)
- Three relationship records connecting the post to each concept
- Future posts mentioning these concepts will reference the same concept records
Technical Implementation
- Lexicon:
me.comind.concept
for concepts,me.comind.relationship.concept
for relationships - Record Keys: Concepts use deterministic rkeys (text-based), relationships use system-generated rkeys
- Storage: ATProto repositories store both record types using the standard protocol
- Querying: Standard ATProto queries can traverse the concept-relationship graph
This architecture provides the foundation for Comind’s knowledge representation while maintaining the simplicity and openness of the ATProtocol ecosystem.