Files
NODEDC_MISSION_CORE/config/observatory-domain-ontology.json
T

337 lines
8.9 KiB
JSON

{
"schema_version": "missioncore.observatory-domain-ontology/v1",
"ontology_id": "mission-core.observatory",
"version": "1.3.0",
"owner": "NODE.DC Mission Core",
"lifecycle": "local-runtime-canonical",
"entities": [
{
"id": "mission.transport-unit",
"identity": "transport_id",
"owner": "transport registry",
"lifecycle": "registered-to-retired"
},
{
"id": "mission.equipment-unit",
"identity": "equipment_id",
"owner": "equipment registry",
"lifecycle": "registered-to-retired"
},
{
"id": "observatory.equipment-mount",
"identity": "mount_id",
"owner": "equipment capture registry",
"lifecycle": "time-bounded"
},
{
"id": "observatory.capture-profile",
"identity": "capture_profile_id",
"owner": "equipment capture registry",
"lifecycle": "versioned"
},
{
"id": "observatory.recorded-session",
"identity": "source_session_id",
"owner": "session archive",
"lifecycle": "recording-to-immutable"
},
{
"id": "observatory.module-version",
"identity": "module_sha256",
"owner": "module registry",
"lifecycle": "installed-or-retired"
},
{
"id": "observatory.container-image",
"identity": "image_sha256",
"owner": "module registry",
"lifecycle": "built-to-retired"
},
{
"id": "observatory.worker-node",
"identity": "worker_node_id",
"owner": "worker registry",
"lifecycle": "registered-to-retired"
},
{
"id": "observatory.composition",
"identity": "composition_sha256",
"owner": "composition store",
"lifecycle": "immutable"
},
{
"id": "observatory.composition-run",
"identity": "run_id",
"owner": "composition run store",
"lifecycle": "append-only"
},
{
"id": "observatory.recorded-job",
"identity": "job_id",
"owner": "recorded job queue",
"lifecycle": "queued-to-terminal"
},
{
"id": "observatory.portable-result",
"identity": "result_id",
"owner": "portable result publisher",
"lifecycle": "immutable"
},
{
"id": "observatory.lab-projection",
"identity": "result_id",
"owner": "session catalog",
"lifecycle": "published"
},
{
"id": "observatory.lab-view-profile",
"identity": "result_id",
"owner": "replay presentation",
"lifecycle": "mutable-per-result"
},
{
"id": "observatory.viewer-pane",
"identity": "pane_id",
"owner": "replay presentation",
"lifecycle": "versioned-contract"
},
{
"id": "observatory.viewer-layer",
"identity": "layer_id",
"owner": "replay presentation",
"lifecycle": "versioned-contract"
}
],
"relations": [
{
"id": "observatory.equipment-mount.mounts_equipment",
"from": "observatory.equipment-mount",
"to": "mission.equipment-unit",
"cardinality": "many-to-one"
},
{
"id": "observatory.equipment-mount.attaches_to_transport",
"from": "observatory.equipment-mount",
"to": "mission.transport-unit",
"cardinality": "many-to-one"
},
{
"id": "observatory.recorded-session.captured_on_transport",
"from": "observatory.recorded-session",
"to": "mission.transport-unit",
"cardinality": "many-to-zero-or-one"
},
{
"id": "observatory.recorded-session.captured_with_equipment",
"from": "observatory.recorded-session",
"to": "mission.equipment-unit",
"cardinality": "many-to-many"
},
{
"id": "observatory.recorded-session.uses_equipment_mount",
"from": "observatory.recorded-session",
"to": "observatory.equipment-mount",
"cardinality": "many-to-many"
},
{
"id": "observatory.recorded-session.uses_capture_profile",
"from": "observatory.recorded-session",
"to": "observatory.capture-profile",
"cardinality": "many-to-one"
},
{
"id": "observatory.composition-run.uses_recorded_session",
"from": "observatory.composition-run",
"to": "observatory.recorded-session",
"cardinality": "many-to-one"
},
{
"id": "observatory.composition.contains_module",
"from": "observatory.composition",
"to": "observatory.module-version",
"cardinality": "one-to-many"
},
{
"id": "observatory.module-version.implemented_by_image",
"from": "observatory.module-version",
"to": "observatory.container-image",
"cardinality": "many-to-one"
},
{
"id": "observatory.container-image.installed_on_worker",
"from": "observatory.container-image",
"to": "observatory.worker-node",
"cardinality": "many-to-many"
},
{
"id": "observatory.composition-run.applies_composition",
"from": "observatory.composition-run",
"to": "observatory.composition",
"cardinality": "many-to-one"
},
{
"id": "observatory.composition-run.uses_job",
"from": "observatory.composition-run",
"to": "observatory.recorded-job",
"cardinality": "one-to-many"
},
{
"id": "observatory.recorded-job.executes_on_worker",
"from": "observatory.recorded-job",
"to": "observatory.worker-node",
"cardinality": "many-to-one"
},
{
"id": "observatory.recorded-job.publishes_result",
"from": "observatory.recorded-job",
"to": "observatory.portable-result",
"cardinality": "one-to-zero-or-one"
},
{
"id": "observatory.composition-run.projects_lab",
"from": "observatory.composition-run",
"to": "observatory.lab-projection",
"cardinality": "one-to-zero-or-one"
},
{
"id": "observatory.lab-projection.has_view_profile",
"from": "observatory.lab-projection",
"to": "observatory.lab-view-profile",
"cardinality": "one-to-zero-or-one"
},
{
"id": "observatory.module-version.exposes_layer",
"from": "observatory.module-version",
"to": "observatory.viewer-layer",
"cardinality": "many-to-many"
},
{
"id": "observatory.viewer-layer.belongs_to_pane",
"from": "observatory.viewer-layer",
"to": "observatory.viewer-pane",
"cardinality": "many-to-one"
}
],
"panes": [
{
"pane_id": "camera",
"label": "Камера",
"order": 10
},
{
"pane_id": "spatial",
"label": "Облако точек",
"order": 20
}
],
"layers": [
{
"layer_id": "camera.source",
"pane_id": "camera",
"label": "КАМЕРА",
"control": "toggle",
"order": 10
},
{
"layer_id": "camera.ddrnet",
"pane_id": "camera",
"label": "DDRNET",
"control": "toggle",
"order": 20
},
{
"layer_id": "camera.eomt",
"pane_id": "camera",
"label": "EOMT",
"control": "toggle",
"order": 30
},
{
"layer_id": "camera.detections",
"pane_id": "camera",
"label": "РАМКИ",
"control": "toggle",
"order": 40
},
{
"layer_id": "spatial.source-points",
"pane_id": "spatial",
"label": "ИСХ. ТОЧКИ",
"control": "toggle",
"order": 10
},
{
"layer_id": "spatial.local-slam",
"pane_id": "spatial",
"label": "ЛОК. SLAM",
"control": "toggle-with-settings",
"order": 20
},
{
"layer_id": "spatial.tgs",
"pane_id": "spatial",
"label": "TGS",
"control": "toggle",
"order": 30
}
],
"module_projections": [
{
"module_id": "ddrnet",
"configuration_label": "DDRNet-39 · GOOSE",
"layers": [
"camera.source",
"camera.ddrnet"
]
},
{
"module_id": "eomt",
"configuration_label": "EoMT Large · Cityscapes",
"layers": [
"camera.source",
"camera.eomt"
]
},
{
"module_id": "rf-detr",
"configuration_label": "RF-DETR Large",
"layers": [
"camera.source",
"camera.detections"
]
},
{
"module_id": "tgs",
"configuration_label": "TRAVEL TGS",
"layers": [
"spatial.source-points",
"spatial.local-slam",
"spatial.tgs"
]
},
{
"module_id": "object-distance",
"configuration_label": "Дистанция до объектов · K1 LiDAR",
"layers": [
"camera.source",
"camera.detections",
"spatial.source-points",
"spatial.local-slam"
]
}
],
"named_queries": [
"recording.capture-context",
"composition.configuration-label",
"composition.member-results",
"composition.viewer-layers",
"composition.ready-state",
"lab.view-profile"
],
"platform_sync": {
"mode": "none",
"promotion_gate": "stable cross-product meaning with an agreed Platform Ontology migration",
"platform_repository_is_runtime_dependency": false
}
}