
# ========== 1. 本体类列表 ==========
ONTOLOGY = [
    "舰艇", "系统", "子系统", "设备", "维修项目", "维修工作", "操作项目", 
    "故障模式",  "安全警告", "工作原理", 
    "组成", "技术指标参数", "布置情况", "保障设施保障设备工具信息汇总表",
    "消耗材料信息汇总表", "维修安全防护及注意事项汇总表", "图册", "安全使用操作",
    "调试", "维护保养", "常见问题分析及排除", "功能", "接口", 
    "性能指标", "操作使用","环境条件","设计单位","操作程序"
]

# ========== 2. 本体描述 ==========
ONTOLOGY_DESCRIPTION = {
    "舰艇": ["代表一艘完整海上作战或保障平台的实体，是所有系统、设备和零部件的最高层级载体。区别于“系统”或“设备”，舰艇具有独立的型号、弦号和部队归属，不可作为其他舰艇的组成部分。"],
    "系统": ["舰艇中实现某一类综合功能（如动力、导航、通信）的集成化功能单元，由多个子系统或设备协同组成。与“设备”不同，系统本身侧重于逻辑/功能层面的集合与统筹；与“舰艇”不同，系统不具备独立航行能力或部队归属。"],
    "子系统": ["系统内部为实现特定子功能而划分的独立功能模块，是系统的直接组成部分。子系统既具备相对独立的功能完整性（可单独测试或隔离），又必须依赖所属系统才能发挥最终战术效能，是连接系统逻辑与物理设备的中间层级。"],
    "设备": ["构成子系统或直接隶属于系统的具有独立物理形态和功能的具体装置。设备是执行具体战术动作或保障任务的最小功能实体（如雷达天线座、柴油发电机、水泵），由多个部件组装而成，可直接进行整体拆装和替换。"],
    "维修项目": ["针对特定装备或系统设定的标准化维护任务类别，定义了“需要做什么”（如定期更换滤芯、年度校准、预防性检查）。维修项目是制定维修计划和工单的依据，侧重于周期性和预防性，不直接包含具体的执行步骤细节。"],
    "维修工作": ["执行具体“维修项目”时实际开展的一系列技术操作过程的总和。维修工作包含了从故障诊断、部件拆卸、修理/更换、到重新安装测试的全流程实际操作，是维修人员消耗工时和资源的直接体现，侧重于“正在做”的过程。"],
    "操作项目": ["舰员在日常使用、值更或训练过程中，对装备执行的具体动作指令或检查任务（如启动、切换模式、参数读取、日常擦拭）。操作项目侧重于装备的正确使用与状态监控，区别于以修复或深度维护为目的的“维修工作”。"],
    "故障模式": ["对舰艇装备在运行过程中表现出的异常状态、性能退化或功能丧失现象的标准化描述。故障模式明确了“发生了什么错误”（如断裂、短路、泄漏、卡滞），是关联故障现象与维修方案的桥梁，不包含原因分析或解决措施。"],
    "安全警告": ["针对发动机及相关设备在操作、维修过程中的人身安全防护、设备损坏风险及应急处置的强制性规范和提醒。"],
    "工作原理": ["阐述设备或系统如何通过能量转换、机械运动或逻辑控制实现其预定功能的动态过程描述。"],
    "组成": ["定义设备的物理或逻辑构成，包括系统、子系统及零部件之间的层级隶属关系。"],
    "技术指标参数": ["设备的额定功率、转速、尺寸、重量等可量化的物理性能参数。"],
    "布置情况": ["描述设备及其各组成部分在船体或机舱内的安装位置与空间分布。"],
    "保障设施保障设备工具信息汇总表": ["执行维修或保障任务时所需的专用或通用工具、测量仪器及辅助设施清单。"],
    "消耗材料信息汇总表": ["执行维修或保障任务时所需消耗的物料，包括润滑油、密封件、清洗剂等耗材清单。"],
    "维修安全防护及注意事项汇总表": ["在执行具体维修项目时，为确保作业安全而必须遵守的防护措施、注意事项及环境要求汇总。"],
    "图册": ["图录是对舰艇及其系统、设备的图片资料进行分类、描述和索引的集合。图录中的每个条目通常包含图片文件、名称、描述、拍摄角度、相关系统或设备的关联信息等。图录的核心作用在于提供直观的视觉参考，辅助理解设备结构、维修步骤和操作方法等内容，是维修手册和操作指南的重要补充。"],
    "安全使用操作": ["安全手册主要描述设备主要安全防护、安装方法、启动及运行过程中的操作、注意事项及防范措施等的基本操作规范"],
    "调试": ["描述设备的安装调试内容"],
    "维护保养": ["描述设备的维护保养步骤以及流程"],
    "常见问题分析及排除": ["描述设备的常见问题分析及排除流程"],
    "接口": ["描述设备的接口"],
    "性能指标": ["描述设备的性能指标"],
    "操作使用": ["主要描述设备主要安装方法、启动及运行过程中的操作、注意事项及防范措施等的基本操作规范"],
    "功能": ["主要描述设备使用功能"],
    "环境条件": ["主要描述设备运行的环境条件"],
    "器材保障" : ["设备的器材保障"],
    "设计单位" : ["设备来源设计单位设计"],
    "操作程序" : ["设备的操作使用程序"]
}

