brainy/docs/architecture/noun-verb-taxonomy.md
David Snelling 35b9d7ef43 refactor(8.0)!: remove orphaned zero-config subsystem + dead cloud/progressive-init storage vestige
The old config-generation subsystem (src/config/ + autoConfiguration.ts) was
superseded during the 8.0 rework and never wired into init(): it emitted settings
for a partitioning subsystem that no longer exists and probed deleted cloud env
vars. The live zero-config path is inline — recall preset → HNSW knobs, storage
auto-detect, auto persistMode, container-memory-aware cache sizing.

The storage progressive-init / cloud-detection cluster was equally dead after the
cloud adapters were dropped: isCloudStorage() is permanently false (no overriders),
scheduleBackgroundInit/runBackgroundInit were never called (the latter an empty
body), initMode was never assigned, and Brainy.isFullyInitialized()/
awaitBackgroundInit() were always-trivial with zero callers. scheduleCountPersist()
collapses to its only-ever-taken immediate write-through path.

Removed:
- src/config/{index,zeroConfig,storageAutoConfig,modelAutoConfig,sharedConfigManager}.ts
- src/utils/autoConfiguration.ts + the inert BrainyZeroConfig export
- Brainy.isFullyInitialized()/awaitBackgroundInit() (+ BrainyInterface decls)
- InitMode type, isCloudStorage/detectCloudEnvironment/resolveInitMode,
  scheduleBackgroundInit/runBackgroundInit/ensureValidatedForWrite and their state
- Dead cloud env-var probes (K_SERVICE/K_REVISION/AWS_LAMBDA_FUNCTION_NAME/
  FUNCTIONS_TARGET/AZURE_FUNCTIONS_ENVIRONMENT)

Kept (verified live): production-detection logging (environment.ts), container-
memory cache sizing (memoryDetection/paramValidation), on-disk hash bucketing
(sharding.ts).

Docs: scrubbed deleted-subsystem references (JS quantization knobs, cloud/OPFS
adapters, partitioning, old zero-config API) across 14 files; deleted two wholly-
obsolete feature docs (complete-feature-list, v3-features); rewrote
architecture/zero-config for 8.0.

~3,700 LOC removed. Build clean; 1392 unit + 24 db-mvcc green.
2026-06-15 11:11:21 -07:00

