@prefix asme: <http://proethica.org/ontology/asme#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix proethica: <http://proethica.org/ontology/intermediate#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://proethica.org/ontology/asme> a owl:Ontology ;
    rdfs:label "ASME Code of Ethics Ontology" ;
    dct:created "2025-08-28"^^xsd:date ;
    dct:description "Ontology representation of the ASME Code of Ethics for mechanical engineers" ;
    dct:source <https://www.asme.org/about-asme/governance/ethics> ;
    dct:title "American Society of Mechanical Engineers Code of Ethics" ;
    owl:imports <http://proethica.org/ontology/intermediate> .

asme:ASMECodeOfEthics a proethica:Resource ;
    rdfs:label "ASME Code of Ethics" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    dct:source <https://www.asme.org/about-asme/governance/ethics> ;
    rdfs:comment "Primary ethical resource for mechanical engineers" ;
    skos:definition "Primary ethical resource for mechanical engineers",
        "The official ethical guidelines of the American Society of Mechanical Engineers" .

asme:ASMEEthicsCommittee a proethica:Resource ;
    rdfs:label "ASME Ethics Committee" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    rdfs:comment "Professional ethics oversight body" ;
    skos:definition "ASME committee responsible for ethics guidance and enforcement",
        "Professional ethics oversight body" .

asme:AvoidConflictsOfInterest a proethica:Obligation ;
    rdfs:label "Avoid Conflicts of Interest" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:derivedFromPrinciple asme:FaithfulAgent ;
    proethica:hasUrgency "immediate" ;
    rdfs:comment "Professional independence requirement" ;
    skos:definition "Engineers must avoid situations where personal interests conflict with professional duties",
        "Professional independence requirement" .

asme:ConductSafetyAnalysis a proethica:Action ;
    rdfs:label "Conduct Safety Analysis" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasUrgency "planned" ;
    proethica:supportsPrinciple asme:PublicSafetyHealthWelfare ;
    rdfs:comment "Required safety evaluation process" ;
    skos:definition "Required safety evaluation process",
        "The action of performing comprehensive safety analysis of mechanical systems" .

asme:DesignEngineer a proethica:Role ;
    rdfs:label "Mechanical Design Engineer" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasResponsibilities asme:EnsurePublicSafety ;
    rdfs:comment "Specialized design role" ;
    skos:definition "A mechanical engineer specializing in the design of mechanical systems and components",
        "Specialized design role" .

asme:EnvironmentalProtection a proethica:Principle ;
    rdfs:label "Environmental Protection" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasEthicalWeight "fundamental" ;
    rdfs:comment "Environmental responsibility in engineering practice" ;
    skos:definition "Environmental responsibility in engineering practice",
        "Mechanical engineers shall consider environmental impact in their professional activities and strive to contribute to sustainable development" .

asme:FairCompetition a proethica:Principle ;
    rdfs:label "Fair Competition" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasEthicalWeight "fundamental" ;
    rdfs:comment "Professional conduct in competitive situations" ;
    skos:definition "Mechanical engineers shall not compete unfairly with others by making false or malicious statements or by other improper or questionable acts",
        "Professional conduct in competitive situations" .

asme:MaintainTechnicalCompetence a proethica:Obligation ;
    rdfs:label "Maintain Technical Competence" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:derivedFromPrinciple asme:CompetentServices ;
    proethica:hasUrgency "ongoing" ;
    rdfs:comment "Ongoing professional development requirement" ;
    skos:definition "Engineers must keep current with developments in their field through continuing education",
        "Ongoing professional development requirement" .

asme:ManufacturingEngineer a proethica:Role ;
    rdfs:label "Manufacturing Engineer" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasResponsibilities asme:EnsurePublicSafety ;
    rdfs:comment "Manufacturing specialization role" ;
    skos:definition "A mechanical engineer specializing in manufacturing processes and production systems",
        "Manufacturing specialization role" .

asme:MechanicalEngineer a proethica:Role ;
    rdfs:label "Mechanical Engineer" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasResponsibilities asme:EnsurePublicSafety,
        asme:PracticeInCompetenceArea ;
    rdfs:comment "Core professional role in mechanical engineering" ;
    skos:definition "A professional engineer specializing in the design, analysis, manufacturing, and maintenance of mechanical systems",
        "Core professional role in mechanical engineering" .

asme:ProfessionalIntegrity a proethica:Principle ;
    rdfs:label "Professional Integrity" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasEthicalWeight "fundamental" ;
    rdfs:comment "Maintaining professional standards and fair compensation" ;
    skos:definition "Maintaining professional standards and fair compensation",
        "Mechanical engineers shall uphold the principle of appropriate and adequate compensation for engineering work" .

asme:ProfessionalLicensing a proethica:Constraint ;
    rdfs:label "Mechanical Engineering Licensing Requirements" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasType "legal" ;
    rdfs:comment "Legal constraint on professional practice" ;
    skos:definition "Legal constraint on professional practice",
        "Legal requirement for mechanical engineers to obtain appropriate professional licenses" .