# ========== 3. 节点类型属性定义 ==========
NODE_TYPES = {
    "舰艇": ["名称", "型号", "弦号", "设计单位", "总装工厂", "所属部队"],
    "系统": ["名称", "型号", "生产单位", "等级", "功能"],
    "子系统": ["名称", "型号", "生产单位", "等级", "功能"],
    "维修工作": ["名称", "故障原因", "故障影响", "故障类型", "发生时间", "处置情况", "修复情况", "维修方案"],
    "故障模式": ["名称", "故障原因", "故障影响", "故障类型", "发生时间", "处置情况", "修复情况", "维修方案"],
    "维修项目": ["名称", "维修项目编号", "维修间隔期", "安全注意事项", "保障设备（工具）", "备品备件", "消耗材料", "人力人员","修前判据", "修理步骤及工艺", "验收标准"],
    "操作项目": ["名称", "操作项目编号", "安全防护", "注意事项", "保障设施、保障设备（工具）", "人力人员", "操作步骤"],
    "安全警告": ["名称", "警告", "注意", "原文"],
    "工作原理": [
        "名称", "主发动机工作原理", "机座与机架组件", "曲柄连杆机构", 
        "燃烧室部件", "排气阀驱动系统", "燃油喷射系统", "扫气与增压系统", "原文"
    ],
    "组成": ["名称", "描述", "原文"],
    "技术指标参数": ["名称", "功能特性", "能力限制", "额定输出", "环境特性", "重量", "其它指标", "原文"],
    "布置情况": ["名称", "描述", "原文"],
    "保障设施保障设备工具信息汇总表": [
        "名称", "房号", "规格/型号", "生产单位", "通用/专用", "重量", 
        "参考价（元）", "存放位置", "备注", "原文"
    ],
    "消耗材料信息汇总表": ["名称", "牌号/品级/规格", "生产单位", "备注", "原文"],
    "维修安全防护及注意事项汇总表": ["名称", "安全防护", "注意事项", "原文"],
    "图册": ["名称", "描述", "相关系统或设备", "拍摄角度", "原文"],
    "安全使用操作": ["名称", "内容", "使用前的准备和检查"],
    "调试": ["名称", "内容", "原文"],
    "维护保养": ["名称", "内容", "原文"],
    "常见问题分析及排除": ["名称", "内容", "原文"],
    "接口": ["名称", "内容", "原文"],
    "性能指标": ["名称", "内容", "原文"],
    "操作使用": ["名称", "内容", "原文"],
    "功能": ["名称", "内容", "原文"],
    "环境条件": ["名称", "内容", "原文"],
    "设计单位": ["名称", "内容", "原文"],
    "操作程序": ["名称", "内容", "原文"],

}

# ========== 4. 关系类型列表 ==========
RELATIONSHIPS = [
    "包含", "维修工作中包含故障的描述", "发生故障使用维修工作", "操作时使用", 
    "维修时使用", "指导", "需求", "导致", "描述", "具有","配备","包含故障","实现","适用","配套","调试","支持操作","依赖","安全警告","设计","使用"
]

# ========== 5. 关系类型定义 ==========
RELATIONSHIP_TYPES = {
    "包含": [
        "舰艇包含系统", "系统包含子系统", "子系统包含设备","设备包含组成"
    ],
    "维修工作中包含故障的描述": ["维修工作中包含故障的描述"],
    "维修时使用": ["设备维修时使用维修项目"],
    "发生故障使用维修工作": ["设备发生故障使用维修工作指导"],
    "操作时使用": ["操作程序操作时使用操作项目"],
    "指导": ["安全警告指导维修安全防护及注意事项汇总表", "工作原理指导基本情况"],
    "导致": ["非正常运行条件导致故障后果"],
    "需求": [
        "维修安全防护及注意事项汇总表需求保障设施保障设备工具信息汇总表",
        "维修安全防护及注意事项汇总表需求消耗材料信息汇总表"
    ],
    "具有": [
        "设备具有常见问题分析及排除",
        "设备具有工作原理","设备具有技术指标参数"
    ],
    "包含故障" : ["维修工作包含故障"],
    "配备" : ["设备配备接口"],
    "实现" : ["设备实现功能"],
    "适用" :  ["设备适用环境条件"],
    "配套" : ["设备配套图录"],
    "调试" : ["设备调试"],
    "安全警告" : ["设备安全警告"],
    "支持操作" : ["设备支持操作使用"],
    "依赖" : ["设备依赖器材保障"],
    "设计" : ["设计单位设计设备"],
    "使用" : ["操作使用操作程序"]
}

# ========== 6. 便捷函数：获取完整配置 ==========
def get_ontology_config():
    """返回完整的本体配置字典"""
    return {
        "ontology": ONTOLOGY,
        "ontology_description": ONTOLOGY_DESCRIPTION,
        "node_types": NODE_TYPES,
        "relationships": RELATIONSHIPS,
        "relationship_types": RELATIONSHIP_TYPES
    }

def get_ontology_list():
    """获取本体类列表"""
    return ONTOLOGY.copy()

def get_ontology_description():
    """获取本体描述字典"""
    return ONTOLOGY_DESCRIPTION.copy()

def get_node_types():
    """获取节点类型定义"""
    return NODE_TYPES.copy()

def get_relationships():
    """获取关系类型列表"""
    return RELATIONSHIPS.copy()

def get_relationship_types():
    """获取关系类型定义"""
    return RELATIONSHIP_TYPES.copy()


