ad53a659de
CI / lint (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 15s
CI / security (pull_request) Successful in 30s
CI / typecheck (pull_request) Successful in 35s
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 14s
CI / unit_tests (pull_request) Successful in 2m8s
CI / integration_tests (pull_request) Successful in 3m36s
CI / docker (pull_request) Successful in 39s
CI / coverage (pull_request) Successful in 5m19s
CI / lint (push) Successful in 14s
CI / typecheck (push) Successful in 49s
CI / quality (push) Successful in 16s
CI / security (push) Successful in 1m15s
CI / build (push) Successful in 14s
CI / unit_tests (push) Successful in 3m25s
CI / integration_tests (push) Successful in 4m53s
CI / benchmark-regression (push) Has been skipped
CI / coverage (push) Successful in 6m6s
CI / benchmark-publish (push) Successful in 15m16s
CI / docker (push) Successful in 39s
CI / benchmark-regression (pull_request) Successful in 34m22s
Add UKO Layer 0-3 ontology skeleton (RDF/TTL) with base URI, version IRI, and prefix conventions. Python loaders handle URI parsing, inheritance resolution, versioning metadata, and validation of undefined prefixes and missing rdf:type. Includes Behave BDD scenarios, Robot Framework integration tests, ASV benchmarks, and reference documentation. - Resolve rdfs:domain and rdfs:range values to full URIs in parser - Fix type: ignore in Robot helper with proper Callable typing - Export UKO models from core/__init__.py - Add parent-URI existence validation in validate() - Rename scenario to clarify parser-skips vs validation-rejects - Add scenario testing validation with injected typeless node - Add Scenario Outline for multi-layer node count assertions - TTL: Layer 0 classes (InformationUnit, Container, Atom, Annotation, Boundary) with contains/references/dependsOn properties. Layer 1 uko-code: classes (Module, Callable, TypeDefinition, TestCase, Import) with hasReturnType/hasParameters/testsCallable. Layer 2 uko-oo: classes (Class, Interface, Method, Attribute) with inheritsFrom/implements and rdfs:subPropertyOf. New URI scheme cleveragents.ai/ontology/uko#. - TTL: uko-oo:Class has dual rdfs:subClassOf (TypeDefinition + Container), uko-oo:Interface has dual rdfs:subClassOf (TypeDefinition + Boundary). - Model: UKONode.parent_uri replaced with parent_uris: tuple[str, ...] to support multi-parent rdfs:subClassOf. - Loader: prefix regex supports hyphenated names (uko-code, uko-oo). Semantic domain prefix maps (_LAYER_PREFIXES, _LAYER_IRI_PREFIXES). Comma-separated rdfs:subClassOf parsing. rdfs:domain/range/subPropertyOf URI resolution. BFS DAG traversal with DFS cycle detection for resolve_inheritance. HTTP URI skip in validation (D-1 fix). Duplicate error guard (B-1 fix). Consistent quoting (M-1 fix). - Services __init__: export UKOLoader and UKOValidationError. - Tests: 24 Behave scenarios (multi-parent, domain/range resolution, non-existent parent validation). 4 Robot smoke tests. Consolidated context attributes (T-3 fix). - Docs: uko.md written for spec-aligned structure. - Namespace prefix match in parent-URI validation includes a delimiter guard (# or /) preventing false positives on URIs that share the UKO prefix string (e.g. ukobogus:, ukoo:). ISSUES CLOSED: #189
42 lines
1.7 KiB
Plaintext
42 lines
1.7 KiB
Plaintext
*** Settings ***
|
|
Documentation Integration smoke tests for UKO ontology loader
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER} ${CURDIR}/helper_uko_ontology.py
|
|
|
|
*** Test Cases ***
|
|
Load UKO Ontology From TTL File
|
|
[Documentation] Load docs/ontology/uko.ttl and verify parsing succeeds
|
|
${result}= Run Process ${PYTHON} ${HELPER} load-ttl cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} uko-load-ok
|
|
|
|
Validate UKO Ontology
|
|
[Documentation] Load and validate the ontology with no errors
|
|
${result}= Run Process ${PYTHON} ${HELPER} validate cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} uko-validate-ok
|
|
|
|
Resolve Inheritance Chain
|
|
[Documentation] Resolve uko-oo:Class inheritance chain through layers
|
|
${result}= Run Process ${PYTHON} ${HELPER} resolve-inheritance cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} uko-inheritance-ok
|
|
|
|
Get Layer Nodes
|
|
[Documentation] Retrieve all Layer 0 foundation nodes
|
|
${result}= Run Process ${PYTHON} ${HELPER} layer-nodes cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} uko-layer-nodes-ok
|