Draft Ontology module

This commit is contained in:
2026-04-07 16:45:28 +02:00
parent 1117018fad
commit a617985789
3 changed files with 250 additions and 0 deletions

View File

@@ -3,6 +3,7 @@ import { config } from "../../config.js";
import AppState from "../../js/state.js";
import { normalizeNodes } from "../../js/utils/nodeUtils.js";
import { initUI } from "../../js/ui.js";
import { loadOntology } from "../../js/ontology.js";
AppState.currentScene = 'ssgp';
const marker = config.markers.find(m => m.id === 'ssgp');
@@ -10,3 +11,6 @@ AppState.normalizedNodes = normalizeNodes(marker.nodes);
openScene(marker, AppState.normalizedNodes);
initUI();
// DEBUG
console.debug(await loadOntology('ontology.json'));

230
scenes/ssgp/ontology.json Executable file
View File

@@ -0,0 +1,230 @@
{
"ontology": "Baroque Theatre Ontology (BT)",
"generatedOn": "2026-01-29",
"note": "Only bt: classes and bt: subclass relations; excludes Core; no CIDOC/BOT equivalences included.",
"domains": {
"TheatreArchitecture": [
{
"id": "bt:ArchitecturalComponent",
"label": "ArchitecturalComponent",
"children": [
{
"id": "bt:ArchitecturalWings",
"label": "ArchitecturalWings",
"children": []
},
{
"id": "bt:Gridiron",
"label": "Gridiron",
"children": []
},
{
"id": "bt:Proscenium",
"label": "Proscenium",
"children": []
},
{
"id": "bt:StructuralBackdrop",
"label": "StructuralBackdrop",
"children": []
},
{
"id": "bt:TechnicalGallery",
"label": "TechnicalGallery",
"children": []
},
{
"id": "bt:Trapdoor",
"label": "Trapdoor",
"children": []
}
]
},
{
"id": "bt:ArchitecturalSpace",
"label": "ArchitecturalSpace",
"children": [
{
"id": "bt:Auditorium",
"label": "Auditorium",
"children": [
{
"id": "bt:BoxTier",
"label": "BoxTier",
"children": [
{
"id": "bt:Box",
"label": "Box",
"children": []
}
]
},
{
"id": "bt:Gallery",
"label": "Gallery",
"children": []
},
{
"id": "bt:Stalls",
"label": "Stalls",
"children": []
}
]
},
{
"id": "bt:BackstageArea",
"label": "BackstageArea",
"children": []
},
{
"id": "bt:CirculationRoute",
"label": "CirculationRoute",
"children": []
},
{
"id": "bt:Entrance",
"label": "Entrance",
"children": []
},
{
"id": "bt:OrchestraPit",
"label": "OrchestraPit",
"children": []
},
{
"id": "bt:Stage",
"label": "Stage",
"children": [
{
"id": "bt:Overstage",
"label": "Overstage",
"children": []
},
{
"id": "bt:Understage",
"label": "Understage",
"children": []
}
]
}
]
},
{
"id": "bt:TheatreBuilding",
"label": "TheatreBuilding",
"children": []
}
],
"ScenicApparatus": [
{
"id": "bt:ScenicApparatus",
"label": "ScenicApparatus",
"children": [
{
"id": "bt:Backdrop",
"label": "Backdrop",
"children": [
{
"id": "bt:FixedBackdrop",
"label": "FixedBackdrop",
"children": []
},
{
"id": "bt:MobileBackdrop",
"label": "MobileBackdrop",
"children": []
}
]
},
{
"id": "bt:LightingDevice",
"label": "LightingDevice",
"children": []
},
{
"id": "bt:ScenicMachine",
"label": "ScenicMachine",
"children": [
{
"id": "bt:FlightMechanism",
"label": "FlightMechanism",
"children": []
},
{
"id": "bt:MovingDevice",
"label": "MovingDevice",
"children": []
}
]
},
{
"id": "bt:ScenicObject",
"label": "ScenicObject",
"children": []
},
{
"id": "bt:SoundEffectDevice",
"label": "SoundEffectDevice",
"children": []
}
]
}
],
"PerformativeEvent": [
{
"id": "bt:PerformativeEvent",
"label": "PerformativeEvent",
"children": [
{
"id": "bt:PublicCelebration",
"label": "PublicCelebration",
"children": []
},
{
"id": "bt:Rehearsal",
"label": "Rehearsal",
"children": []
},
{
"id": "bt:TheatricalPerformance",
"label": "TheatricalPerformance",
"children": []
}
]
}
],
"DocumentaryResource": [
{
"id": "bt:DocumentaryResource",
"label": "DocumentaryResource",
"children": [
{
"id": "bt:DigitalModel",
"label": "DigitalModel",
"children": []
},
{
"id": "bt:IconographicSource",
"label": "IconographicSource",
"children": []
},
{
"id": "bt:TechnicalDocument",
"label": "TechnicalDocument",
"children": []
},
{
"id": "bt:TextualSource",
"label": "TextualSource",
"children": []
}
]
},
{
"id": "bt:DocumentationEvent",
"label": "DocumentationEvent",
"children": []
}
]
}
}