From reqvire
Authors Reqvire structural ontology elements (OWL/RDFS classes, properties, axioms, SHACL) for IT/systems engineering models. Use when creating or revising ontology vocabulary, semantic contracts, or structural-to-concept bridges.
How this skill is triggered — by the user, by Claude, or both
Slash command
/reqvire:ontology-authoringThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Author Reqvire structural ontology content as reusable OWL/RDFS building blocks for system-of-interest models, not implementation detail. Reqvire managed-project ontologies are primarily for IT engineering, systems engineering, MBSE, architecture, interfaces, verification, operations, and other system model concerns. Keep curated conceptual vocabulary in native `concept-scheme` and `concept` el...
Author Reqvire structural ontology content as reusable OWL/RDFS building blocks for system-of-interest models, not implementation detail. Reqvire managed-project ontologies are primarily for IT engineering, systems engineering, MBSE, architecture, interfaces, verification, operations, and other system model concerns. Keep curated conceptual vocabulary in native concept-scheme and concept elements using reqvire-concept-authoring; keep this skill focused on OWL classes, properties, individuals, axioms, SHACL target vocabulary, and structural-to-concept bridges. Use requirements for obligations; use semantic-contract elements for reusable SHACL profiles that explicitly use ontology and constrain requirements.
Use reqvire-syseng instead when the main change is to capabilities,
requirements, specifications, verification elements, evidence, coverage,
change-impact workflows, or broader model refactoring. This skill may update
semantic contracts and ontology links that constrain those elements, but should
not replace the system-engineering workflow for changing their behavior.
Use Reqvire as the source-of-truth runtime when authoring or changing OWL/RDFS ontology elements and SHACL semantic contracts.
npx -y "${REQVIRE_NPX_PACKAGE:-@reqvire-org/reqvire@latest}" --workspace "$PWD" <command>.cargo run -- <command> is also acceptable when the local binary is the intended target.search --filter-type ontology --json, search --filter-type semantic-contract --json, model --filter-type ontology --json, semantic export --layer ontologies, semantic export --layer shapes, and semantic export --layer model.semantic export --layer ontologies --layer external-used or semantic export --layer model --layer external-used only when the used subset of local external ontology dependencies must be materialized.add, link, relink, mv, mv-file, mv-folder, rm, and rename-element.# Elements, ### Element Name, #### Metadata, and Reqvire relation list syntax.type: ontology, ontology_base, ontology_prefix, and #### Ontology; authored Turtle must declare the prefixes it uses.type: semantic-contract and #### Shapes; link contracts to ontology elements with use / usedBy and to governed model elements with constrain / constrainedBy.#### Concept References to semantic contracts. Use SHACL shapes for closed-world validation and ontology Turtle for structural terms. * relationName: [Target Element](path.md#target-element).derivedFrom / derive for ontology hierarchy and document composition. Use reqvire:mapsToConcept in Turtle only when a structural term intentionally maps to a generated native SKOS concept.validate, semantic export --layer ontologies, semantic export --layer shapes, semantic export --layer model, and any affected fixture tests before finishing.reqvire-concept-authoring first to create native concept-scheme and concept elements.SystemOfInterest, Actor, CapabilityArea, ManagedResource, BusinessArtifact, OperationalArtifact, InterfaceSurface, ExternalSystem or EnablingSystem, LifecycleState, Operation, Policy, Risk, and VerificationEvidence.reqvire search --filter-type=ontology --shortreqvire semantic export --layer ontologiessystem-model/Ontologies/*.md file that owns nearby vocabulary.reqvire-concept-authoring. Structural terms can point back to native concepts through reqvire:mapsToConcept when an explicit bridge is useful.ontology_base and ontology_prefix metadata before authoring Turtle. Descendant ontology elements inherit both through derivedFrom hierarchy. Use the corresponding hash namespace for terms, normally <ontology_base>#, with the inherited prefix as the canonical CURIE label. When rebasing an existing ontology element, use add --override as the command path and require it to rewrite the dependent ontology boundary chain atomically, including ontology_base, ontology_prefix, inherited prefix bindings, imports, and any reachable SHACL references.system-model/Ontologies.#### Ontology fenced Turtle block per ontology element.derivedFrom only between ontology elements.#### Concept References on non-ontology, non-semantic-contract elements when their prose needs explicit bindings to SKOS concepts. Do not point concept references directly at OWL classes or properties; bridge structural terms to concepts with reqvire:mapsToConcept in authored ontology when useful.use/usedBy and to governed requirements with constrain/constrainedBy. Do not add #### Concept References to semantic contracts.reqvire semantic export --layer ontologies for authored OWL/RDF ontology vocabulary, reqvire semantic export --layer shapes for semantic-contract SHACL shapes, reqvire semantic export --layer concepts for SKOS concepts, and reqvire semantic export for the combined semantic export. Reqvire generates rdfs:isDefinedBy <ontology_base> facts only for authored named ontology resources whose IRIs are inside the resolved ontology term namespace; authors do not need to repeat them, and conflicting authored rdfs:isDefinedBy targets fail validation. Reqvire does not generate rdfs:isDefinedBy ownership facts for imported External Ontology terms. Use reqvire semantic export --layer ontologies --layer external-used, reqvire semantic export --layer external-used, or MCP reqvire.semantic.export with layers: ["ontologies", "external-used"] when the used subset of local External Ontology dependencies must be materialized. Use MCP reqvire.semantic.prefixes, reqvire.semantic.vocabulary, or reqvire.semantic.sparql with include_external: true only when imported external prefixes, used vocabulary terms, or used subset triples are needed. Use MCP reqvire.semantic.vocabulary with ontology_document or ontology_base to filter authored terms to one OWL document, or with include_external: true plus ontology_document to filter used external subset terms to one external source. Use reqvire semantic export --layer model when downstream graph/database tooling also needs model facts for element relations, contract_bindings, concept references, term declarations, shape references, and ontology projection facts. Use reqvire semantic export --layer prefixes when a consumer needs generated Turtle prefix projection facts. Use reqvire semantic export --layer model --layer external-used when both the used external subset and model facts are needed. Concept references are term-reference edges, not generated OntologyConstruct records. Reqvire parses complete external ontology files internally for validation and term resolution. Use the external-used export layer for RDF materialization and helper-tool include_external only for used-subset query visibility; raw full external dependency triples remain available only in explicit full-external workflows.Ontology work does not have to come first. If capabilities, requirements, specifications, behaviors, constraints, input/output contracts, or verifications already exist, derive ontology and semantic contracts from that authored model rather than forcing a greenfield ontology pass.
Use this workflow when a project has partial or no ontology coverage:
constrainedBy/constrain and link shapes to ontology with use/usedBy.Use this skill for the structural OWL/RDFS layer:
X is a Y, X has property Z, and X relates to Y.Use reqvire-concept-authoring for the conceptual SKOS layer:
concept-scheme and concept elements.Do not use ontology class hierarchy as a shortcut for concept taxonomy. rdfs:subClassOf means formal structural subtype; SKOS broader means a broader thesaurus/navigation term. They can overlap, but only copy the relationship when it also passes the concept "is-a kind of" browse-term test.
Use native concepts for curated terminology: labels, definitions, synonyms, top concepts, broader/narrower browse structure, related terms, and cross-vocabulary concept mappings. Use ontology for formal semantics: classes, properties, individuals, domain/range, lifecycle states, statuses, constraints, and SHACL targets.
If the intended meaning is Payment hasStatus Pending, model Payment, status classes/individuals, and a status property in ontology. Do not force that into concept taxonomy unless "Pending Payment" is intentionally a narrower payment term for search or navigation. Use reqvire:mapsToConcept only as a bridge from structural terms to generated native SKOS concept IRIs.
Bridge the layers only when useful:
reqvire:mapsToConcept from a structural term or model resource to a generated native SKOS concept.reqvire:mapsToConcept is an owl:AnnotationProperty; it does not imply OWL equivalence, SKOS mapping semantics, or that the structural subject is itself a skos:Concept.skos:exactMatch, skos:broadMatch, or other SKOS mapping properties for structural-to-concept anchoring by default. Reserve SKOS mapping properties for concept-to-concept mappings in reqvire-concept-authoring.Preferred mixed structure:
Concept scheme root
type: concept-scheme
concept_base: https://example.org/concepts
concept_prefix: concept
authored with reqvire-concept-authoring
Structural ontology root
ontology_base: https://example.org/ontology/managed-platform
ontology_prefix: ex
owns: owl:Class, owl:ObjectProperty, owl:DatatypeProperty,
individuals, axioms, SHACL targets
optional bridge: ex:StructuralTerm reqvire:mapsToConcept concept:CuratedConcept
Before adding or changing OWL classes, run the structure/concept check:
reqvire-concept-authoring.rdfs:subClassOf. If it means "is a broader/narrower topic than", use native concept relations through reqvire-concept-authoring.Use ontology for:
ontology_base and ontology_prefix metadata values.Use requirement for implementable obligations, especially statements that naturally read as "The system shall...".
Use specification, behavior, constraint, state, or input-output for exact commands, file paths, outputs, workflows, schemas, UI behavior, and implementation-specific details.
Use semantic-contract for reusable SHACL shape profiles. A semantic contract is a first-class ontology-plane element and should be authored under system-model/Ontologies near the ontology it uses. It must have #### Shapes, use valid SHACL targets and paths over ontology terms reachable through explicit use relations, constrain requirements through constrain/constrainedBy, and must not contain #### Ontology.
For greenfield ontology creation templates and examples, read reference/OntologyAuthoring.md.
For refactoring or improving existing ontology files, read reference/OntologyRefactoring.md. Do not load the refactoring reference for new ontology creation unless the user explicitly asks to refactor or improve existing ontology content.
When authoring ontology Turtle, distinguish the OWL 2 syntactic roles:
OWL and SHACL answer different questions:
OWL uses an open-world assumption, so missing facts are usually unknown rather than invalid. SHACL validation is closed-world for the selected shapes, so missing required facts are validation errors.
Reqvire rule of thumb:
rdfs:label and rdfs:comment for human-readable explanation, not as substitutes for formal terms.ex:ElectricVehicle; use reqvire:mapsToConcept only if an explicit bridge is useful.Common OWL/RDFS axioms authored in Reqvire #### Ontology blocks:
rdfs:subClassOf defines class hierarchy.rdfs:subPropertyOf defines property hierarchy.rdfs:domain and rdfs:range define stable subject/object or subject/literal meaning for a property.owl:inverseOf defines inverse object-property relationships.owl:equivalentClass and owl:equivalentProperty define semantic equivalence.owl:disjointWith defines classes that cannot share the same individual when reasoning is applied.owl:Restriction with owl:onProperty, owl:someValuesFrom, owl:allValuesFrom, cardinality terms, or owl:hasValue defines class expressions over property constraints.owl:propertyChainAxiom defines inferred relationships across a property path.ex:prod a ex:Environment, asserts that a named individual belongs to a class.Use OWL axioms for reusable truths that semantic tools or future reasoners should understand. Use SHACL semantic contracts for closed-world validation rules such as required explicit fields, exact cardinality, allowed string values, and parser/report conformance checks.
Use rdfs:label and rdfs:comment for labels and descriptions unless the value is a true domain concept, contract token, or query/validation target. Treat them as the default for presentation text, not replacements for ontology slots.
rdfs:label is optional presentation label text when no more specific domain property is needed.rdfs:comment is optional explanatory description text for a class, property, individual, or axiom.*Name, *Label, *Meaning, or description field, refactor the SHACL sh:path to rdfs:label or rdfs:comment instead of preserving a custom property.Name or only a comment because it ends with Meaning.owl:NamedIndividual typing, typed class membership, hierarchy, and axioms. Domain token and definition properties may still be required for validation and queries.rdfs:label when semantic contracts, model operations, or queries depend on the literal. Delivery-surface tokens such as command names, UI route names, and report-output kind names belong in specifications or contracts unless the domain itself needs to reason over them.Use OWL datatype/object properties for slots and relationships with stable domain/range semantics. Use SHACL shapes for operational validation facets.
#### Ontology, define classes, owl:DatatypeProperty and owl:ObjectProperty declarations, stable rdfs:domain/rdfs:range, hierarchy, metadata annotations, and stable OWL axioms.rdfs:range to an XSD datatype such as xsd:string, xsd:boolean, xsd:integer, xsd:decimal, xsd:float, xsd:double, xsd:dateTime, or xsd:date.rdfs:domain to the subject class and rdfs:range to the object class when both are stable.#### Shapes, declare sh:NodeShape or sh:PropertyShape resources, use valid SHACL targets such as sh:targetClass, sh:targetNode, sh:targetSubjectsOf, or sh:targetObjectsOf, and validate existing properties with sh:path.ex:Class a owl:Class inside a SHACL shape block. The shape consumes the ontology; it does not own the class declaration.Reqvire ontology blocks are Turtle using OWL/RDFS vocabulary. Prefer compact, stable CURIEs and define terms explicitly before referencing them.
Use canonical Reqvire ontology identity boundaries:
ontology_base and ontology_prefix metadata, for example ontology_base: https://example.org/ontology/managed-platform and ontology_prefix: ex. When rebasing an existing ontology element, use add --override instead of hand-editing metadata so the rewrite chain remains atomic.#, for example @prefix ex: <https://example.org/ontology/managed-platform#>. The prefix label comes from inherited ontology_prefix; the namespace comes from inherited ontology_base.<ontology_base>#; missing or conflicting declarations fail validation.<ontology_base> a owl:Ontology for authored OWL document identity. Child ontology blocks normally define vocabulary terms only. Do not manually model the ontology itself as a vocabulary term inside the term namespace, such as ex:ManagedPlatformOntology a owl:Ontology.rdfs:isDefinedBy <ontology_base> ownership facts only for authored named ontology resources whose IRIs are inside the resolved term namespace. Do not hand-author these on every term; if present on an authored in-namespace resource, they must match the generated ontology document IRI or validation fails. Imported External Ontology terms do not receive Reqvire-generated rdfs:isDefinedBy.derivedFrom between ontology elements. Reqvire derives one ontology document declaration per resolved ontology_base; same-base derivedFrom contributes to the same document, while cross-base hierarchy can become owl:imports.#### External Ontology sections on ontology elements for local external Turtle/TTL, RDF/XML, or JSON-LD vocabularies that are not authored by the Reqvire model. Each section requires prefix, namespace, resource, and source; format defaults to Turtle and supports turtle, ttl, rdf, rdfxml, rdf+xml, and jsonld. format: rdf is RDF/XML for local .rdf ontology files. Sources must be local files, not network fetches. These sections make imported terms available to that ontology context and to semantic contracts that use it, but they do not inject prefixes or triples into authored Turtle and do not promote imported terms to authored Reqvire ontology terms. Full source files are internal dependency inputs; include_external exposes only the used external subset unless you specifically request explicit full-external mode. Do not add external sections for standard OWL/RDF/RDFS/XSD built-in vocabulary or core SHACL shape syntax; Reqvire recognizes those language vocabularies internally. Use External Ontology only for additional local vocabularies, such as project-specific exported ontologies or SHACL extension vocabularies.@prefix skos: <http://www.w3.org/2004/02/skos/core#> . in ontology Turtle without adding a local #### External Ontology section for SKOS, but Turtle must still explicitly declare the prefix it uses. Do not use ontology Turtle as the normal authoring path for Reqvire-native concept schemes or concepts.Native conceptual layer example:
### Engineering Concepts
Curated engineering terminology for system-model authoring.
#### Metadata
* type: concept-scheme
* concept_base: https://example.org/concepts
* concept_prefix: concept
---
### Traceability
The conceptual practice of connecting intent, implementation, verification, and evidence.
#### Metadata
* type: concept
#### Relations
* derivedFrom: [Engineering Concepts](Thesaurus.md#engineering-concepts)
#### Labels
* altLabel: Trace link analysis
Structural layer with optional concept bridge:
@prefix ex: <https://example.org/ontology/managed-platform#> .
@prefix concept: <https://example.org/concepts#> .
@prefix reqvire: <https://www.reqvire.org/ontology#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
ex:TraceLink a owl:Class ;
rdfs:comment "Structural relationship record connecting model elements for impact and coverage analysis." ;
reqvire:mapsToConcept concept:Traceability .
Connected concept-root pattern:
### Engineering Concepts
Curated concept scheme for engineering system-model terms.
#### Metadata
* type: concept-scheme
* concept_base: https://example.org/concepts
* concept_prefix: concept
### Managed Platform Structural Ontology
#### Metadata
* type: ontology
* ontology_base: https://example.org/ontology/managed-platform
* ontology_prefix: ex
#### Ontology
```turtle
@prefix concept: <https://example.org/concepts#> .
@prefix ex: <https://example.org/ontology/managed-platform#> .
@prefix reqvire: <https://www.reqvire.org/ontology#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
<https://example.org/ontology/managed-platform>
a owl:Ontology .
ex:TraceLink a owl:Class ;
reqvire:mapsToConcept concept:Traceability .
```
@prefix ex: <https://example.org/ontology/managed-platform#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
ex:ManagedResource a owl:Class .
ex:Deployment a owl:Class ;
rdfs:subClassOf ex:ManagedResource .
ex:Environment a owl:Class ;
rdfs:subClassOf ex:ManagedResource .
ex:InterfaceSurface a owl:Class .
ex:PublicApiSurface a owl:Class ;
rdfs:subClassOf ex:InterfaceSurface .
ex:PrivateApiSurface a owl:Class ;
rdfs:subClassOf ex:InterfaceSurface .
ex:productionEnvironment a owl:NamedIndividual, ex:Environment ;
ex:resourceIdentifier "env-prod" .
ex:resourceIdentifier a owl:DatatypeProperty ;
rdfs:domain ex:ManagedResource ;
rdfs:range xsd:string .
ex:deploymentBelongsToEnvironment a owl:ObjectProperty ;
rdfs:domain ex:Deployment ;
rdfs:range ex:Environment ;
owl:inverseOf ex:environmentHostsDeployment .
ex:environmentHostsDeployment a owl:ObjectProperty ;
rdfs:domain ex:Environment ;
rdfs:range ex:Deployment .
ex:DeploymentWithEnvironment a owl:Class ;
rdfs:subClassOf ex:Deployment,
[ a owl:Restriction ;
owl:onProperty ex:deploymentBelongsToEnvironment ;
owl:someValuesFrom ex:Environment ] .
ex:IntegrationBoundary a owl:Class ;
owl:equivalentClass ex:InterfaceSurface .
ex:interfaceExposesResource a owl:ObjectProperty .
ex:exposesResource a owl:ObjectProperty ;
owl:equivalentProperty ex:interfaceExposesResource .
ex:environmentHasPolicy a owl:ObjectProperty .
ex:resourceImpactedByPolicy a owl:ObjectProperty ;
owl:propertyChainAxiom (ex:deploymentBelongsToEnvironment ex:environmentHasPolicy) .
ex:PublicApiSurface owl:disjointWith ex:PrivateApiSurface .
Use skos:Concept for curated conceptual vocabulary, owl:Class for structural classes, explicit owl:NamedIndividual plus domain-class typing for stable vocabulary records, owl:DatatypeProperty for literal slots, owl:ObjectProperty for relationship slots, rdfs:subClassOf for is-a hierarchy, rdfs:domain/rdfs:range for stable slot semantics and allowed values, and OWL axioms such as owl:Restriction, owl:inverseOf, owl:equivalentClass, owl:equivalentProperty, owl:disjointWith, and owl:propertyChainAxiom only when the semantics are true. Use reqvire:mapsToConcept as an optional annotation bridge from structural terms to SKOS concepts. Use SHACL shapes for closed-world validation such as required fields, cardinality, enumerations, or datatype checks.
Run focused validation after ontology edits:
npx -y "${REQVIRE_NPX_PACKAGE:-@reqvire-org/reqvire@latest}" --workspace "$PWD" validate
npx -y "${REQVIRE_NPX_PACKAGE:-@reqvire-org/reqvire@latest}" --workspace "$PWD" semantic export --layer ontologies
When working in the Reqvire source repository, the local Rust CLI is also acceptable:
cargo run -q -p reqvire-cli -- --workspace "$PWD" validate
npx claudepluginhub reqvire-org/reqvire --plugin reqvireBuilds, validates, governs RDF/OWL ontologies and knowledge graphs using Open Ontologies MCP server with Oxigraph triple store. For creating, modifying, querying, or managing RDF data.
Orchestrates Reqvire CLI for expert semantic engineering and MBSE. Use for capability modeling, ontology-driven requirements, verification traceability, change impact analysis, and model refactoring.
Parses and queries materials science ontology structures (CMSO, ASMO) — browse class hierarchies, inspect class/property definitions, search terms, and summarize OWL/XML files.