Files
cleveragents-core/docs/reference/uko_layer3_technology_vocabularies.md
hamza.khyari 89eaee008d
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 19s
CI / build (pull_request) Successful in 27s
CI / quality (pull_request) Successful in 29s
CI / security (pull_request) Successful in 41s
CI / typecheck (pull_request) Successful in 45s
CI / e2e_tests (pull_request) Successful in 1m29s
CI / unit_tests (pull_request) Successful in 3m19s
CI / integration_tests (pull_request) Successful in 3m30s
CI / docker (pull_request) Successful in 54s
CI / coverage (pull_request) Successful in 6m8s
CI / benchmark-regression (pull_request) Successful in 38m9s
feat(acms): implement UKO Layer 3 Technology Vocabularies (uko-py, uko-ts, uko-rs, uko-java)
Implement Layer 3 technology-specific UKO vocabulary extensions for Python,
TypeScript, Rust, and Java with language-specific classes, properties, and
DetailLevelMap insertions.

- 4 OWL/Turtle ontology files with language-specific semantic classes
- DetailLevelMap insertion logic with correct integer reassignment
- Provenance contract (5 required fields per spec)
- Full 4-layer chain resolution (Layer 3 -> Layer 2 -> Layer 1 -> Layer 0)
- Comprehensive Behave test suite (63 scenarios)

ISSUES CLOSED: #576
2026-03-16 12:11:08 +00:00

8.3 KiB

UKO Layer 3 Technology Vocabularies

Overview

Layer 3 of the Unified Knowledge Ontology (UKO) extends Layer 2 paradigm vocabularies (or Layer 1 directly) with technology-specific semantic refinements for four programming languages:

  • Python (uko-py:) -- decorators, .pyi type stubs, test associations
  • TypeScript (uko-ts:) -- export markers, ambient types, generics, mapped/conditional types
  • Rust (uko-rs:) -- visibility, lifetimes, trait bounds, derive macros, unsafe markers
  • Java (uko-java:) -- package visibility, modifiers, annotations, checked exceptions

Each vocabulary defines OWL classes, properties, Layer 2 dependencies, and optional DetailLevelMap insertions per docs/specification.md ~lines 44405-44420.

Namespace Prefixes

Prefix IRI Layer
uko-py: https://cleveragents.ai/ontology/uko/py# 3
uko-ts: https://cleveragents.ai/ontology/uko/ts# 3
uko-rs: https://cleveragents.ai/ontology/uko/rs# 3
uko-java: https://cleveragents.ai/ontology/uko/java# 3

Python Vocabulary (uko-py:)

Classes

Class Superclass Description
uko-py:PythonModule uko-code:Module A Python module (.py file).
uko-py:PythonClass uko-oo:Class A Python class definition.
uko-py:PythonFunction uko-oo:Method A Python function or method.
uko-py:PythonDecorator uko-code:TypeDefinition A decorator chain entry.
uko-py:PythonTypeStub uko-code:TypeDefinition .pyi stub type annotation.

Properties

Property Domain Range Type
uko-py:hasDecorator PythonFunction, PythonClass PythonDecorator ObjectProperty
uko-py:hasTypeStub PythonModule, PythonClass, PythonFunction PythonTypeStub ObjectProperty
uko-py:hasTest PythonFunction, PythonClass PythonFunction ObjectProperty
uko-py:decoratorName PythonDecorator xsd:string DatatypeProperty
uko-py:stubAnnotation PythonTypeStub xsd:string DatatypeProperty

DetailLevelMap Insertions

Python inserts 3 levels into the OO parent map, producing a 15-level effective map:

Depth Name Description
7 DECORATED_SIGNATURES Decorator chains (@property, @staticmethod, custom).
11 TYPE_STUBS Type annotations from .pyi stub files.
14 WITH_TESTS Full source + associated test cases.

TypeScript Vocabulary (uko-ts:)

Classes

Class Superclass Description
uko-ts:TypeScriptModule uko-code:Module A TypeScript module (.ts/.tsx).
uko-ts:TypeScriptClass uko-oo:Class A TypeScript class.
uko-ts:TypeScriptInterface uko-oo:Interface A TypeScript interface (generics, mapped/conditional).
uko-ts:TypeScriptFunction uko-oo:Method A TypeScript function or method.

Properties

Property Domain Range Type
uko-ts:exportKind TypeScriptClass, TypeScriptInterface, TypeScriptFunction, TypeScriptModule xsd:string DatatypeProperty
uko-ts:isAmbient TypeScriptClass, TypeScriptInterface, TypeScriptFunction xsd:boolean DatatypeProperty
uko-ts:genericParameters TypeScriptClass, TypeScriptInterface, TypeScriptFunction xsd:string DatatypeProperty
uko-ts:isMappedType TypeScriptInterface xsd:boolean DatatypeProperty
uko-ts:isConditionalType TypeScriptInterface xsd:boolean DatatypeProperty
uko-ts:implementsInterface TypeScriptClass TypeScriptInterface ObjectProperty