asme:ProvideHonestAssessment a proethica:Action ;
    rdfs:label "Provide Honest Technical Assessment" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasUrgency "immediate" ;
    proethica:supportsPrinciple asme:ObjectiveTruthfulStatements ;
    rdfs:comment "Professional honesty requirement" ;
    skos:definition "Professional honesty requirement",
        "The action of providing truthful and objective technical evaluations" .

asme:ProvideObjectiveStatements a proethica:Obligation ;
    rdfs:label "Provide Objective Statements" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:derivedFromPrinciple asme:ObjectiveTruthfulStatements ;
    proethica:hasUrgency "immediate" ;
    rdfs:comment "Professional communication standard" ;
    skos:definition "Engineers must issue public statements based on adequate knowledge and in an objective manner",
        "Professional communication standard" .

asme:ReportUnsafeDesigns a proethica:Action ;
    rdfs:label "Report Unsafe Designs" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasUrgency "immediate" ;
    proethica:supportsPrinciple asme:PublicSafetyHealthWelfare ;
    rdfs:comment "Safety reporting obligation" ;
    skos:definition "Safety reporting obligation",
        "The action of reporting mechanical designs that pose safety risks" .

asme:SafetyStandards a proethica:Constraint ;
    rdfs:label "Mechanical Safety Standards" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasType "technical" ;
    rdfs:comment "Technical safety constraints" ;
    skos:definition "Technical and legal requirements for mechanical system safety (ASME Boiler and Pressure Vessel Code, etc.)",
        "Technical safety constraints" .

asme:SeekContinuingEducation a proethica:Action ;
    rdfs:label "Seek Continuing Education" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasUrgency "ongoing" ;
    proethica:supportsPrinciple asme:CompetentServices ;
    rdfs:comment "Professional development action" ;
    skos:definition "Professional development action",
        "The action of pursuing ongoing professional development and training" .

asme:SeniorEngineer a proethica:Role ;
    rdfs:label "Senior Mechanical Engineer" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasResponsibilities asme:MentorJuniorEngineers ;
    rdfs:comment "Senior role with additional responsibilities" ;
    skos:definition "An experienced mechanical engineer with mentoring and leadership responsibilities",
        "Senior role with additional responsibilities" .

asme:FaithfulAgent a proethica:Principle ;
    rdfs:label "Faithful Agent or Trustee" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasEthicalWeight "fundamental" ;
    rdfs:comment "Fiduciary duty to employers and clients" ;
    skos:definition "Fiduciary duty to employers and clients",
        "Mechanical engineers shall act for each employer or client as faithful agents or trustees, and shall avoid conflicts of interest" .

asme:MentorJuniorEngineers a proethica:Obligation ;
    rdfs:label "Mentor Junior Engineers" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:derivedFromPrinciple asme:ProfessionalDevelopment ;
    proethica:hasUrgency "ongoing" ;
    rdfs:comment "Professional development responsibility" ;
    skos:definition "Engineers must assist in the professional development of subordinates and junior engineers",
        "Professional development responsibility" .

asme:PracticeInCompetenceArea a proethica:Obligation ;
    rdfs:label "Practice Only in Areas of Competence" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:derivedFromPrinciple asme:CompetentServices ;
    proethica:hasUrgency "immediate" ;
    rdfs:comment "Competence boundary requirement" ;
    skos:definition "Competence boundary requirement",
        "Engineers must perform services only in areas where they possess adequate training and experience" .

asme:ProfessionalDevelopment a proethica:Principle ;
    rdfs:label "Professional Development" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasEthicalWeight "fundamental" ;
    rdfs:comment "Mentoring and development responsibilities" ;
    skos:definition "Mechanical engineers shall assist the professional development of those under their supervision",
        "Mentoring and development responsibilities" .

asme:ObjectiveTruthfulStatements a proethica:Principle ;
    rdfs:label "Objective and Truthful Statements" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasEthicalWeight "fundamental" ;
    rdfs:comment "Requirement for honesty in professional communications" ;
    skos:definition "Mechanical engineers shall issue public statements only in an objective and truthful manner",
        "Requirement for honesty in professional communications" .

asme:CompetentServices a proethica:Principle ;
    rdfs:label "Competent Services" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasEthicalWeight "fundamental" ;
    rdfs:comment "Fundamental competence requirement for professional practice" ;
    skos:definition "Fundamental competence requirement for professional practice",
        "Mechanical engineers shall perform services only in areas of their competence" .

asme:EnsurePublicSafety a proethica:Obligation ;
    rdfs:label "Ensure Public Safety" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:derivedFromPrinciple asme:PublicSafetyHealthWelfare ;
    proethica:hasUrgency "immediate" ;
    rdfs:comment "Primary safety obligation in mechanical engineering" ;
    skos:definition "Engineers must prioritize public safety in all mechanical system designs and operations",
        "Primary safety obligation in mechanical engineering" .

asme:PublicSafetyHealthWelfare a proethica:Principle ;
    rdfs:label "Public Safety, Health and Welfare" ;
    proethica:appliesToDomain "mechanical_engineering" ;
    proethica:hasEthicalWeight "paramount" ;
    rdfs:comment "The overriding principle in mechanical engineering practice" ;
    skos:definition "Mechanical engineers shall hold paramount the safety, health, and welfare of the public in the performance of their professional duties",
        "The overriding principle in mechanical engineering practice" .

