Verb Types

127 standardized relationship types. Combined with 42 Noun Types, this creates 5,334+ base combinations covering 96-97% of human knowledge domains.

Why Verb Types?

Verb Types define the semantic meaning of relationships between entities. They don't just connect things—they express how they're connected.

42 Nouns × 127 Verbs × ∞ Metadata = Universal Knowledge

The 127 verbs cover:

Quick Reference

using-verb-types.js
import { Brainy, VerbType } from '@soulcraft/brainy'

// Use the VerbType enum
await brain.relate({
  from: nextId,
  to: reactId,
  type: VerbType.Extends
})

// Or use string literals
await brain.relate({
  from: ideaId,
  to: resultId,
  type: "eventuallyLeadsTo"
})

Part-Whole (Mereological) — 8 types

How things are composed of other things:

Type Description Example
partOfGeneral part-wholeWheel partOf Car
containsContains (inverse)Folder contains File
composedOfMaterial compositionRing composedOf Gold
functionalPartOfFunctional componentEngine functionalPartOf Car
conceptualPartOfConceptual componentChapter conceptualPartOf Book
temporalPartOfTime segmentMonday temporalPartOf Week
topologicalPartOfSpatial partHandle topologicalPartOf Cup
containsSpatiallySpatial containmentRoom containsSpatially Chair

Spatial — 11 types

Location and position relationships:

Type Description Example
locatedAtGeneral locationOffice locatedAt Building
aboveVertical positionCloud above Mountain
belowVertical positionBasement below House
insideInterior locationPerson inside Building
outsideExterior locationGarden outside House
adjacentToNext toRoom adjacentTo Hallway
connectedToPhysical connectionPipe connectedTo Tank
facingOrientationWindow facing Ocean
surroundsEncirclementFence surrounds Garden
overlapsPartial overlapTerritory overlaps Border
overlapsSpatiallySpatial overlapRegion overlapsSpatially Zone

Temporal — 9 types

Time and sequence relationships:

Type Description Example
precedesComes beforeDraft precedes Final
immediatelyAfterDirectly followsCommit immediatelyAfter Save
duringWithin timeframeMeeting during Conference
simultaneousWithAt same timeLaunch simultaneousWith Event
occursAtTime of occurrenceRelease occursAt Date
persistsThroughPersists over timeBrand persistsThrough Decades
recurringWithRecurring patternMeeting recurringWith Weekly
trueFromValid from timePolicy trueFrom January
supersedesReplaces over timeV2 supersedes V1

Causal & Dependency — 14 types

Cause, effect, and dependency relationships:

Type Description Example
causesDirect causationBug causes Crash
affectsInfluencesWeather affects Mood
enablesMakes possibleAPI enables Integration
preventsStops from happeningAuth prevents Access
dependsOnRequiresApp dependsOn Library
canCausePotential causationError canCause Failure
probablyCausesLikely causationLack probablyCauses Issue
mustCauseNecessary causationInput mustCause Output
wouldCauseIfConditional causationAction wouldCauseIf Condition
eventuallyLeadsToLong-term resultPractice eventuallyLeadsTo Mastery
functionallyDependsOnFunctional requirementFeature functionallyDependsOn Core
rigidlyDependsOnEssential dependencyLife rigidlyDependsOn Water
historicallyDependsOnHistorical dependencyLaw historicallyDependsOn Precedent
counterfactual"What if" relationResult counterfactual Decision

Social & Organizational — 12 types

Human and organizational relationships:

Type Description Example
memberOfMembershipAlice memberOf Team
reportsToReporting structureDev reportsTo Manager
mentorsMentorshipSenior mentors Junior
worksWithCollaborationAlice worksWith Bob
friendOfFriendshipUser friendOf User
followsFollowingUser follows Creator
communicatesCommunicationTeam communicates Client
competesCompetitionCompany competes Rival
alliesWithAllianceOrg alliesWith Partner
conflictsConflictGoal conflicts Constraint
opposesOppositionView opposes Policy
supportsSupportEvidence supports Claim

Creation & Transformation — 10 types

How things are made and changed:

Type Description Example
createsCreationAuthor creates Document
destroysDestructionDelete destroys Record
transformsTransformationCompiler transforms Code
becomesState changeCaterpillar becomes Butterfly
convertsToConversionJSON convertsTo Object
modifiesModificationUpdate modifies State
gainsPropertyProperty acquisitionUser gainsProperty Badge
losesPropertyProperty lossUser losesProperty Access
realizesRealizationCode realizes Design
consumesConsumptionProcess consumes Resource

Epistemic (Knowledge & Belief) — 10 types

Knowledge, belief, and perception:

Type Description Example
knowsKnowledgeAgent knows Fact
believesBeliefUser believes Claim
doubtsDoubtReviewer doubts Finding
perceivesPerceptionSensor perceives Signal
learnsLearningStudent learns Skill
hopesHopeTeam hopes Success
fearsFearUser fears Failure
lovesLoveUser loves Feature
hatesHateUser hates Bug
desiresDesireCustomer desires Feature

