Schemas

Reference for the node types (classes) in the RobOS knowledge graph. Use it to see which properties a node needs before you add it, and what the validator rejects.

On this page
  1. What these pages describe
  2. Packages
  3. All classes
  4. Check a node against a shape
  5. Ontology file
  6. Regenerate these pages

What these pages describe

Each class page documents one shape. A shape is a rule set in packages/robos-graph/lib/shacl-validator.js that applies to nodes of one class, such as robos:Microservice. For every property it lists the minimum and maximum number of values and the message shown when the rule fails.

The built-in validator checks counts only. It confirms that required properties are present and that single-valued properties have at most one value. It does not check datatypes or value formats, and it is not a complete W3C SHACL implementation.

Classes are grouped by package, the same way the graph is stored on disk (see Knowledge graph). The grouping here is a documentation aid. The robos:package property on each node decides where the node is stored, and one class can have nodes in more than one package.

Every shape also records the upstream definition it follows: a Schema.org type and, where one applies, a domain standard such as OSLC, the C4 model or Cucumber.

Packages

Package Namespace Classes Covers
Core Platform (robos.platform) robos.platform 23 Databases, message brokers, search indexes, MCP servers, build systems, context sources, prompt strategies and source declarations.
Organization & Teams (robos.org) robos.org 21 Teams, projects and work items, Git organizations, repositories, branches, pull requests and commits, agent personas, task servers and review comments.
Services & Contracts (robos.services) robos.services 8 Microservices, API contracts (OpenAPI, Protobuf, GraphQL), endpoints, data models, requirements and features.
Applications (robos.apps) robos.apps 11 Front-end, desktop, console and mobile applications, games, libraries, web routes, CLI commands and voice commands.
DevOps & Cloud (robos.devops) robos.devops 14 Kubernetes clusters, environments, GitOps deployments, CI/CD pipelines, remote-execution clusters and data pipelines.
eLearning Curriculums (robos.learning) robos.learning 7 eLearning courses, modules, lessons, labs, quizzes, completion certificates and agent skills.
Documentation & Diagrams (robos.docs) robos.docs 8 Documentation pages, architecture decision records, flow diagrams, walkthroughs and code snippets.
Testing, Quality & BDD (robos.testing) robos.testing 21 Gherkin features, scenarios, step definitions, test plans, suites, execution records, testing libraries and game test scenarios.
Game Rules (robos.game) robos.game 5 Rules-engine building blocks shared by games: games, classes, items, spells and monsters.
cRPG (robos.crpg) robos.crpg 6 Party-based tactical cRPG content: abilities, campaigns, map transitions, game events and story flows.
Tabletop Game (robos.tabletop) robos.tabletop 12 Tabletop dungeon-crawler content: heroes, monsters, summons, quest maps, turn steps and AI directives.

All classes

The Schema.org column is the parent type from the shape. Open a class for its property rules, the standard it follows and an example node.