DetailLevelMap Insertions

TypeScript extends at the SIGNATURES level with no new depth insertions (12-level identity map).

Rust Vocabulary (uko-rs:)

Classes

Class Superclass Description
uko-rs:RustStruct uko-oo:Class A Rust struct definition.
uko-rs:RustTrait uko-oo:Interface A Rust trait definition.
uko-rs:RustImpl uko-code:TypeDefinition A Rust impl block.
uko-rs:RustFunction uko-oo:Method A Rust function or method.
uko-rs:RustDeriveAttribute uko-code:TypeDefinition A #[derive(...)] macro attribute.

Properties

Property Domain Range Type
uko-rs:visibility RustStruct, RustTrait, RustFunction xsd:string DatatypeProperty
uko-rs:lifetimeParameters RustStruct, RustImpl, RustFunction, RustTrait xsd:string DatatypeProperty
uko-rs:traitBounds RustStruct, RustFunction, RustImpl xsd:string DatatypeProperty
uko-rs:isUnsafe RustFunction, RustImpl, RustTrait xsd:boolean DatatypeProperty
uko-rs:deriveTraits RustDeriveAttribute xsd:string DatatypeProperty
uko-rs:mustUse RustStruct, RustFunction xsd:boolean DatatypeProperty
uko-rs:hasDerive RustStruct RustDeriveAttribute ObjectProperty
uko-rs:implementsTrait RustImpl RustTrait ObjectProperty

DetailLevelMap Insertions

Rust extends at the SIGNATURES level with no new depth insertions (12-level identity map).

Java Vocabulary (uko-java:)

Classes

Class Superclass Description
uko-java:JavaClass uko-oo:Class A Java class definition.
uko-java:JavaInterface uko-oo:Interface A Java interface.
uko-java:JavaMethod uko-oo:Method A Java method.
uko-java:JavaAnnotation uko-code:TypeDefinition A Java annotation entry.
uko-java:JavaCheckedException uko-code:TypeDefinition A checked exception declaration.

Properties

Property Domain Range Type
uko-java:packageVisibility JavaClass, JavaInterface, JavaMethod xsd:string DatatypeProperty
uko-java:isFinal JavaClass, JavaMethod xsd:boolean DatatypeProperty
uko-java:isAbstract JavaClass, JavaMethod xsd:boolean DatatypeProperty
uko-java:isSealed JavaClass, JavaInterface xsd:boolean DatatypeProperty
uko-java:hasAnnotation JavaClass, JavaInterface, JavaMethod JavaAnnotation ObjectProperty
uko-java:annotationName JavaAnnotation xsd:string DatatypeProperty
uko-java:throwsException JavaMethod JavaCheckedException ObjectProperty
uko-java:exceptionClass JavaCheckedException xsd:string DatatypeProperty

DetailLevelMap Insertions

Java extends at the SIGNATURES level with no new depth insertions (12-level identity map).

Shared Base Types

All Layer 3 vocabularies use shared types from vocabulary.py:

Type Description
ProvenanceInfo Frozen Pydantic model with 2 required fields (source_resource, source_path) and 3 defaulted fields (source_range, valid_from, is_current).
UKOClass Frozen OWL class definition (uri, label, comment, subclass_of, provenance).
UKOProperty Frozen OWL property definition (uri, label, comment, domain, range_uri, is_object_property, provenance).
Layer2Dependency Declared dependency on a Layer 1/2 URI (uri, layer, prefix, description).
UKOVocabulary Container aggregating classes, properties, deps, inserted levels, and optional provenance.

Utility Functions

Function Description
build_detail_level_map(parent_levels, insertions) Merge parent + child insertions with consecutive integer re-numbering.
resolve_detail_level(name, levels, parent_levels=None) Look up a named level in levels, falling back to parent_levels.

Source Files

File Description
src/cleveragents/acms/uko/vocabulary.py Shared base types and utility functions.
src/cleveragents/acms/uko/layer3_py.py Python vocabulary definitions.
src/cleveragents/acms/uko/layer3_ts.py TypeScript vocabulary definitions.
src/cleveragents/acms/uko/layer3_rs.py Rust vocabulary definitions.
src/cleveragents/acms/uko/layer3_java.py Java vocabulary definitions.
docs/ontology/uko-py.ttl Python OWL/Turtle ontology.
docs/ontology/uko-ts.ttl TypeScript OWL/Turtle ontology.
docs/ontology/uko-rs.ttl Rust OWL/Turtle ontology.
docs/ontology/uko-java.ttl Java OWL/Turtle ontology.