Deontic (Obligation & Permission) — 8 types

Rules, obligations, and permissions:

Type Description Example
mustBeRequirementPassword mustBe Strong
mustNotDoProhibitionUser mustNotDo Delete
shouldDoRecommendationUser shouldDo Backup
obligatedToObligationUser obligatedTo Comply
permittedToPermissionAdmin permittedTo Access
prohibitedFromProhibitionGuest prohibitedFrom Edit
conformsToConformanceProcess conformsTo Standard
intendsIntentionUser intends Action

Classification & Description — 12 types

How things are categorized and described:

Type Description Example
instanceOfInstance-typeToyota instanceOf Car
subclassOfType hierarchyCar subclassOf Vehicle
categorizesCategorizationTag categorizes Document
definesDefinitionSpec defines Interface
describesDescriptionDoc describes System
representsRepresentationIcon represents Action
embodiesEmbodimentCode embodies Logic
encodesEncodingBase64 encodes Binary
interpretedAsInterpretationSymbol interpretedAs Meaning
perceivedAsPerceptionQuality perceivedAs Value
attributedToAttributionQuote attributedTo Author
ownsOwnershipUser owns Asset

Comparison & Similarity — 8 types

Comparing and measuring relationships:

Type Description Example
equivalentToEquivalenceAliasA equivalentTo AliasB
approximatelyEqualsApproximate equalityEstimateA approximatelyEquals EstimateB
dimensionallyEqualsDimensional equalityBoxA dimensionallyEquals BoxB
greaterThanGreater thanValueA greaterThan ValueB
moreXThanComparative degreeA moreXThan B (more efficient)
similarityDegreeSimilarity measureItemA similarityDegree ItemB
contradictsContradictionClaimA contradicts ClaimB
correlatesWithCorrelationMetricA correlatesWith MetricB

Technical & Code — 9 types

Software and technical relationships:

Type Description Example
implementsImplementationClass implements Interface
extendsExtensionTypeScript extends JavaScript
inheritsInheritanceChild inherits Parent
usesUsageComponent uses Library
referencesReferenceDoc references Source
carriesData carrierRequest carries Payload
synchronizesSynchronizationCacheA synchronizes CacheB
evaluatesEvaluationTest evaluates Code
participatesInParticipationActor participatesIn Process

Property & Quality — 6 types

Properties and measurements:

Type Description Example
hasQualityHas qualityProduct hasQuality Durability
hasDegreeHas degreeSkill hasDegree Advanced
hasDurationHas durationMeeting hasDuration 1Hour
hasMagnitudeHas magnitudeEarthquake hasMagnitude 6.5
measuredInUnit of measureDistance measuredIn Kilometers
measuresMeasuresSensor measures Temperature

General Relations — 10 types

General-purpose relationships:

Type Description Example
relatedToGeneric relation (default)ItemA relatedTo ItemB
likesPreferenceUser likes Post
endorsesEndorsementExpert endorses Product
couldBePossibilityResult couldBe Success
remainsSamePersistenceIdentity remainsSame Over time
trueInContextContextual truthStatement trueInContext Domain
validInFrameFrame validityRule validInFrame Context
uncertainRelationUncertain relationshipA uncertainRelation B
partiallyHasPartial possessionProduct partiallyHas Feature
couldBePotential stateOutcome couldBe Result

Using Verb Types

creating-relationships.js
import { Brainy, VerbType, NounType } from '@soulcraft/brainy'

// Create entities
const alice = await brain.add({
  data: "Alice - Senior Developer",
  type: NounType.Person
})

const team = await brain.add({
  data: "Engineering Team",
  type: NounType.Organization
})

// Create relationships with different verb types
await brain.relate({ from: alice, to: team, type: VerbType.MemberOf })
await brain.relate({ from: alice, to: bobId, type: VerbType.Mentors })
await brain.relate({ from: alice, to: projectId, type: VerbType.WorksWith })

Query by Relationship

query-by-verb.js
// Find all things a person mentors
const mentees = await brain.find({
  connected: { from: aliceId, type: VerbType.Mentors }
})

// Find all dependencies of a project
const deps = await brain.find({
  connected: { from: projectId, type: VerbType.DependsOn }
})

// Traverse multiple relationship types
const network = await brain.find({
  connected: {
    from: userId,
    type: [VerbType.WorksWith, VerbType.FriendOf],
    depth: 2
  }
})

The Universal Protocol

The 127 Verb Types aren't arbitrary—they're based on formal ontology research:

Combined with 42 Noun Types, this creates 5,334+ base combinations that achieve Stage 3 CANONICAL coverage: 96-97% of all human knowledge domains can be expressed with these types plus unlimited metadata.

See Also

Next: API Reference →