.do

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.Object patterns

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:

PackageDescription
@dotdo/work-context.org.aiO*NET Work Context parser for digital vs physical classification
actions.org.aiSchema.org Actions (without -Action suffix) + O*NET activities generator
activities.org.aiO*NET work activities generator
datasets.org.aiDataset types and metadata schemas - ~100 types for semantic AI applications
education.org.aiO*NET education requirements generator
events.org.aiGS1 event types generator
industries.org.aiNAICS industry classifications generator
jobs.org.aiO*NET job titles generator
knowledge.org.aiO*NET knowledge areas generator
occupations.org.aiO*NET occupations generator
onet.org.aiONET utilities for parsing and transforming ONET data
places.org.aiLocation and place generator
process.org.aiAPQC process classifications generator
products.org.aiProduct classifications generator
schema.org.aiSchema.org vocabulary package - 817 types, 1,518 properties for semantic AI applications
services.org.aiService classifications generator
skills.org.aiO*NET skills and competencies generator
startups.org.aiStartup ontology package with hybrid access patterns for stages, metrics, roles, and best practices
tasks.org.aiO*NET work tasks generator
tech.org.aiO*NET technologies generator
tools.org.aiO*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 applications

Integration with Business-as-Code

All ontology packages integrate seamlessly with the platform's semantic patterns:

  1. Subject-Predicate-Object Triples: $.Subject.predicate.Object
  2. Type Safety: Full TypeScript support with generated types
  3. Linked Data: JSON-LD compatibility for semantic web
  4. Agent Understanding: AI agents can reason about entities and relationships
  5. 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.Contact

Service 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

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 generate

Contributing

To add a new ontology package:

  1. Create a new directory: packages/[name].org.ai/
  2. Add package.json with proper metadata
  3. Implement generation scripts in src/scripts/
  4. Generate MDXLD files in src/data/
  5. Export TypeScript types from src/index.ts
  6. Run this script to update documentation: pnpm generate:docs

Learn More