1569 lines
No EOL
38 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Noun & Verb Types
slug: concepts/noun-types
public: true
category: concepts
template: concept
order: 2
description: 42 NounTypes and 127 VerbTypes cover 96-97% of all human knowledge. The universal vocabulary for structuring anything from people and documents to events and relationships.
next:
- concepts/triple-intelligence
- api/reference
---
# The Universal Knowledge Protocol: Noun-Verb Taxonomy
> **Brainy is the Universal Knowledge Protocol™ powered by Triple Intelligence™**
>
> We're the world's first to unify vector, graph, and document search in one magical API. This breakthrough—Triple Intelligence—enables us to create a universal language for knowledge that all tools, augmentations, and AI models can speak.
## Universal & Infinite Expressiveness
Brainy's **Noun-Verb Taxonomy** achieves **universal coverage** of all human knowledge through **infinite expressiveness**:
- **42 Noun Types × 127 Verb Types = 5,334 Base Combinations**
- **Unlimited Metadata Fields = ∞ Domain Specificity**
- **Multi-hop Graph Traversals = ∞ Relationship Complexity**
- **Result: Can Model ANY Data in ANY Industry**
This isn't marketing—it's mathematically provable. Every piece of information that exists can be represented as entities (nouns) connected by relationships (verbs) with properties (metadata).
## The Power of Standardization: Universal Interoperability
### Why Standardized Types = Seamless Integration
The standardized noun-verb taxonomy creates a **universal language** that enables:
#### 1. **Tool Interoperability**
```typescript
// Any tool that understands Brainy types can work with any other
const analyticsAugmentation = await brain.augment('analytics')
const visualizationAugmentation = await brain.augment('visualization')
// Both understand "person", "document", "creates" without translation
const authors = await analyticsAugmentation.findTopAuthors()
await visualizationAugmentation.graphRelationships(authors)
```
#### 2. **Data Portability**
```typescript
// Snapshot from one Brainy instance, restore into another —
// types are universally understood
const pin = brain1.now()
await pin.persist('/snapshots/brain1')
await pin.release()
const brain2 = await Brainy.load('/snapshots/brain1') // Types match perfectly
```
#### 3. **AI Model Compatibility**
```typescript
// Different AI models can share the same knowledge graph
const gptBrain = await brain.connectModel('gpt-4')
const claudeBrain = await brain.connectModel('claude-3')
const llamaBrain = await brain.connectModel('llama-2')
// All models understand the same noun-verb structure
const knowledge = await brain.add("Quantum Computer", { type: "thing" })
// Any model can now reason about this knowledge
```
#### 4. **Augmentation Ecosystem**
```typescript
// Augmentations build on standard types, ensuring compatibility
await brain.augment.install('medical-records') // Extends "person" type
await brain.augment.install('financial-analysis') // Extends "transaction" events
await brain.augment.install('social-graph') // Uses "follows", "likes" verbs
// All augmentations work together seamlessly
const patient = await brain.find("patient with financial transactions who follows Dr. Smith")
```
#### 5. **Cross-Platform Integration**
```typescript
// Standard types enable integration with external systems
// CRM understands "person" and "organization"
await brain.sync.salesforce({
mapping: {
Contact: "person",
Account: "organization",
Opportunity: "event"
}
})
// Project management understands "task" and "project"
await brain.sync.jira({
mapping: {
Issue: "task",
Epic: "project",
Sprint: "event"
}
})
```
### The Network Effect: Brainy as the Universal Knowledge Protocol
Like **HTTP** became the protocol for the web and **TCP/IP** for the internet, Brainy's noun-verb taxonomy is becoming the **Universal Knowledge Protocol**:
- **Learn Once**: Developers learn 42 nouns + 127 verbs, not 1000s of schemas
- **Build Anywhere**: Tools built for one domain work in others
- **Share Everything**: Knowledge graphs are universally shareable
- **Compose Freely**: Augmentations compose without conflicts
This isn't just a database—it's a **protocol for how humanity represents knowledge**.
## Overview
Brainy 2.0 introduces a revolutionary **Noun-Verb Taxonomy** that models data as entities (nouns) and relationships (verbs), creating a semantic knowledge graph that mirrors how humans naturally think about information.
## Why Noun-Verb?
Traditional databases force you to think in tables, documents, or nodes. Brainy lets you think naturally:
- **Nouns**: Things that exist (people, documents, products, concepts)
- **Verbs**: How things relate (creates, owns, references, similar-to)
This simple mental model scales from basic storage to complex knowledge graphs while remaining intuitive.
## Core Concepts
### Nouns (Entities)
Nouns represent any entity in your system:
```typescript
// Add any entity as a noun
const personId = await brain.add("John Smith, Senior Engineer", {
type: "person",
department: "engineering",
skills: ["TypeScript", "React", "Node.js"]
})
const documentId = await brain.add("Q3 2024 Financial Report", {
type: "document",
category: "financial",
confidential: true,
created: "2024-10-01"
})
const conceptId = await brain.add("Machine Learning", {
type: "concept",
domain: "technology",
complexity: "advanced"
})
```
#### Noun Properties
Every noun automatically gets:
- **Unique ID**: System-generated or custom
- **Vector Embedding**: For semantic similarity
- **Metadata**: Flexible JSON properties
- **Timestamps**: Created/updated tracking
- **Indexing**: Automatic field indexing
### Verbs (Relationships)
Verbs define how nouns relate to each other:
```typescript
// Create relationships between entities
await brain.relate(personId, documentId, "authored", {
role: "primary_author",
contribution: "80%"
})
await brain.relate(documentId, conceptId, "discusses", {
sections: ["methodology", "results"],
depth: "detailed"
})
await brain.relate(personId, conceptId, "expert_in", {
years_experience: 5,
certification: "Advanced ML Certification"
})
```
#### Verb Properties
Every verb includes:
- **Source**: The noun initiating the relationship
- **Target**: The noun receiving the relationship
- **Type**: The relationship type/name
- **Direction**: Directional or bidirectional
- **Metadata**: Relationship-specific data
- **Strength**: Optional relationship weight
## Benefits
### 1. Natural Mental Model
```typescript
// Think naturally about your data
const taskId = await brain.add("Implement payment system")
const userId = await brain.add("Alice Johnson")
const projectId = await brain.add("E-commerce Platform")
// Express relationships clearly
await brain.relate(userId, taskId, "assigned_to")
await brain.relate(taskId, projectId, "part_of")
await brain.relate(userId, projectId, "manages")
```
### 2. Semantic Understanding
The noun-verb model preserves meaning:
```typescript
// The system understands semantic relationships
const results = await brain.find("tasks assigned to Alice")
// Automatically understands: assigned_to verb + Alice noun
const related = await brain.find("people who manage projects with payment tasks")
// Traverses: person -> manages -> project -> contains -> task
```
### 3. Flexible Schema
No rigid schema requirements:
```typescript
// Add any noun type without schema changes
await brain.add("New IoT Sensor", {
type: "device",
protocol: "MQTT",
location: "Building A"
})
// Create new relationship types on the fly
await brain.relate(sensorId, buildingId, "monitors", {
metrics: ["temperature", "humidity"],
interval: "5 minutes"
})
```
### 4. Graph Traversal
Navigate relationships naturally:
```typescript
// Find all documents authored by team members
const teamDocs = await brain.find({
connected: {
from: teamId,
through: ["member_of", "authored"],
depth: 2
}
})
// Find similar products purchased by similar users
const recommendations = await brain.find({
connected: {
from: userId,
through: ["similar_to", "purchased"],
depth: 2,
type: "product"
}
})
```
### 5. Temporal Relationships
Track how relationships change over time:
```typescript
// Relationships with temporal data
await brain.relate(employeeId, companyId, "worked_at", {
from: "2020-01-01",
to: "2023-12-31",
position: "Senior Developer"
})
await brain.relate(employeeId, newCompanyId, "works_at", {
from: "2024-01-01",
position: "Tech Lead"
})
// Query historical relationships
const employment = await brain.find("where did John work in 2022")
```
## Real-World Use Cases
### Knowledge Management
```typescript
// Documents and their relationships
const paperId = await brain.add("Neural Networks Paper", {
type: "research_paper",
year: 2024
})
const authorId = await brain.add("Dr. Sarah Chen", {
type: "researcher"
})
const topicId = await brain.add("Deep Learning", {
type: "topic"
})
// Rich relationship network
await brain.relate(authorId, paperId, "authored")
await brain.relate(paperId, topicId, "covers")
await brain.relate(paperId, otherPaperId, "cites")
await brain.relate(authorId, topicId, "researches")
// Query the knowledge graph
const related = await brain.find("papers about deep learning by Sarah Chen")
```
### Social Networks
```typescript
// Users and connections
const user1 = await brain.add("Alice", { type: "user" })
const user2 = await brain.add("Bob", { type: "user" })
const post = await brain.add("Great article on AI!", { type: "post" })
// Social interactions
await brain.relate(user1, user2, "follows")
await brain.relate(user2, user1, "follows") // Mutual
await brain.relate(user1, post, "created")
await brain.relate(user2, post, "liked")
await brain.relate(user2, post, "shared")
// Find social patterns
const influencers = await brain.find("users with most followers who post about AI")
```
### E-commerce
```typescript
// Products and purchases
const product = await brain.add("Wireless Headphones", {
type: "product",
price: 99.99,
category: "electronics"
})
const customer = await brain.add("Customer #12345", {
type: "customer",
tier: "premium"
})
// Purchase relationships
await brain.relate(customer, product, "purchased", {
date: "2024-01-15",
quantity: 1,
price: 99.99
})
await brain.relate(customer, product, "reviewed", {
rating: 5,
text: "Excellent sound quality!"
})
// Recommendation queries
const recs = await brain.find("products purchased by customers who bought headphones")
```
### Project Management
```typescript
// Projects, tasks, and teams
const project = await brain.add("Website Redesign", { type: "project" })
const task = await brain.add("Update homepage", { type: "task" })
const developer = await brain.add("Jane Developer", { type: "person" })
const designer = await brain.add("John Designer", { type: "person" })
// Work relationships
await brain.relate(task, project, "belongs_to")
await brain.relate(developer, task, "assigned_to")
await brain.relate(designer, developer, "collaborates_with")
await brain.relate(task, otherTask, "depends_on")
// Project queries
const blockers = await brain.find("tasks that depend on incomplete tasks")
const workload = await brain.find("people assigned to multiple active projects")
```
## Advanced Patterns
### Bidirectional Relationships
```typescript
// Some relationships are naturally bidirectional
await brain.relate(user1, user2, "friend_of", { bidirectional: true })
// Automatically creates inverse relationship
```
### Weighted Relationships
```typescript
// Add strength/weight to relationships
await brain.relate(doc1, doc2, "similar_to", {
similarity_score: 0.95,
algorithm: "cosine"
})
// Use weights in queries
const stronglyRelated = await brain.find({
connected: {
type: "similar_to",
minWeight: 0.8
}
})
```
### Relationship Chains
```typescript
// Follow relationship chains
const results = await brain.find({
connected: {
from: userId,
chain: [
{ type: "owns", to: "company" },
{ type: "produces", to: "product" },
{ type: "uses", to: "technology" }
]
}
})
// Finds: technologies used by products made by companies owned by user
```
### Meta-Relationships
```typescript
// Relationships about relationships
const verbId = await brain.relate(user1, user2, "recommends")
await brain.relate(user3, verbId, "endorses", {
reason: "Accurate recommendation",
trust_score: 0.9
})
```
## Query Patterns
### Finding Nouns
```typescript
// By type
const people = await brain.find({ where: { type: "person" } })
// By properties
const documents = await brain.find({
where: {
type: "document",
confidential: false,
created: { $gte: "2024-01-01" }
}
})
// By similarity
const similar = await brain.find({
like: "machine learning research",
where: { type: "document" }
})
```
### Finding Verbs
```typescript
// Get all relationships for a noun
const relationships = await brain.getVerbs(nounId)
// Find specific relationship types
const authorships = await brain.find({
verb: {
type: "authored",
from: authorId
}
})
// Find by relationship properties
const recentPurchases = await brain.find({
verb: {
type: "purchased",
where: {
date: { $gte: "2024-01-01" }
}
}
})
```
### Combined Queries
```typescript
// Find nouns through relationships
const results = await brain.find({
// Start with similar documents
like: "AI research",
// That are authored by
connected: {
through: "authored",
// People who work at
where: {
connected: {
to: "Stanford",
type: "works_at"
}
}
}
})
```
## Performance Optimizations
### Noun Indexing
- Automatic vector indexing for similarity
- Field indexing for metadata queries
- Full-text indexing for content search
### Verb Indexing
- Relationship type indexing
- Source/target indexing
- Temporal indexing for time-based queries
### Query Optimization
- Automatic query plan optimization
- Parallel execution of independent operations
- Result caching for repeated queries
## Best Practices
1. **Use Descriptive Types**: Make noun and verb types self-documenting
2. **Rich Metadata**: Include relevant metadata for better querying
3. **Consistent Naming**: Use consistent verb names across your application
4. **Temporal Data**: Include timestamps for time-based analysis
5. **Bidirectional When Appropriate**: Mark symmetric relationships as bidirectional
## Migration from Traditional Models
### From Relational (SQL)
```typescript
// Instead of JOIN queries
// SELECT * FROM users JOIN orders ON users.id = orders.user_id
// Use noun-verb relationships
const userId = await brain.add("User", userData)
const orderId = await brain.add("Order", orderData)
await brain.relate(userId, orderId, "placed")
// Query naturally
const userOrders = await brain.find({
connected: { from: userId, type: "placed" }
})
```
### From Document (NoSQL)
```typescript
// Instead of embedded documents
// { user: { orders: [...] } }
// Use explicit relationships
const userId = await brain.add("User", userData)
for (const order of orders) {
const orderId = await brain.add("Order", order)
await brain.relate(userId, orderId, "has_order")
}
```
### From Graph Databases
```typescript
// Similar to graph databases but with added benefits:
// 1. Automatic vector embeddings for similarity
// 2. Natural language querying
// 3. Unified with metadata filtering
// Enhanced graph queries
const results = await brain.find("similar users who purchased similar products")
```
## Universal Knowledge Coverage
The Noun-Verb taxonomy is designed to represent **all human knowledge** through a comprehensive set of types that can be combined infinitely.
### Complete Noun Types (31 Types)
#### Core Entity Types (6)
##### 1. **Person** - Individual human entities
```typescript
await brain.add("Albert Einstein", {
type: "person",
role: "physicist",
born: "1879-03-14"
})
```
##### 2. **Organization** - Collective entities
```typescript
await brain.add("OpenAI", {
type: "organization",
industry: "AI research",
founded: 2015
})
```
##### 3. **Location** - Geographic and spatial entities
```typescript
await brain.add("San Francisco", {
type: "location",
category: "city",
coordinates: [37.7749, -122.4194]
})
```
##### 4. **Thing** - Physical objects
```typescript
await brain.add("Tesla Model 3", {
type: "thing",
category: "vehicle",
manufacturer: "Tesla"
})
```
##### 5. **Concept** - Abstract ideas and intangibles
```typescript
await brain.add("Machine Learning", {
type: "concept",
domain: "technology",
complexity: "advanced"
})
```
##### 6. **Event** - Temporal occurrences
```typescript
await brain.add("Product Launch 2024", {
type: "event",
date: "2024-09-15",
attendees: 500
})
```
#### Digital/Content Types (5)
##### 7. **Document** - Text-based files
```typescript
await brain.add("Quarterly Report", {
type: "document",
format: "PDF",
pages: 47
})
```
##### 8. **Media** - Non-text media files
```typescript
await brain.add("Product Demo Video", {
type: "media",
format: "MP4",
duration: "5:30"
})
```
##### 9. **File** - Generic digital files
```typescript
await brain.add("config.json", {
type: "file",
size: "2KB",
modified: Date.now()
})
```
##### 10. **Message** - Communication content
```typescript
await brain.add("Support ticket #1234", {
type: "message",
priority: "high",
channel: "email"
})
```
##### 11. **Content** - Generic content
```typescript
await brain.add("Landing page copy", {
type: "content",
category: "marketing",
language: "en"
})
```
#### Collection Types (2)
##### 12. **Collection** - Groups of items
```typescript
await brain.add("Premium Features", {
type: "collection",
items: 25,
category: "features"
})
```
##### 13. **Dataset** - Structured data collections
```typescript
await brain.add("Customer Analytics", {
type: "dataset",
records: 10000,
schema: "v2"
})
```
#### Business/Application Types (5)
##### 14. **Product** - Commercial offerings
```typescript
await brain.add("Pro Subscription", {
type: "product",
price: 99.99,
tier: "premium"
})
```
##### 15. **Service** - Service offerings
```typescript
await brain.add("Cloud Hosting", {
type: "service",
sla: "99.9%",
region: "us-west"
})
```
##### 16. **User** - User accounts
```typescript
await brain.add("user@example.com", {
type: "user",
tier: "enterprise",
created: Date.now()
})
```
##### 17. **Task** - Actions and todos
```typescript
await brain.add("Deploy v2.0", {
type: "task",
priority: "high",
assignee: "devops"
})
```
##### 18. **Project** - Organized initiatives
```typescript
await brain.add("Website Redesign", {
type: "project",
deadline: "2024-12-31",
status: "active"
})
```
#### Descriptive Types (7)
##### 19. **Process** - Workflows and procedures
```typescript
await brain.add("CI/CD Pipeline", {
type: "process",
steps: 7,
automated: true
})
```
##### 20. **State** - Conditions or status
```typescript
await brain.add("System Health", {
type: "state",
status: "operational",
uptime: "99.99%"
})
```
##### 21. **Role** - Positions or responsibilities
```typescript
await brain.add("Admin Role", {
type: "role",
permissions: ["read", "write", "delete"],
level: "superuser"
})
```
##### 22. **Topic** - Subjects or themes
```typescript
await brain.add("Machine Learning", {
type: "topic",
field: "AI",
popularity: "high"
})
```
##### 23. **Language** - Languages or linguistic entities
```typescript
await brain.add("English", {
type: "language",
iso_code: "en",
speakers_millions: 1500
})
```
##### 24. **Currency** - Monetary units
```typescript
await brain.add("US Dollar", {
type: "currency",
symbol: "$",
code: "USD"
})
```
##### 25. **Measurement** - Metrics or quantities
```typescript
await brain.add("Temperature Reading", {
type: "measurement",
value: 23.5,
unit: "celsius"
})
```
#### Scientific/Research Types (2)
##### 26. **Hypothesis** - Scientific theories and propositions
```typescript
await brain.add("String Theory", {
type: "hypothesis",
field: "physics",
status: "unproven"
})
```
##### 27. **Experiment** - Studies and research trials
```typescript
await brain.add("Clinical Trial XYZ", {
type: "experiment",
phase: 3,
participants: 1000
})
```
#### Legal/Regulatory Types (2)
##### 28. **Contract** - Legal agreements and terms
```typescript
await brain.add("Service Agreement", {
type: "contract",
duration: "2 years",
value: 100000
})
```
##### 29. **Regulation** - Laws and compliance requirements
```typescript
await brain.add("GDPR", {
type: "regulation",
jurisdiction: "EU",
category: "data protection"
})
```
#### Technical Infrastructure Types (2)
##### 30. **Interface** - APIs and protocols
```typescript
await brain.add("REST API", {
type: "interface",
version: "v2",
endpoints: 45
})
```
##### 31. **Resource** - Infrastructure and compute assets
```typescript
await brain.add("Database Server", {
type: "resource",
capacity: "1TB",
availability: "99.9%"
})
```
### Complete Verb Types (40 Types)
#### Core Relationship Types (5)
##### 1. **RelatedTo** - Generic relationship (default)
```typescript
await brain.relate(entityA, entityB, "relatedTo")
```
##### 2. **Contains** - Containment relationship
```typescript
await brain.relate(folderId, fileId, "contains")
```
##### 3. **PartOf** - Part-whole relationship
```typescript
await brain.relate(componentId, systemId, "partOf")
```
##### 4. **LocatedAt** - Spatial relationship
```typescript
await brain.relate(deviceId, locationId, "locatedAt")
```
##### 5. **References** - Citation relationship
```typescript
await brain.relate(paperId, sourceId, "references")
```
#### Temporal/Causal Types (5)
##### 6. **Precedes** - Temporal sequence (before)
```typescript
await brain.relate(event1Id, event2Id, "precedes")
```
##### 7. **Succeeds** - Temporal sequence (after)
```typescript
await brain.relate(event2Id, event1Id, "succeeds")
```
##### 8. **Causes** - Causal relationship
```typescript
await brain.relate(actionId, effectId, "causes")
```
##### 9. **DependsOn** - Dependency relationship
```typescript
await brain.relate(moduleId, libraryId, "dependsOn")
```
##### 10. **Requires** - Necessity relationship
```typescript
await brain.relate(taskId, resourceId, "requires")
```
#### Creation/Transformation Types (5)
##### 11. **Creates** - Creation relationship
```typescript
await brain.relate(authorId, documentId, "creates")
```
##### 12. **Transforms** - Transformation relationship
```typescript
await brain.relate(processId, dataId, "transforms")
```
##### 13. **Becomes** - State change relationship
```typescript
await brain.relate(caterpillarId, butterflyId, "becomes")
```
##### 14. **Modifies** - Modification relationship
```typescript
await brain.relate(editorId, fileId, "modifies")
```
##### 15. **Consumes** - Consumption relationship
```typescript
await brain.relate(processId, resourceId, "consumes")
```
#### Ownership/Attribution Types (4)
##### 16. **Owns** - Ownership relationship
```typescript
await brain.relate(userId, assetId, "owns")
```
##### 17. **AttributedTo** - Attribution relationship
```typescript
await brain.relate(quoteId, authorId, "attributedTo")
```
##### 18. **CreatedBy** - Creation attribution
```typescript
await brain.relate(productId, teamId, "createdBy")
```
##### 19. **BelongsTo** - Belonging relationship
```typescript
await brain.relate(itemId, collectionId, "belongsTo")
```
#### Social/Organizational Types (9)
##### 20. **MemberOf** - Membership relationship
```typescript
await brain.relate(userId, organizationId, "memberOf")
```
##### 21. **WorksWith** - Professional relationship
```typescript
await brain.relate(employee1Id, employee2Id, "worksWith")
```
##### 22. **FriendOf** - Friendship relationship
```typescript
await brain.relate(user1Id, user2Id, "friendOf")
```
##### 23. **Follows** - Following relationship
```typescript
await brain.relate(followerId, influencerId, "follows")
```
##### 24. **Likes** - Liking relationship
```typescript
await brain.relate(userId, postId, "likes")
```
##### 25. **ReportsTo** - Reporting relationship
```typescript
await brain.relate(employeeId, managerId, "reportsTo")
```
##### 26. **Supervises** - Supervisory relationship
```typescript
await brain.relate(managerId, employeeId, "supervises")
```
##### 27. **Mentors** - Mentorship relationship
```typescript
await brain.relate(seniorId, juniorId, "mentors")
```
##### 28. **Communicates** - Communication relationship
```typescript
await brain.relate(sender, receiver, "communicates")
```
#### Descriptive/Functional Types (8)
##### 29. **Describes** - Descriptive relationship
```typescript
await brain.relate(documentId, conceptId, "describes")
```
##### 30. **Defines** - Definition relationship
```typescript
await brain.relate(glossaryId, termId, "defines")
```
##### 31. **Categorizes** - Categorization relationship
```typescript
await brain.relate(taxonomyId, itemId, "categorizes")
```
##### 32. **Measures** - Measurement relationship
```typescript
await brain.relate(sensorId, metricId, "measures")
```
##### 33. **Evaluates** - Evaluation relationship
```typescript
await brain.relate(reviewerId, proposalId, "evaluates")
```
##### 34. **Uses** - Utilization relationship
```typescript
await brain.relate(applicationId, libraryId, "uses")
```
##### 35. **Implements** - Implementation relationship
```typescript
await brain.relate(classId, interfaceId, "implements")
```
##### 36. **Extends** - Extension relationship
```typescript
await brain.relate(childClassId, parentClassId, "extends")
```
#### Enhanced Relationships (4)
##### 37. **Inherits** - Inheritance relationship
```typescript
await brain.relate(childId, parentId, "inherits")
```
##### 38. **Conflicts** - Conflict relationship
```typescript
await brain.relate(policy1Id, policy2Id, "conflicts")
```
##### 39. **Synchronizes** - Synchronization relationship
```typescript
await brain.relate(service1Id, service2Id, "synchronizes")
```
##### 40. **Competes** - Competition relationship
```typescript
await brain.relate(company1Id, company2Id, "competes")
```
## Coverage Completeness Analysis
### Is Anything Missing?
While we could add more specific verb types (like "approves", "delegates", "shares"), our current taxonomy is **mathematically complete** for several reasons:
#### 1. Generic Fallbacks
- **`Custom` noun type**: For any entity that doesn't fit standard types
- **`RelatedTo` verb type**: For any relationship not explicitly defined
- **Unlimited metadata**: Any additional semantics via properties
#### 2. Semantic Flexibility Through Metadata
Instead of adding dozens more verb types, we use metadata for specificity:
```typescript
// Instead of adding "approves" verb:
await brain.relate(managerId, requestId, "evaluates", {
result: "approved",
timestamp: Date.now()
})
// Instead of adding "shares" verb:
await brain.relate(userId, documentId, "communicates", {
action: "shared",
permissions: "read-only"
})
// Instead of adding "delegates" verb:
await brain.relate(managerId, taskId, "creates", {
delegatedTo: employeeId,
authority: "full"
})
```
#### 3. Edge Cases Are Covered
Even exotic scenarios work with our current types:
```typescript
// Quantum computing
const qubitId = await brain.add("Qubit-1", {
type: "thing",
subtype: "quantum_bit",
superposition: [0.707, 0.707]
})
// Cryptocurrency transactions
const txId = await brain.add("Bitcoin Transfer", {
type: "event",
subtype: "blockchain_transaction",
hash: "1A2B3C..."
})
// AI model training
const modelId = await brain.add("Neural Network", {
type: "process",
subtype: "ml_model",
architecture: "transformer"
})
```
### The Philosophy: Simplicity Over Specificity
We intentionally keep the type system minimal because:
1. **Fewer types = easier to learn**
2. **Metadata provides infinite extensibility**
3. **Consistent patterns across domains**
4. **Avoids taxonomy explosion**
## Industry-Specific Coverage Analysis
### Why 42 Nouns + 127 Verbs = Universal Coverage
The combination of **31 noun types** and **40 verb types** creates **1,240 basic combinations**, but with metadata and multi-hop relationships, this expands to **infinite expressiveness**. Here's how it covers every industry:
### Healthcare & Medical
```typescript
// Patient records with medical history
const patientId = await brain.add("John Doe", {
type: "person",
subtype: "patient",
mrn: "12345"
})
const diagnosisId = await brain.add("Type 2 Diabetes", {
type: "state",
subtype: "diagnosis",
icd10: "E11.9"
})
const medicationId = await brain.add("Metformin", {
type: "thing",
subtype: "medication",
dosage: "500mg"
})
// Medical relationships
await brain.relate(patientId, diagnosisId, "diagnoses")
await brain.relate(medicationId, diagnosisId, "treats")
await brain.relate(doctorId, patientId, "treats")
```
### Finance & Banking
```typescript
// Financial instruments and transactions
const accountId = await brain.add("Checking Account", {
type: "thing",
subtype: "account",
balance: 10000
})
const transactionId = await brain.add("Wire Transfer", {
type: "event",
subtype: "transaction",
amount: 5000
})
const regulationId = await brain.add("GDPR Compliance", {
type: "concept",
subtype: "regulation"
})
// Financial relationships
await brain.relate(customerId, accountId, "owns")
await brain.relate(transactionId, accountId, "modifies")
await brain.relate(accountId, regulationId, "compliesWith")
```
### Manufacturing & Supply Chain
```typescript
// Production and logistics
const factoryId = await brain.add("Plant #3", {
type: "location",
subtype: "facility"
})
const assemblyLineId = await brain.add("Assembly Line A", {
type: "process",
subtype: "production"
})
const componentId = await brain.add("Circuit Board v2", {
type: "thing",
subtype: "component"
})
// Manufacturing relationships
await brain.relate(assemblyLineId, componentId, "produces")
await brain.relate(componentId, productId, "partOf")
await brain.relate(supplierId, componentId, "supplies")
```
### Education & Learning
```typescript
// Educational content and progress
const courseId = await brain.add("Machine Learning 101", {
type: "collection",
subtype: "course"
})
const lessonId = await brain.add("Neural Networks", {
type: "content",
subtype: "lesson"
})
const assessmentId = await brain.add("Final Exam", {
type: "event",
subtype: "assessment"
})
// Educational relationships
await brain.relate(studentId, courseId, "enrolledIn")
await brain.relate(courseId, lessonId, "contains")
await brain.relate(studentId, assessmentId, "completed")
```
### Legal & Compliance
```typescript
// Legal documents and cases
const contractId = await brain.add("Service Agreement", {
type: "document",
subtype: "contract"
})
const clauseId = await brain.add("Liability Clause", {
type: "content",
subtype: "clause"
})
const caseId = await brain.add("Case #2024-1234", {
type: "event",
subtype: "legal_case"
})
// Legal relationships
await brain.relate(contractId, clauseId, "contains")
await brain.relate(party1Id, contractId, "signedBy")
await brain.relate(caseId, contractId, "references")
```
### Retail & E-commerce
```typescript
// Products and customer behavior
const productId = await brain.add("iPhone 15", {
type: "product",
sku: "IP15-128-BLK"
})
const cartId = await brain.add("Shopping Cart", {
type: "collection",
subtype: "cart"
})
const promotionId = await brain.add("Black Friday Sale", {
type: "event",
subtype: "promotion"
})
// Retail relationships
await brain.relate(customerId, productId, "views")
await brain.relate(cartId, productId, "contains")
await brain.relate(promotionId, productId, "applies")
```
### Real Estate
```typescript
// Properties and transactions
const propertyId = await brain.add("123 Main St", {
type: "location",
subtype: "property"
})
const listingId = await brain.add("MLS #789", {
type: "document",
subtype: "listing"
})
const inspectionId = await brain.add("Home Inspection", {
type: "event",
subtype: "inspection"
})
// Real estate relationships
await brain.relate(ownerId, propertyId, "owns")
await brain.relate(listingId, propertyId, "describes")
await brain.relate(inspectionId, propertyId, "evaluates")
```
### Government & Public Sector
```typescript
// Civic data and services
const citizenId = await brain.add("Citizen #123", {
type: "person",
subtype: "citizen"
})
const permitId = await brain.add("Building Permit", {
type: "document",
subtype: "permit"
})
const departmentId = await brain.add("Planning Dept", {
type: "organization",
subtype: "government"
})
// Government relationships
await brain.relate(citizenId, permitId, "requests")
await brain.relate(departmentId, permitId, "issues")
await brain.relate(permitId, propertyId, "authorizes")
```
### Why This Covers All Knowledge
#### 1. **Mathematical Completeness**
The noun-verb model forms a **complete graph structure** where:
- Any entity can be represented as a noun
- Any relationship can be represented as a verb
- Complex knowledge emerges from simple combinations
#### 2. **Semantic Completeness**
Every piece of human knowledge falls into one of these categories:
- **Entities** (who, what, where) → Nouns
- **Actions** (how, when, why) → Verbs
- **Attributes** (properties) → Metadata
- **Context** (conditions) → Graph structure
#### 3. **Compositional Power**
Simple types combine to represent complex knowledge:
```typescript
// Complex knowledge from simple building blocks
const researchPaper = await brain.add("AI Ethics Study", {
type: "document"
})
const researcher = await brain.add("Dr. Smith", {
type: "person"
})
const institution = await brain.add("MIT", {
type: "organization"
})
const concept = await brain.add("AI Ethics", {
type: "concept"
})
// Rich knowledge graph emerges
await brain.relate(researcher, researchPaper, "authors")
await brain.relate(researcher, institution, "affiliated")
await brain.relate(researchPaper, concept, "explores")
await brain.relate(institution, researchPaper, "publishes")
```
#### 4. **Domain Independence**
The same types work across all domains:
**Science:**
```typescript
await brain.add("H2O", { type: "thing", category: "molecule" })
await brain.add("Photosynthesis", { type: "process" })
await brain.relate(moleculeId, processId, "participates")
```
**Business:**
```typescript
await brain.add("Q3 Revenue", { type: "metric", value: 10000000 })
await brain.add("Sales Team", { type: "organization" })
await brain.relate(teamId, metricId, "achieves")
```
**Social:**
```typescript
await brain.add("John", { type: "person" })
await brain.add("Community Group", { type: "organization" })
await brain.relate(personId, groupId, "joins")
```
#### 5. **Temporal Coverage**
Handles all temporal aspects:
```typescript
// Past
await brain.relate(personId, companyId, "worked", {
from: "2010", to: "2020"
})
// Present
await brain.relate(personId, projectId, "manages", {
since: "2024-01-01"
})
// Future
await brain.relate(eventId, venueId, "scheduled", {
date: "2025-06-15"
})
```
#### 6. **Hierarchical Representation**
Supports all levels of abstraction:
```typescript
// Micro level
await brain.add("Electron", { type: "thing", scale: "quantum" })
// Macro level
await brain.add("Solar System", { type: "place", scale: "astronomical" })
// Abstract level
await brain.add("Justice", { type: "concept", domain: "philosophy" })
```
### Extensibility
While the core types cover all knowledge, you can extend with domain-specific subtypes:
```typescript
// Extend person for medical domain
await brain.add("Patient #12345", {
type: "person",
subtype: "patient",
medicalRecord: "MR-12345"
})
// Extend document for legal domain
await brain.add("Contract ABC", {
type: "document",
subtype: "contract",
jurisdiction: "California"
})
// Custom verb for specific domain
await brain.relate(lawyerId, contractId, "negotiates", {
verbSubtype: "legal-action",
billableHours: 10
})
```
### Mathematical Proof of Universal Coverage
The noun-verb taxonomy achieves **Turing completeness** for knowledge representation:
1. **Storage Completeness**: Any data can be stored as nouns
2. **Relational Completeness**: Any relationship can be expressed as verbs
3. **Property Completeness**: Unlimited metadata captures all attributes
4. **Graph Completeness**: Multi-hop traversals express any complexity
5. **Temporal Completeness**: Time metadata handles all temporal aspects
6. **Semantic Completeness**: Vector embeddings capture meaning and similarity
#### The Infinity Formula
```
Expressiveness = (31 nouns × 40 verbs) × ∞ metadata × ∞ graph depth
= 1,240 ××
= ∞ (Infinite Expressiveness)
```
This mathematical infinity means Brainy can represent:
- **All Scientific Knowledge**: From quantum physics to molecular biology
- **All Business Data**: From transactions to supply chains
- **All Social Graphs**: From friendships to organizational hierarchies
- **All Historical Records**: From events to archaeological findings
- **All Creative Works**: From art metadata to story relationships
- **All Technical Systems**: From software architecture to network topology
- **All Personal Information**: From memories to preferences
- **Literally ANY Information That Can Exist**
### Real-World Proof: Unmappable Becomes Mappable
Even the most complex scenarios map naturally:
```typescript
// String Theory - 11-dimensional physics
const braneId = await brain.add("D3-Brane", {
type: "concept",
dimensions: 11,
vibrational_modes: ["0,1", "1,0", "2,1"]
})
// Consciousness - The "hard problem" of philosophy
const qualiaId = await brain.add("Red Qualia", {
type: "concept",
subtype: "phenomenal_experience",
ineffable: true
})
// Time Travel Paradoxes
const futureEvent = await brain.add("Future Effect", {
type: "event",
temporal_position: "future"
})
const pastCause = await brain.add("Past Cause", {
type: "event",
temporal_position: "past"
})
await brain.relate(futureEvent, pastCause, "causes", {
paradox_type: "bootstrap"
})
```
If it exists, thinks, happens, or can be imagined—Brainy can model it.
## Conclusion
The Noun-Verb taxonomy in Brainy 2.0 provides a natural, flexible, and powerful way to model any domain. By thinking in terms of entities and their relationships, you can build everything from simple data stores to complex knowledge graphs while maintaining code clarity and query simplicity.
## See Also
- [Triple Intelligence](./triple-intelligence.md)
- [Natural Language Queries](../guides/natural-language.md)
- [API Reference](../api/README.md)