Platform Ontologies
Authoritative vocabularies and semantic standards for Business-as-Code
The .do platform provides a comprehensive collection of ontology packages (*.org.ai) that integrate authoritative vocabularies and semantic standards for Business-as-Code applications.
What are .org.ai Ontologies?
Ontology packages (*.org.ai) are semantic vocabularies that provide:
- Standardized Types & Properties: Well-defined entities with rich metadata
- Linked Data Compatibility: Full JSON-LD support for semantic web integration
- TypeScript Types: Generated TypeScript definitions for type safety
- MDXLD Format: Human-readable MDX files with embedded linked data
- Business-as-Code Integration: Direct integration with
$.Subject.predicate.Objectpatterns
These packages enable autonomous agents and AI systems to understand and reason about:
- Industries, occupations, skills, and tasks (from O*NET)
- Business processes and activities (from APQC)
- Products, services, and organizations (from Schema.org)
- Places, events, and datasets (from authoritative sources)
Available Ontologies
The platform currently includes 21 ontology packages:
| Package | Description |
|---|---|
@dotdo/work-context.org.ai | O*NET Work Context parser for digital vs physical classification |
actions.org.ai | Schema.org Actions (without -Action suffix) + O*NET activities generator |
activities.org.ai | O*NET work activities generator |
datasets.org.ai | Dataset types and metadata schemas - ~100 types for semantic AI applications |
education.org.ai | O*NET education requirements generator |
events.org.ai | GS1 event types generator |
industries.org.ai | NAICS industry classifications generator |
jobs.org.ai | O*NET job titles generator |
knowledge.org.ai | O*NET knowledge areas generator |
occupations.org.ai | O*NET occupations generator |
onet.org.ai | ONET utilities for parsing and transforming ONET data |
places.org.ai | Location and place generator |
process.org.ai | APQC process classifications generator |
products.org.ai | Product classifications generator |
schema.org.ai | Schema.org vocabulary package - 817 types, 1,518 properties for semantic AI applications |
services.org.ai | Service classifications generator |
skills.org.ai | O*NET skills and competencies generator |
startups.org.ai | Startup ontology package with hybrid access patterns for stages, metrics, roles, and best practices |
tasks.org.ai | O*NET work tasks generator |
tech.org.ai | O*NET technologies generator |
tools.org.ai | O*NET tools and equipment generator |
Usage Examples
TypeScript/JavaScript
import { Organization, Person, Place } from 'schema.org.ai'
import { SoftwareEngineer } from 'occupations.org.ai'
import { Programming } from 'skills.org.ai'
import { SoftwareDevelopment } from 'process.org.ai'
// Use types for validation and IntelliSense
const company: Organization = {
'@type': 'Organization',
name: 'Acme Inc',
industry: 'Software Development',
}
const developer: Person & { occupation: typeof SoftwareEngineer } = {
'@type': 'Person',
name: 'Jane Smith',
occupation: SoftwareEngineer,
skills: [Programming],
}Business-as-Code ($.Subject.predicate.Object)
import { $ } from 'sdk.do'
// Semantic triple patterns using ontology types
await $.Organization.create({
'@type': 'Organization',
name: 'Acme Inc',
industry: 'Software Development',
})
await $.Person.assign.Occupation({
personId: 'user-123',
occupation: 'SoftwareEngineer',
})
await $.Employee.has.Skill({
employeeId: 'user-123',
skill: 'Programming',
})MDXLD Format
Each ontology package includes MDXLD files that combine Markdown documentation with structured linked data:
---
'@context': https://schema.org
'@type': Occupation
identifier: '15-1252.00'
name: Software Developers
description: Research, design, and develop computer applications
---
# Software Developers
Software developers research, design, and develop computer and network software or specialized utility programs.
## Required Skills
- Programming
- Software Development
- Algorithm Design
## Tasks
- Analyze user needs and develop software solutions
- Design and implement software systems
- Test and debug applicationsIntegration with Business-as-Code
All ontology packages integrate seamlessly with the platform's semantic patterns:
- Subject-Predicate-Object Triples:
$.Subject.predicate.Object - Type Safety: Full TypeScript support with generated types
- Linked Data: JSON-LD compatibility for semantic web
- Agent Understanding: AI agents can reason about entities and relationships
- Autonomous Operations: Enable self-describing, self-executing business logic
GraphDL Integration
GraphDL provides semantic graph construction using Schema.org and other ontology types:
Semantic Paths with GraphDL
import $ from 'graphdl'
import type { Person, Organization } from 'schema.org.ai'
// Create semantic paths using Schema.org types
const personPath = $.Person.worksFor.Organization
const orgPath = $.Organization.employs.Person
console.log(String(personPath))
// "$.Person.worksFor.Organization"Building Semantic Graphs
import { graph, node, edge } from 'graphdl'
import type { Person, Organization, Occupation } from 'schema.org.ai'
// Create a knowledge graph with Schema.org types
const knowledgeGraph = graph()
.context('https://schema.org')
.node(
node('person:john', 'Person', {
name: 'John Doe',
email: '[email protected]',
} as Person)
)
.node(
node('org:acme', 'Organization', {
name: 'Acme Corp',
legalName: 'Acme Corporation',
} as Organization)
)
.edge(edge('person:john', 'worksFor', 'org:acme'))
.build()Type-Safe Semantic Vocabulary
GraphDL includes comprehensive semantic vocabulary extracted from 96 service integrations:
import { VocabularyStats, PredicateCatalog, ObjectCatalog } from 'graphdl'
import type { ActionPredicate, SearchPredicate, EventPredicate, BusinessObject } from 'graphdl'
// Vocabulary statistics
console.log(VocabularyStats)
// {
// predicates: {
// actions: 95, // create, update, delete, send, etc.
// searches: 9, // find, get, search, lookup, etc.
// events: 410, // new, updated, created, deleted, etc.
// total: 514
// },
// objects: 755, // Contact, Account, Deal, User, Task, etc.
// combinations: 1387
// }
// Use vocabulary types with Schema.org
const action: ActionPredicate = 'create'
const object: BusinessObject = 'Contact'
const triple = $.api.ActiveCampaign[action][object]
// Type-safe: $.api.ActiveCampaign.create.ContactService Integration Patterns
Combine Schema.org types with service integration vocabulary:
import { $, db } from 'sdk.do'
import type { Person, ContactPoint } from 'schema.org.ai'
// Create person with Schema.org type
const person = await $.Person.create({
'@type': 'Person',
name: 'Alice Smith',
email: '[email protected]',
contactPoint: {
'@type': 'ContactPoint',
contactType: 'customer support',
telephone: '+1-555-0100',
} as ContactPoint,
} as Person)
// Sync to external service using semantic path
await $.api.ActiveCampaign.create.Contact({
email: person.email,
firstName: person.givenName,
lastName: person.familyName,
})Learn More
- GraphDL Documentation - Complete graphdl reference
- Semantic Vocabulary - Type-safe predicates and objects
- Building Graphs - Graph construction patterns
- Service Integrations - 96 service integrations with 1,833 endpoints
Generation & Maintenance
Most ontology packages include generation scripts that fetch and transform data from authoritative sources:
- O*NET: Occupations, skills, tasks, tools, and technologies
- Schema.org: Core vocabulary for structured data
- NAICS: Industry classifications
- APQC: Business process frameworks
- GS1: Supply chain and product standards
To regenerate an ontology package:
cd packages/[package-name].org.ai
pnpm generateContributing
To add a new ontology package:
- Create a new directory:
packages/[name].org.ai/ - Add
package.jsonwith proper metadata - Implement generation scripts in
src/scripts/ - Generate MDXLD files in
src/data/ - Export TypeScript types from
src/index.ts - Run this script to update documentation:
pnpm generate:docs