Class Package Schema.org type
robos:BuildSystem core-platform schema:SoftwareApplication
robos:Database core-platform schema:DataStore
robos:NoSQLDatabase core-platform schema:DataStore
robos:SearchIndex core-platform schema:DataStore
robos:SearchCluster core-platform schema:DataStore
robos:MessageBroker core-platform schema:BroadcastService
robos:MCPServer core-platform schema:SoftwareApplication
robos:ContextSource core-platform schema:DataFeed
robos:PromptStrategy core-platform schema:Intangible
robos:DatabaseSchema core-platform schema:DataStore
robos:DatabaseTable core-platform schema:Table
robos:DatabaseColumn core-platform schema:Property
robos:DatabaseIndex core-platform schema:Index
robos:NoSQLCollection core-platform schema:Collection
robos:MessageTopic core-platform schema:BroadcastChannel
robos:ConsumerGroup core-platform schema:Audience
robos:MCPTool core-platform schema:Action
robos:MCPResource core-platform schema:MediaObject
robos:MCPPrompt core-platform schema:Text
robos:CurriculumDefinition core-platform schema:Course
robos:DataStore core-platform schema:SoftwareApplication
robos:BrokerDefinition core-platform schema:Service
robos:SourceArtifact core-platform schema:CreativeWork
robos:Team organization schema:ProjectTeam
robos:Project organization schema:Project
robos:Epic organization schema:Plan
robos:GitProjectOrganization organization schema:Organization
robos:AgentPersona organization schema:Person
robos:TaskServer organization schema:SoftwareApplication
robos:UserStory organization schema:Action
robos:Task organization schema:Action
robos:Subtask organization schema:Action
robos:Bug organization schema:Action
robos:Sprint organization schema:Action
robos:Milestone organization schema:Action
robos:GitRepository organization schema:SoftwareSourceCode
robos:GitBranch organization schema:SoftwareSourceCode
robos:PullRequest organization schema:UpdateAction
robos:GitCommit organization schema:SoftwareSourceCode
robos:GitTag organization schema:SoftwareSourceCode
robos:Comment organization schema:Comment
robos:DiscussionThread organization schema:Conversation
robos:ReviewComment organization schema:Comment
robos:CommentAttachment organization schema:MediaObject
robos:Microservice services schema:SoftwareApplication
robos:Contract services schema:DigitalDocument
oslc_rm:Requirement services schema:DigitalDocument
robos:ProtobufContract services schema:DigitalDocument
robos:GraphQLContract services schema:DigitalDocument
robos:Feature services schema:DigitalDocument
robos:APIEndpoint services schema:EntryPoint
robos:DataModel services schema:Class
robos:DesktopApp applications schema:SoftwareApplication
robos:ConsoleApp applications schema:SoftwareApplication
robos:MobileApp applications schema:MobileApplication
robos:Library applications schema:SoftwareSourceCode
robos:FrontEndApp applications schema:WebApplication
robos:PCGame applications schema:VideoGame
robos:MobileGame applications schema:VideoGame
robos:WebRoute applications schema:WebPage
robos:CLICommand applications schema:SoftwareApplication
robos:CLIFlag applications schema:PropertyValue
robos:VoiceCommand applications schema:ControlAction
robos:DataPipeline devops schema:DataFeed
robos:RemoteExecutionCluster devops schema:ComputerPlatform
robos:KubernetesCluster devops schema:ComputerPlatform
robos:Environment devops schema:DeploymentEnvironment
robos:GitOpsDeployment devops schema:SoftwareApplication
robos:CICDPipeline devops schema:SoftwareApplication
robos:KubernetesNamespace devops schema:AdministrativeArea
robos:KubernetesDeployment devops schema:SoftwareApplication
robos:KubernetesService devops schema:Service
robos:KubernetesIngress devops schema:EntryPoint
robos:PipelineStage devops schema:Action
robos:PipelineJob devops schema:Action
robos:PipelineStep devops schema:Action
robos:EnvironmentProfile devops schema:DefinedTerm
robos:ELearning learning schema:Course
robos:CertificateOfCompletion learning schema:EducationalOccupationalCredential
robos:LearningModule learning schema:CourseInstance
robos:LearningLesson learning schema:LearningResource
robos:HandsOnLab learning schema:ExercisePlan
robos:QuizAssessment learning schema:Quiz
robos:AgentSkill learning schema:HowTo
robos:FlowDiagram documentation schema:ImageObject
robos:Documentation documentation schema:TechArticle
robos:DocumentationPage documentation schema:TechArticle
robos:ArchitectureDecisionRecord documentation schema:TechArticle
robos:InteractiveWalkthrough documentation schema:Guide
robos:CodeSnippet documentation schema:SoftwareSourceCode
robos:DocSection documentation schema:Article
robos:ADROption documentation schema:ChooseAction
robos:Scenario testing schema:CheckAction
robos:ScenarioStep testing schema:HowToStep
robos:CRPGTestScenario testing schema:CheckAction
robos:CRPGBattleMap testing schema:Place
robos:CRPGMapObject testing schema:Place
robos:CRPGCombatant testing schema:Person
robos:InfinityAIDirective testing schema:ControlAction
robos:CRPGPlayerInput testing schema:InteractAction
robos:TabletopTestScenario testing schema:CheckAction
robos:GherkinFeature testing schema:DigitalDocument
robos:GherkinBackground testing schema:ItemList
robos:GherkinRule testing schema:DigitalDocument
robos:ScenarioOutline testing schema:CheckAction
robos:ExamplesTable testing schema:Table
robos:StepDefinition testing schema:SoftwareSourceCode
robos:DataTable testing schema:Table
robos:DocString testing schema:Text
robos:TestingLibrary testing schema:SoftwareApplication
robos:TestPlan testing schema:Plan
robos:TestSuite testing schema:ItemList
robos:TestExecutionRecord testing schema:AssessAction
robos:Game game schema:Game
robos:GameClass game schema:Role
robos:GameMonster game schema:Person
robos:GameItem game schema:Product
robos:GameSpell game schema:Action
robos:CRPGAbility crpg schema:Action
robos:CRPGStoryFlow crpg schema:CreativeWork
robos:CRPGStoryNode crpg -
robos:CRPGGameEvent crpg schema:Event
robos:CRPGCampaign crpg schema:CreativeWork
robos:CRPGMapTransition crpg schema:Place
robos:TabletopGame tabletop-game schema:Game
robos:TabletopHero tabletop-game schema:Person
robos:TabletopMonster tabletop-game schema:Person
robos:TabletopSummon tabletop-game schema:Person
robos:TabletopQuestMap tabletop-game schema:Place
robos:TabletopMapConfiguration tabletop-game schema:Place
robos:TabletopTurnDAG tabletop-game schema:Action
robos:TabletopTurnStep tabletop-game schema:Action
robos:TabletopAIEngine tabletop-game schema:SoftwareApplication
robos:TabletopAIDirective tabletop-game schema:ControlAction
robos:TabletopCombatant tabletop-game schema:Person
robos:TabletopAICommand tabletop-game schema:InteractAction

Check a node against a shape

Save one node as node.json in the repository root, for example the example from a class page. Then run:

node -e "const { SHACLValidator } = require('./packages/robos-graph/lib/shacl-validator'); const r = new SHACLValidator().validate([require('./node.json')]); console.log(r.conforms, r.results)"

The command prints true and an empty list when the node meets every rule for its types. Otherwise it prints false and one entry per failed rule. The kgraph validate and kgraph insert commands run the same checks.

Ontology file

ontology.jsonld lists classes with their Schema.org parent class and shape id. The same file is kept at .robos/ontology.jsonld. node scripts/sync-classification-ontology.js updates both; it stops with an error for any class that has no classification code. This generator does not touch the ontology, so the file can lag behind the shapes listed here.

Regenerate these pages

This section and every page under it are generated. Do not edit them by hand. Change the generator, packages/robos-graph/lib/schema-doc-generator.js, or the shapes, then run:

node scripts/generate-kgraph-schema-docs.js

Table of contents