@prefix :      <https://w3id.org/rains#> .
@prefix ns:    <http://creativecommons.org/ns#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix terms: <http://purl.org/dc/terms/> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vann:  <http://purl.org/vocab/vann/> .

:AutoConstraint  a        owl:Class ;
        rdfs:comment      "A specific type of planned Constraint that describes a constraint which can be evaluated automatically against corresponding accountability trace. Such constraint would normally link to its implementation (e.g., a SHACL rule) using the  https://w3id.org/ep-plan#hasConstraintImplementation property." ;
        rdfs:label        "Auto Constraint" ;
        rdfs:subClassOf   <https://w3id.org/ep-plan#Constraint> ;
        owl:disjointWith  :HumanConstraint .

:RealizableObject  a     owl:Class ;
        rdfs:comment     "A sao:InformationElement  which records  information detailing  a piece of data, software or hardware that may be realized during the Implementation stage. A reused object (e.g., public training datasets) is also considered as :RealizableObject during the Design stage as it is not yet implemented (i.e., physical copies have not yet been integrated withing the ML pipeline)" ;
        rdfs:label       "Realizable Object" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:hasEvaluationResult  a  owl:ObjectProperty ;
        rdfs:comment   "A relation that links some evaluation measure to one or more results produced for this measure." ;
        rdfs:domain    :EvaluationMeassure ;
        rdfs:label     "hasEvaluationResult" ;
        rdfs:range     :EvaluationResult ;
        owl:inverseOf  :isEvaluationResultOf .

:SupportingInfrastructureComponent
        a                owl:Class ;
        rdfs:comment     "A specific type of planned sao:AccountableResult which represents the characteristics, performance, etc. related to all the implemented hardware and software 'plumbing' that is not generally considered part of the AI processes, however, may also be source of erroneous behaviour in AI systems.\n\nIt is advisable that the information realization corresponding to the SupportingInfrastructureComponent variable contains the following information elements:\n1. SupportingInfrastructure, the realized supporting infrastructure should be an instance of RealizedObject. If the implementation deviates from the design, then an additional upporting infrastructure should be indicated as an instance of ExcludedObject.\n2. Limitation\n3. Risk\n4. Bias\n5. Tradeoff\n6. SystemAuditMechanism\n7. SystemExplanationMechanims\n8. SystemHumanOversightMechanism\n9. SystemSecurityMechanism\n10. HardLaw\n11. SoftLaw" ;
        rdfs:label       "Supporting Infrastructure Component" ;
        rdfs:subClassOf  <https://w3id.org/sao#AccountableResult> ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :RealizeComponent ;
                           owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] .

:DatasetSpecification
        a                 owl:Class ;
        rdfs:comment      "A specific type of design specification  which represents the description of planned requirements, characteristics, risks, etc. related to a dataset (e.g., a training dataset for ML model) expected to be used as part of the AI system life cycle.\n\nIt is advisable that the information realization corresponding to DatasetSpecification contains the following information elements \n1. Dataset \n2. DatasetCharacteristic\n3. DataCollectionProcedure\n4. DataPreprocesingProcedure\n5. IntendedUseCase\n6. Limitation\n7. Risk\n8. Bias\n9. Tradeoff\n10. IntendedUserGroup\n11. IncorrectUseCase\n12. HardLaw\n13. SoftLaw\n\nIt is discouraged that the information realization corresponding to the Dataset Specification contains the following information elements:\n1. SystemAuditMechanism\n2. SystemExplanationMechanims\n3. SystemHumanOversightMechanism\n4. SystemSecurityMechanism\n5. SystemIntegrationGuidance\n6. SystemDeploymentGuidance\n7. SystemDocumentationGuidance\n8. SystemIntegrationGuidance\n9. SystemUsageGuidance\n10. Model\n11. ModelCharacteristic\n12. Algorithm" ;
        rdfs:label        "Dataset Specification" ;
        rdfs:subClassOf   :DesignSpecification ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ProduceSpecification ;
                            owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        owl:disjointWith  :SystemPurposeSpecification , :SupportingInfrastructureSpecification .

:ModelComponent  a        owl:Class ;
        rdfs:comment      "A specific type of planned sao:AccountableResult which represents the description of a realized ML Model, including it characteristics, performance, etc.\n\nIt is advisable that the information realization corresponding to the ModelComponent variable contains the following information elements:\n1. Model: the realized model should be an instance of RealizedObject. If the implementation deviates from the design, then an additional model should be indicated as an instance of ExcludedObject. \n2. ModelCharacteristic\n3. Algorithm\n4. Parameter\n5. IntendedUseCase\n6. Limitation\n7. Risk\n8. Bias\n9. Tradeoff\n10. IncorrectUseCase\n11. IntendedUserGroup\n12. HardLaw\n13. SoftLaw\n\nIt is discouraged that the information realization corresponding to the ModelComponent variable contains the following information elements:\n1. SystemAuditMechanism\n2. SystemExplanationMechanims\n3. SystemHumanOversightMechanism\n4. SystemSecurityMechanism\n5. SystemIntegrationGuidance\n6. SystemDeploymentGuidance\n7. SystemDocumentationGuidance\n8. SystemIntegrationGuidance\n9. SystemUsageGuidance" ;
        rdfs:label        "Model Component" ;
        rdfs:subClassOf   <https://w3id.org/sao#AccountableResult> ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :RealizeComponent ;
                            owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        owl:disjointWith  :SupportingInfrastructureComponent .

terms:LicenseDocument
        a                owl:Class ;
        rdfs:comment     "A legal document giving official permission to do something with a resource." ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

terms:description  a  owl:AnnotationProperty .

:CertificationDecision
        a                owl:Class ;
        rdfs:comment     "A specific type of a planned human compliance assurance decision representing certification granting. This is usually done by third parties, but may also be done inhouse to prove that the AI System abides by internal policies." ;
        rdfs:label       "Certification Decision" ;
        rdfs:subClassOf  :ComplianceAssuranceDecision ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :Decide ;
                           owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] .

:ChangeJustification  a  owl:Class ;
        rdfs:comment     "A sao:InformnationElement which records information describing the justification behind a deviation from the Design Specification. For example, the reason behind realizing a dataset other than the one indicated by the Dataset Design Specification was used, or why an evaluation measure was recorded which differed from the one indicated to be expected in an Evaluation Specification." ;
        rdfs:label       "Change Justification" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:hasOutputFormat  a   owl:DatatypeProperty ;
        rdfs:comment  "A value describing the format of an output. Inspired by the Model Card Toolkit schema https://github.com/tensorflow/model-card-toolkit/blob/master/model_card_toolkit/schema/v0.0.1/model_card.schema.json" ;
        rdfs:label    "hasOutputFormat" ;
        rdfs:range    xsd:string .

:SystemMaintenanceGuidance
        a                owl:Class ;
        rdfs:comment     "A specific type of :Guidance which records a specific piece of information about the guidance to how the :AI_System should be maintained." ;
        rdfs:label       "System Maintenance Guidance" ;
        rdfs:subClassOf  :Guidance .

<https://w3id.org/sao#AccountableAction>
        a       owl:Class .

<https://w3id.org/ep-plan#hasOutputVariable>
        a       owl:ObjectProperty .

:Guideline  a             owl:Class ;
        rdfs:comment      "A specific type of planned sao:AccountableResult which represents a high level reference to a guideline (e.g. a guideline document) that is expected to be produced during the implementation in order to inform on the correct procedure for deploying, using and maintaining the system or any of its components." ;
        rdfs:label        "Guideline" ;
        rdfs:subClassOf   <https://w3id.org/sao#AccountableResult> ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :GenerateGuideline ;
                            owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                          ] ;
        owl:disjointWith  :ModelComponent , :HumanDecision , :SupportingInfrastructureComponent .

:GenerateGuideline  a     owl:Class ;
        rdfs:comment      "A planned step describing the creation of a guideline that has some impact on the AI System, e.g. the production of the deployment guideline describing how the AI System is to be deployed on-site or the production of the maintenance guideline describing how the AI System is to be maintained." ;
        rdfs:label        "Generate Guideline" ;
        rdfs:subClassOf   <https://w3id.org/sao#AccountableAction> ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isStepOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :Guideline :SystemDeploymentGuideline :SystemOperationGuideline )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#hasOutputVariable>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        owl:disjointWith  :ProduceSpecification , :MergeAndSplitDataset , :RealizeComponent .

[ a            owl:AllDisjointClasses ;
  owl:members  ( <http://www.w3.org/ns/mls#Dataset> <http://www.w3.org/ns/mls#Model> :SupportingInfrastructure )
] .

:SystemIntegrationGuidance
        a                owl:Class ;
        rdfs:comment     "A specific type of :Guidance which records a specific piece of information about the guidance to how the :AI_System should be integrated with other systems or services." ;
        rdfs:label       "System Integration Guidance" ;
        rdfs:subClassOf  :Guidance .

:ProduceSpecification
        a                 owl:Class ;
        rdfs:comment      "A planned step describing the creation of a specification that has some impact on the AI System, e.g. the production of the design specification describing the training dataset to be used. This step is typically part of the Design stage of an AI System's life cycle." ;
        rdfs:label        "Produce Specification" ;
        rdfs:subClassOf   <https://w3id.org/sao#AccountableAction> ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :DesignStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isStepOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :DesignStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :ComplianceSpecification :DatasetSpecification :DesignSpecification :EvaluationSpecification :ModelSpecification :SupportingInfrastructureSpecification :SystemPurposeSpecification )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#hasOutputVariable>
                          ] ;
        owl:disjointWith  :RealizeComponent .

:Evaluate  a              owl:Class ;
        rdfs:comment      "A planned step describing an evaluation, i.e, testing  and producing evaluation metrics, that has some impact on the AI System, e.g. the evaluation of the ML model using a specified Dataset or the :AI_System undergoing a third party evaluation." ;
        rdfs:label        "Evaluate" ;
        rdfs:subClassOf   <https://w3id.org/sao#AccountableAction> ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isStepOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :ChangeLog :Evaluation :ThirdPartyEvaluation )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#hasOutputVariable>
                          ] ;
        owl:disjointWith  :ProduceSpecification , :RealizeComponent , :MergeAndSplitDataset , :GenerateGuideline .

:SystemAuditMechanism
        a                owl:Class ;
        rdfs:comment     "A type of :RealizableObjectCharacteristic detailing how :AI_System may be interrogated about its inner processes and outputs produced." ;
        rdfs:label       "System Audit Mechanism" ;
        rdfs:subClassOf  :RealizableObjectCharacteristic .

<https://w3id.org/ep-plan#Constraint>
        a       owl:Class .

<https://w3id.org/sao#InformationElement>
        a       owl:Class .

:RealizeComponent  a     owl:Class ;
        rdfs:comment     "A planned step describing the realization of a component. This includes implementing a component or retrieving it from a different (or third party) source. The realization of the component has some impact on the AI System, e.g. the implementation of the ML model or importing a third party dataset." ;
        rdfs:label       "Realize Component" ;
        rdfs:subClassOf  <https://w3id.org/sao#AccountableAction> ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isStepOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :ChangeLog :DatasetComponent :EvaluationDataset :ModelComponent :SupportingInfrastructureComponent :TrainingDataset :ValidationDataset )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#hasOutputVariable>
                         ] .

terms:creator  a  owl:AnnotationProperty .

<https://w3id.org/sao#System>
        a       owl:Class .

<https://w3id.org/ep-plan#isOutputVariableOf>
        a                   owl:ObjectProperty ;
        rdfs:subPropertyOf  owl:topObjectProperty .

:Parameter  a            owl:Class ;
        rdfs:comment     "A  sao:InformationElement which records a specific piece of  information describing a model's parameter. This is broader than mls:HyperParameter which describes only a hyperparameter of a model." ;
        rdfs:label       "Parameter" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:ModelSpecification  a    owl:Class ;
        rdfs:comment      "A specific type of design specification  which represents the description of planned requirements, characteristics, performance, etc. related to an AI model.\n\nIt is advisable that the information realization corresponding to ModelSpecification contains the following information elements:\n1. Model \n2. ModelCharacteristic\n3. Algorithm\n4. IntendedUseCase\n5. Limitation\n6. Risk\n7. Bias\n8. Tradeoff\n9. IntendedUserGroup\n10. Parameter\n11. Hyperparameter\n12. IncorrectUseCase\n13. HardLaw\n14. SoftLaw\n \nIt is discouraged that the information realization corresponding to the ModelSpecification contains the following information elements:\n1. SystemAuditMechanism\n2. SystemExplanationMechanims\n3. SystemHumanOversightMechanism\n4. SystemSecurityMechanism\n5. SystemIntegrationGuidance\n6. SystemDeploymentGuidance\n7. SystemDocumentationGuidance\n8. SystemIntegrationGuidance\n9. SystemUsageGuidance" ;
        rdfs:label        "Model Specification" ;
        rdfs:subClassOf   :DesignSpecification ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ProduceSpecification ;
                            owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        owl:disjointWith  :SystemPurposeSpecification , :SupportingInfrastructureSpecification .

:SystemOperationGuideline
        a                owl:Class ;
        rdfs:comment     "A specific type of :Guideline which represents the description of guidelines for the Operation stage of the AI System. \n\nIt is advisable that the information realization corresponding to the System Operation  Guideline variable contains the following information elements:\nGuidance.\n1. SystemIntegrationGuidance\n2. SystemUsageGuidance" ;
        rdfs:label       "System Operation Guideline" ;
        rdfs:subClassOf  :Guideline ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :GenerateGuideline ;
                           owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] .

:DatasetComponent  a      owl:Class ;
        rdfs:comment      "A specific type of planned sao:AccountableResult  which represents the description of an realized dataset, including its characteristics, how it was collected, its risks, etc. The dataset component represents a collection of collected and pre-processed data. Once it is split, the subclasses TestingDataset, ValidationDataset, and EvaluationDataset can be used.\n\nIt is advisable that the information realization corresponding to the DatasetComponent variable contains the following information elements:\n1. Dataset, the realized dataset should be an instance of RealizedObject. If the implementation deviates from the design, then an additional dataset should be indicated as an instance of ExcludedObject.\n2. DatasetCharacteristic\n3. DataCollectionProcedure\n4. DataPreprocesingProcedure\n5. IntendedUseCase\n6. Limitation\n7. Risk\n8. Bias\n9. Tradeoff\n10. IncorrectUseCase\n11. IntendedUserGroup\n12. HardLaw\n13. SoftLaw\n\nIt is discouraged that the information realization corresponding to the DtasetComponent variable contains the following information elements:\n1. SystemAuditMechanism\n2. SystemExplanationMechanims\n3. SystemHumanOversightMechanism\n4. SystemSecurityMechanism\n5. SystemIntegrationGuidance\n6. SystemDeploymentGuidance\n7. SystemDocumentationGuidance\n8. SystemIntegrationGuidance\n9. SystemUsageGuidance\n10. Model\n11. ModelCharacteristic\n12. Algorithm" ;
        rdfs:label        "Dataset Component" ;
        rdfs:subClassOf   <https://w3id.org/sao#AccountableResult> ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :MergeAndSplitDataset :RealizeComponent )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                          ] ;
        owl:disjointWith  :Guideline , :DesignSpecification , :HumanDecision , :SupportingInfrastructureComponent .

:SystemDocumentationGuidance
        a                owl:Class ;
        rdfs:comment     "A specific type of :Guidance which records a specific piece of information about the guidance to how the :AI_System should be documented." ;
        rdfs:label       "System Documentation Guidance" ;
        rdfs:subClassOf  :Guidance .

terms:title  a  owl:AnnotationProperty .

<http://www.w3.org/ns/mls#DatasetCharacteristic>
        a                owl:Class ;
        rdfs:comment     "This concept is imported from ML-Schema to describe the characteristics of the dataset. \n\nIn RAInS, this includes how many instances make up the dataset, what do the instances represent, what are the types of instances, whether the instances have associated labels or targets, whether the relationships between instances are explicit, as well as the errors, noises, redundancies in the dataset and whether is there any information missing from instances.\n\nWhen used to descriped a Training Dataset, Validation Dataset, or Evaluation Dataset produced by splitting the Dataset Component, it is advisable to describe how the dataset was split, including the ratios of train-validate-test and the class representation percentage in each." ;
        rdfs:subClassOf  :RealizableObjectCharacteristic .

<https://w3id.org/ep-plan#includesVariable>
        a       owl:ObjectProperty .

:computedOnDecisionThreshold
        a             owl:FunctionalProperty , owl:DatatypeProperty ;
        rdfs:comment  "The decision threshold the metric that produced evaluation result was computed on. Inspired by the Model Card Toolkit schema https://github.com/tensorflow/model-card-toolkit/blob/master/model_card_toolkit/schema/v0.0.1/model_card.schema.json" ;
        rdfs:domain   :EvaluationResult ;
        rdfs:label    "computedOnDecisionThreshold" .

:IncorrectUseCase  a      owl:Class ;
        rdfs:comment      "A type of :UseCase detailing a situation in which any component of :AI_System or the system as whole should not be used." ;
        rdfs:label        "Incorrect Use Case" ;
        rdfs:subClassOf   :UseCase ;
        owl:disjointWith  :IntendedUseCase .

:SystemPurposeSpecification
        a                owl:Class ;
        rdfs:comment     "A specific type of design specification which represents  the  description of the purpose(s) for which an AI system is designed and used for.\n\nIt is advisable that the information realization corresponding to SystemPurposeSpecification contains the following information elements\n1. IntendedUserGroup\n2. IntendedUseCase\n3. IncorrectUseCase" ;
        rdfs:label       "System Purpose Specification" ;
        rdfs:subClassOf  :DesignSpecification ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ProduceSpecification ;
                           owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] .

:TradeOff  a             owl:Class ;
        rdfs:comment     "A sao:InformationElement  which records a specific piece of  information detailing tradeoffs to mitigate possible undesired or dangerous outcomes caused by any aspects of :AI_Sytem." ;
        rdfs:label       "TradeOff" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:isEvaluationResultOf
        a             owl:ObjectProperty ;
        rdfs:comment  "A relation that links a result to some evaluation measure for which the result was produced." ;
        rdfs:domain   :EvaluationResult ;
        rdfs:label    "isEvaluationResultOf" ;
        rdfs:range    :EvaluationMeassure .

:Guidance  a             owl:Class ;
        rdfs:comment     "A sao:InformationElement  which records a specific piece of  information detailing instructions that should be followed during the deployment or operation stage of the :AI_System lifecycle." ;
        rdfs:label       "Guidance" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:ComplianceAssuranceDecision
        a                owl:Class ;
        rdfs:comment     "A specific type of a planned human decision representing confirmation of compliance of some sao:AccountableResult (e.g., a model specification) with its compliance requirements." ;
        rdfs:label       "Compliance Assurance Decision" ;
        rdfs:subClassOf  :HumanDecision ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :Decide ;
                           owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] .

<http://www.w3.org/ns/mls#HyperParameter>
        a                owl:Class ;
        rdfs:comment     "Hyperparameter is a prior parameter of an implementation, i.e., a parameter which is set before its execution (e.g. C, the complexity parameter, in weka.SMO)." ;
        rdfs:label       "Hyperparameter" ;
        rdfs:subClassOf  :Parameter .

:Risk   a                owl:Class ;
        rdfs:comment     "A sao:InformationElement  which records a specific piece of  information detailing possible undesired or dangerous outcomes caused by any aspects of :AI_Sytem. \n\nIf a mitigation strategy is used to abate the risk, then these can be indicated using the property :hasMitigationStrategy. It is advisable that information about the risk before and after mitigation is included." ;
        rdfs:label       "Risk" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:DesignSpecification  a   owl:Class ;
        rdfs:comment      "A specific type of planned sao:AccountableResult which represents a high level reference to a specification  (e.g. a specification report) that is expected to be produced during the design stage in order to inform the future AI system lifecycle stages (e.g. implementation)." ;
        rdfs:label        "Design Specification" ;
        rdfs:subClassOf   <https://w3id.org/sao#AccountableResult> ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ProduceSpecification ;
                            owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        owl:disjointWith  :Guideline , :Evaluation , :HumanDecision , :SupportingInfrastructureComponent , :ModelComponent .

<https://w3id.org/ep-plan#isVariableOfPlan>
        a       owl:ObjectProperty .

<http://www.w3.org/ns/mls#ModelEvaluation>
        a                owl:Class ;
        rdfs:comment     "ModelEvaluation is a setting of a value of the performance measure  specified by the evaluation specification. It connects a measure specification with its value." ;
        rdfs:label       "model Evaluation" ;
        rdfs:subClassOf  :EvaluationResult .

:RealizableObjectCharacteristic
        a                owl:Class ;
        rdfs:comment     "A sao:InformationElement  which records  information detailing  a specific quality of :RealizableObject." ;
        rdfs:label       "Realizable Object Characteristic" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:GrantCertification  a   owl:Class ;
        rdfs:comment     "A planned step describing a certification granting decision to be taken by a human when incorporating accountability in AI Systems, e.g. grant an ISO certificate." ;
        rdfs:label       "Grant Certification" ;
        rdfs:subClassOf  :Decide ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isStepOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :CertificationDecision ;
                           owl:onProperty     <https://w3id.org/ep-plan#hasOutputVariable>
                         ] .

:isReusedObject  a    owl:FunctionalProperty , owl:DatatypeProperty ;
        rdfs:comment  "A value indicating whether the :RealizableObject is a third party resource." ;
        rdfs:domain   [ a            owl:Class ;
                        owl:unionOf  ( <http://ontosoft.org/software#Software> :ExcludedObject :RealizableObject :RealizededObject )
                      ] ;
        rdfs:label    "isReusedObject" ;
        rdfs:range    xsd:boolean .

ns:license  a   owl:AnnotationProperty .

:Certificate  a          owl:Class ;
        rdfs:comment     "A sao:InformnationElement which records information describing a certificate (e.g. an ISO certificate) that is granted during the implementation (or deployment or use and maintenance) life cycle stages." ;
        rdfs:label       "Certificate" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

[ a            owl:AllDisjointClasses ;
  owl:members  ( :ApprovalDecision :ComplianceAssuranceDecision :FitnessConfirmationDecision )
] .

<https://w3id.org/ep-plan#isElementOfPlan>
        a       owl:ObjectProperty .

:ExcludedObject  a        owl:Class ;
        rdfs:comment      "A sao:InformationElement which records information detailing a piece of data, software or hardware that should have been realized but was not.\n\nFor example, assume the dataset design specification specifies that dataset foorbar is to be realised (to be used to train the model), but the implementation team realises dataset xyzzy instead. In this case, the dataset foobar should be indicated by the implementation team as an Excluded Object - whereas the dataset xyzzy should be created as an instance of :RealizedObject." ;
        rdfs:label        "Excluded Object" ;
        rdfs:subClassOf   <https://w3id.org/sao#InformationElement> ;
        owl:disjointWith  :RealizededObject .

<http://www.w3.org/ns/prov#Agent>
        a       owl:Class .

:SystemExplanationMechanism
        a                owl:Class ;
        rdfs:comment     "A type of :RealizableObjectCharacteristic detailing how :AI_System produces human readable clarifications and justifications of its inner processes and outputs produced." ;
        rdfs:label       "System Explanation Mechanism" ;
        rdfs:subClassOf  :RealizableObjectCharacteristic .

:DataCollectionSoftware
        a                owl:Class ;
        rdfs:comment     "A sao:InformationElement (which is also an osw:Software and a prov:SoftwareAgent)  which records  information detailing  a software that was used to collect data that formed the dataset which was used to train the ML Model" ;
        rdfs:label       "Data Collection Software" ;
        rdfs:subClassOf  <http://ontosoft.org/software#Software> .

<https://w3id.org/ep-plan#Agent>
        a                owl:Class ;
        rdfs:subClassOf  <http://www.w3.org/ns/prov#Agent> .

:SystemSecurityMechanism
        a                owl:Class ;
        rdfs:comment     "A type of :RealizableObjectCharacteristic detailing how :AI_System may be safeguarded against adversarial attacks or potential breaches of security." ;
        rdfs:label       "System Security Mechanism" ;
        rdfs:subClassOf  :RealizableObjectCharacteristic .

:DataCollectionProcedure
        a                owl:Class ;
        rdfs:comment     "A specific type of sao:InformationElement which records a specific piece of  information detailing how the data is collected. This includes the information about mechanism used for collecting data (e.g. hardware sensors, software program, or manually), the timeframe over which the data was collected, any consent reporting, etc. \n\nThere is a separate concept that represents the data collection software see rainsDataCollectionSoftware." ;
        rdfs:label       "Data Collection Procedure" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:DataPreprocessingSoftware
        a                owl:Class ;
        rdfs:comment     "A sao:InformationElement (which is also an osw:Software and a prov:SoftwareAgent)  which records  information detailing  a software  that was used to preprocess the dataset using to train the ML Model" ;
        rdfs:label       "Data Preprocessing Software" ;
        rdfs:subClassOf  <http://ontosoft.org/software#Software> .

:HumanConstraint  a      owl:Class ;
        rdfs:comment     "A specific type of planned ep-plan:Constraint that describes some constraint which cannot be evaluated automatically against the accountability trace. This can be, for example, because the constraint is too high level or difficult to express as a rule. Such constraint would be typically expected to be evaluated manually by a human." ;
        rdfs:label       "Human Constraint" ;
        rdfs:subClassOf  <https://w3id.org/ep-plan#Constraint> .

:ValidationDataset  a    owl:Class ;
        rdfs:comment     "A specific type of a Dataset Component  which represents a subset of the whole collected and pre-processed datasets after they were merged then split to be fed into the ML Model. This specific type represents the data used to validate the ML Model. The dataset is typically used repeatedly during the hyperparameter tuning process. The other subsets are used to train and evaluate the model." ;
        rdfs:label       "Validation Dataset" ;
        rdfs:subClassOf  :DatasetComponent ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :MergeAndSplitDataset :RealizeComponent )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] .

:SupportingInfrastructureSpecification
        a                 owl:Class ;
        rdfs:comment      "A specific type of design specification which represents the specification description of planned requirements, characteristics, performance, etc. related to all the hardware and software 'plumbing' that is not generally considered part of the AI processes, however, may also be source of erroneous behaviour in AI systems.\n\nIt is advisable that the information realization corresponding to SupportingInfrastructureSpecification contains the following information elements:\n1. SupportingInfrastructure\n2. SystemAuditMechanism\n3. SystemExplanationMechanims\n4. SystemHumanOversightMechanism\n5. SystemSecurityMechanism\n6. Limitation\n7. Risk\n8. Bias\n9. Tradeoff\n10. HardLaw\n11. SoftLaw" ;
        rdfs:label        "Supporting Infrastructure Specification" ;
        rdfs:subClassOf   :DesignSpecification ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ProduceSpecification ;
                            owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        owl:disjointWith  :SystemPurposeSpecification .

:Bias   a                owl:Class ;
        rdfs:comment     "A type of :Risk  which records a specific piece of  information detailing a potential inclination or prejudice related to some aspects of :AI_Sytem (e.g., a training dataset containing more data about males when both genders will be considered by the ML model)\n\nIf a mitigation strategy is used to abate the bias, then these can be indicated using the property :hasMitigationStrategy. It is advisable that information about the bias before and after mitigation is included." ;
        rdfs:label       "Bias" ;
        rdfs:subClassOf  :Risk .

:SoftLaw  a              owl:Class ;
        rdfs:comment     "A specific type of compliance entity which records a specific piece of  information about the procedures, standards, protocols, etc that complying with is desired or encouraged as part of an information realization collection.\n\nWhen used as part of an information realization corresponding to a design specification, it describes the soft laws that are to be complied with. When used as part of an information realization corresponding to an realized component, it describes the soft laws that the component complies with." ;
        rdfs:label       "Soft Law" ;
        rdfs:subClassOf  :ComplianceEntity .

:hasRealizableObjectCharacteristic
        a              owl:ObjectProperty ;
        rdfs:comment   "A relation that links a realizable object (e.g., model) to the information element describing its characteristic." ;
        rdfs:domain    :RealizableObject ;
        rdfs:label     "hasRealizableObjectCharacteristic" ;
        rdfs:range     :RealizableObjectCharacteristic ;
        owl:inverseOf  :isCharacteristicOfRealizableObject .

:ChangeLog  a             owl:Class ;
        rdfs:comment      "A specific type of planned sao:AccountableResult that describes any change from a design specification or guideline. It is expected to be the result of any accountable action that has an input a design specification or a guideline.\n\nIt is advisable that the information realization corresponding to the Evaluation contains the following information element ChangeJustification." ;
        rdfs:label        "Change Log" ;
        rdfs:subClassOf   <https://w3id.org/sao#AccountableResult> ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :Evaluate :MergeAndSplitDataset :RealizeComponent )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                          ] ;
        owl:disjointWith  :Evaluation , :HumanDecision , :ModelComponent , :DatasetComponent , :DesignSpecification , :Guideline , :SupportingInfrastructureComponent .

:hasInputFormat  a    owl:DatatypeProperty ;
        rdfs:comment  "A value describing the format of an input. Inspired by the Model Card Toolkit schema https://github.com/tensorflow/model-card-toolkit/blob/master/model_card_toolkit/schema/v0.0.1/model_card.schema.json" ;
        rdfs:label    "hasInputFormat" ;
        rdfs:range    xsd:string .

:ImplementationStageAccountabilityPlan
        a                owl:Class ;
        rdfs:comment     "A plan that identifies sao:AccountableAction(s) and sao:AccountableResult(s) relevant to the implementation stage of an AI system and  which are required to be documented for accountability purposes. The Accountable Actions that can be done at this stage are: Realize Component, Merge and Split Dataset, Evaluate, Generate Guideline, Grant Certification, and Decide." ;
        rdfs:label       "Implementation Stage Accountability Plan" ;
        rdfs:subClassOf  <https://w3id.org/sao#AccountabilityPlan> ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :ApprovalDecision :CertificationDecision :ChangeLog :ComplianceAssuranceDecision :DatasetComponent :Evaluation :EvaluationDataset :FitnessConfirmationDecision :Guideline :HumanDecision :ModelComponent :SupportingInfrastructureComponent :SystemDeploymentGuideline :SystemOperationGuideline :ThirdPartyEvaluation :TrainingDataset :ValidationDataset )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#includesVariable>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :Decide :Evaluate :GenerateGuideline :GrantCertification :MergeAndSplitDataset :RealizeComponent )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#includesStep>
                         ] .

:SystemUsageGuidance  a  owl:Class ;
        rdfs:comment     "A specific type of :Guidance which records a specific piece of information about the guidance to how the :AI_System should be used." ;
        rdfs:label       "System Usage Guidance" ;
        rdfs:subClassOf  :Guidance .

:FairnessOrBiasDetectionSoftware
        a                owl:Class ;
        rdfs:comment     "A sao:InformationElement (which is also an osw:Software and a prov:SoftwareAgent)  which records  information detailing  a software that was used to detect bias or check for fairness in both the dataset which was used to train the ML Model as well as the ML model itself" ;
        rdfs:label       "Fairness Or Bias Detection Software" ;
        rdfs:subClassOf  <http://ontosoft.org/software#Software> .

<https://w3id.org/sao#InformationRealization>
        a       owl:Class .

<https://w3id.org/rains>
        a                              owl:Ontology ;
        rdfs:comment                   "To contact the RAInS team, please send an email to therainsproject [at] gmail [dot] com"@en , "-Version 2.0.1: minor edits and additions to the ontology metadata to reflect LOV requirements. \n\t\t\t\t\t\t\t\t\t-Version 2.0: added classes and relationships to model the Implementation stage of an AI system \n\t\t\t\t\t\t\t\t\t-Version 1.1: creation, models the Design stage of an AI system"@en ;
        rdfs:label                     "The RAInS Ontology"@en ;
        ns:license                     <https://creativecommons.org/licenses/by-nc-sa/4.0/> ;
        terms:creator                  <https://www.abdn.ac.uk/ncs/profiles/p.edwards> , <https://www.abdn.ac.uk/ncs/profiles/milan.markovic/> , <https://www.abdn.ac.uk/ncs/profiles/iman.naja> ;
        terms:description              "An ontology to model accountability of AI systems which use machine learning."@en ;
        terms:issued                   "2020-12-18"^^xsd:date ;
        terms:modified                 "2021-12-30"^^xsd:date ;
        terms:rights                   "Copyright 2020 University of Aberdeen" ;
        terms:title                    "The RAInS Ontology"@en ;
        vann:preferredNamespacePrefix  "rains" ;
        vann:preferredNamespaceUri     "https://w3id.org/rains#" ;
        owl:versionInfo                2.0 .

:EvaluationMeassure  a   owl:Class ;
        rdfs:comment     "A  sao:InformationElement which records a specific piece of  information detailing some measure used as part of an evaluation process. This is broader than mls:EvaluationMeassure which describes a measure related to a model performance." ;
        rdfs:label       "Evaluation Measure" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:MergeAndSplitDataset
        a                 owl:Class ;
        rdfs:comment      "A planned step that has some impact on the AI System where the dataset(s) used to produce the ML Model are merged and/or split. Merging takes place when there is more than one dataset in use. Typically, splitting results in three subsets: Training, Validation, and Testing. This step is typically part of the Implementation stage of an AI System's life cycle." ;
        rdfs:label        "Merge and Split Dataset" ;
        rdfs:subClassOf   <https://w3id.org/sao#AccountableAction> ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isStepOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :ChangeLog :DatasetComponent :EvaluationDataset :TrainingDataset :ValidationDataset )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#hasOutputVariable>
                          ] ;
        owl:disjointWith  :RealizeComponent , :ProduceSpecification .

<http://www.w3.org/ns/mls#ModelCharacteristic>
        a                owl:Class ;
        rdfs:comment     "Imported Definition: ModelCharacteristic is a distinguishing quality or property that distinguish one model from another. An example model characteristic may be interpretabilty or a complexity of the model.\n\nIn RAInS, this includes the type of model, programming method, excluded features, emphasized features, decision thresholds, basis of prioritisation, semantics and similarity functions, editorial criteria, and type of uncertainty. Plus, how those were chosen.\n\nThere are separate concepts that represent the algorithm and parameters." ;
        rdfs:subClassOf  :RealizableObjectCharacteristic .

<https://w3id.org/ep-plan#isStepOfPlan>
        a       owl:ObjectProperty .

:HardLaw  a               owl:Class ;
        rdfs:comment      "A specific type of compliance entity which records a specific piece of  information about the laws and regulations that must be, or are, complied with as part of an information realization collection.\n\nWhen used as part of an information realization corresponding to a design specification, it describes the hard laws that must be complied with. When used as part of an information realization corresponding to an realized component, it describes the hard laws that the component complies with." ;
        rdfs:label        "Hard Law" ;
        rdfs:subClassOf   :ComplianceEntity ;
        owl:disjointWith  :SoftLaw .

terms:issued  a  owl:AnnotationProperty .

<https://w3id.org/ep-plan#hasInputVariable>
        a       owl:ObjectProperty .

<https://w3id.org/sao#AccountabilityPlan>
        a       owl:Class .

:hasResultValue  a    owl:FunctionalProperty , owl:DatatypeProperty ;
        rdfs:comment  "The description of the result value." ;
        rdfs:domain   :EvaluationResult ;
        rdfs:label    "hasResultValue" .

<http://www.w3.org/ns/mls#Model>
        a                owl:Class ;
        rdfs:comment     "Model is a generalization of a set of training data able to predict values for unseen instances. It is an output from an execution of a data mining algorithm implementation. Models have a dual nature. They can be treated as data structures and as such represented, stored and manipulated. On the other hand, they act as functions and are executed, taking as input data examples and giving as output the result of applying the function to a data example. Models can also be divided into global or local ones. A global model has global coverage of a data set, i.e., it generalizes the whole data set. A local model, such as a pattern set, is a set of local hypotheses, i.e. each applies to a limited region of the data set." ;
        rdfs:label       "Model" ;
        rdfs:subClassOf  :RealizableObject ;
        rdfs:subClassOf  [ a            owl:Class ;
                           owl:unionOf  ( :ExcludedObject :RealizededObject )
                         ] .

:DataPreprocessingProcedure
        a                owl:Class ;
        rdfs:comment     "A specific type of sao:InformationElement which records a specific piece of  information detailing how the data is preprocessed. This includes information on what is done to the data (e.g., cleaning, sampling, filtering, feature engineering, etc) and how it is done (e.g., manually, programmatically, or using feature engineering software).\n\nThere is a separate concept that represents the data preprocessing software." ;
        rdfs:label       "Data Preprocessing Procedure" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:EvaluationResult  a     owl:Class ;
        rdfs:comment     "A  sao:InformationElement which records a specific piece of  information detailing the result of an evaluation process. This is broader than mls:EvaluationMeassure which describes a result related to a specific model evaluation." ;
        rdfs:label       "Evaluation Result" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:SystemDeploymentGuidance
        a                owl:Class ;
        rdfs:comment     "A specific type of :Guidance which records a specific piece of information about the guidance to how the :AI_System should be deployed." ;
        rdfs:label       "System Deployment Guidance" ;
        rdfs:subClassOf  :Guidance .

:EvaluationSpecification
        a                 owl:Class ;
        rdfs:comment      "A specific type of design specification which represents the description  of a planned evaluation process.\n\nIt is advisable that the information realization corresponding to EvaluationSpecification contains the following information elements:\n1. Either an instance of mls:EvaluationProcedure (if it is the model being evaluated) or EvaluationProcedure (if it is not the ML model being evaluated). \n2. Either an instance of mls: EvaluationMeasure (if it is the model being evaluated) or EvaluationMeasure (if it is not the ML model being evaluated).\n3. If available: Either an instance of mls:ModelEvaluation (if it is the model being evaluated) or EvaluationResult (if it is not the ML model being evaluated).\n4. HardLaw\n5. SoftLaw\n\nIt is discouraged that the information realization corresponding to the Evaluation Specification contains the following information elements:\n1. SystemIntegrationGuidance\n2. SystemDeploymentGuidance\n3. SystemDocumentationGuidance\n4. SystemIntegrationGuidance\n5. SystemUsageGuidance" ;
        rdfs:label        "Evaluation Specification" ;
        rdfs:subClassOf   :DesignSpecification ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ProduceSpecification ;
                            owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        owl:disjointWith  :SystemPurposeSpecification .

<https://w3id.org/ep-plan#includesPlanElement>
        a       owl:ObjectProperty .

[ a            owl:AllDisjointClasses ;
  owl:members  ( <http://www.w3.org/ns/mls#Algorithm> <http://www.w3.org/ns/mls#DatasetCharacteristic> <http://www.w3.org/ns/mls#ModelCharacteristic> :SystemAuditMechanism :SystemExplanationMechanism :SystemHumanOversightMechanism :SystemSecurityMechanism )
] .

:IntendedUserGroup  a    owl:Class ;
        rdfs:comment     "A sao:InformationElement  which records a specific piece of  information detailing the target user audience for the functionality of the overall :AI_System or the components used to develop such system (e.g., a reused public training dataset or a model would be associated with this information)." ;
        rdfs:label       "Intended User Group" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:hasResultLowerBound  a  owl:FunctionalProperty , owl:DatatypeProperty ;
        rdfs:comment  "The lower bound of the confidence interval. Inspired by the Model Card Toolkit schema https://github.com/tensorflow/model-card-toolkit/blob/master/model_card_toolkit/schema/v0.0.1/model_card.schema.json" ;
        rdfs:domain   :EvaluationResult ;
        rdfs:label    "hasResultLowerBound" .

<http://www.w3.org/ns/mls#Algorithm>
        a                owl:Class ;
        rdfs:comment     "Imported Definition: The algorithm regardless software implementation." ;
        rdfs:subClassOf  :RealizableObjectCharacteristic .

:versionDate  a       owl:FunctionalProperty , owl:DatatypeProperty ;
        rdfs:comment  "A value indicating what the version date of a :RealizableObject's is. Inspired by the Model Card Toolkit schema https://github.com/tensorflow/model-card-toolkit/blob/master/model_card_toolkit/schema/v0.0.1/model_card.schema.json" ;
        rdfs:domain   [ a            owl:Class ;
                        owl:unionOf  ( <http://ontosoft.org/software#Software> :ExcludedObject :RealizableObject :RealizededObject )
                      ] ;
        rdfs:label    "versionDate" ;
        rdfs:range    xsd:dateTime .

<http://www.w3.org/ns/mls#EvaluationProcedure>
        a                owl:Class ;
        rdfs:comment     "EvaluationProcedure is a technique to evaluate machine learning models. Examples are cross-validation and leave-one-out." ;
        rdfs:label       "Evaluation Procedure" ;
        rdfs:subClassOf  :EvaluationProcedure .

:SupportingInfrastructure
        a                owl:Class ;
        rdfs:comment     "A type of :RealizableObject detailing the hardware and software 'plumbing' that is not generally considered part of the AI processes, however, may also be source of erroneous behaviour in :AI_System." ;
        rdfs:label       "Supporting Infrastructure" ;
        rdfs:subClassOf  :RealizableObject ;
        rdfs:subClassOf  [ a            owl:Class ;
                           owl:unionOf  ( :ExcludedObject :RealizededObject )
                         ] .

:UseCase  a              owl:Class ;
        rdfs:comment     "A sao:InformationElement which records a specific piece of information detailing a situation in which any component of :AI_System or the system as whole could potentially be used." ;
        rdfs:label       "Use Case" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:SystemDeploymentGuideline
        a                owl:Class ;
        rdfs:comment     "A specific type of :Guideline which represents the description of guidelines for the Deployment stage of the AI System.\n\nIt is advisable that the information realization corresponding to the System Deployment Guideline variable contains the following information elements:\nGuidance.\n1. SystemIntegrationGuidance\n2. SystemDeploymentGuidance\n3. SystemDocumentationGuidance" ;
        rdfs:label       "System Deployment Guideline" ;
        rdfs:subClassOf  :Guideline ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :GenerateGuideline ;
                           owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] .

<http://www.w3.org/ns/prov#SoftwareAgent>
        a                owl:Class ;
        rdfs:subClassOf  <http://www.w3.org/ns/prov#Agent> .

:AI_System  a            owl:Class ;
        rdfs:comment     "The AI System for which the accountability plan is specified." ;
        rdfs:label       "AI System" ;
        rdfs:subClassOf  <https://w3id.org/sao#System> .

:ComplianceSpecification
        a                 owl:Class ;
        rdfs:comment      "A specific type of design specification  which represents the  description of a compliance requirement.\n\nIt is advisable that the information realization corresponding to SystemPurposeSpecification contains the following information elements\n1. HardLaw\n2. SoftLaw" ;
        rdfs:label        "Compliance Specification" ;
        rdfs:subClassOf   :DesignSpecification ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ProduceSpecification ;
                            owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                          ] ;
        owl:disjointWith  :EvaluationSpecification , :SupportingInfrastructureSpecification , :SystemPurposeSpecification , :DatasetSpecification , :ModelSpecification .

:HumanDecision  a         owl:Class ;
        rdfs:comment      "A specific type of a planned sao:AccountableResult which represents a decision made by a human." ;
        rdfs:label        "Human Decision" ;
        rdfs:subClassOf   <https://w3id.org/sao#AccountableResult> ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :Decide ;
                            owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        owl:disjointWith  :SupportingInfrastructureComponent , :ModelComponent .

<http://www.w3.org/ns/mls#Dataset>
        a                owl:Class ;
        rdfs:comment     "A data item composed of data examples." ;
        rdfs:label       "Dataset" ;
        rdfs:subClassOf  :RealizableObject ;
        rdfs:subClassOf  [ a            owl:Class ;
                           owl:unionOf  ( :ExcludedObject :RealizededObject )
                         ] .

:version  a           owl:FunctionalProperty , owl:DatatypeProperty ;
        rdfs:comment  "A value indicating what a :RealizableObject's version is. Inspired by the Model Card Toolkit schema https://github.com/tensorflow/model-card-toolkit/blob/master/model_card_toolkit/schema/v0.0.1/model_card.schema.json" ;
        rdfs:domain   [ a            owl:Class ;
                        owl:unionOf  ( <http://ontosoft.org/software#Software> :ExcludedObject :RealizableObject :RealizededObject )
                      ] ;
        rdfs:label    "version" ;
        rdfs:range    xsd:string .

:ThirdPartyEvaluation
        a                owl:Class ;
        rdfs:comment     "A specific type of :Evaluation which represents an evaluation performed by a third party independent of the developers of the AI System." ;
        rdfs:label       "Third Party Evaluation" ;
        rdfs:subClassOf  :Evaluation ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :Evaluate ;
                           owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] .

:hasResultUpperBound  a  owl:FunctionalProperty , owl:DatatypeProperty ;
        rdfs:comment  "The upper bound of the confidence interval.\n\nInspired by the Model Card Toolkit schema https://github.com/tensorflow/model-card-toolkit/blob/master/model_card_toolkit/schema/v0.0.1/model_card.schema.json" ;
        rdfs:domain   :EvaluationResult ;
        rdfs:label    "hasResultUpperBound" .

:RealizededObject  a     owl:Class ;
        rdfs:comment     "A sao:InformationElement which records information detailing a piece of data, software or hardware that was realized - whether or not it followed a design specification or a guideline.\n\nFor example, assume the dataset design specification specifies that dataset foorbar is to be realised (to be used to train the model), but the implementation team realises dataset xyzzy. In this case, only dataset xyzzy is created as an instance of Realized Object." ;
        rdfs:label       "Realized Object" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

terms:rights  a  owl:AnnotationProperty .

:hasBase64Image  a    owl:DatatypeProperty ;
        rdfs:comment  "A value indicating what an :InformationElement's base 64 image is in String format. Inspired by the Model Card Toolkit schema https://github.com/tensorflow/model-card-toolkit/blob/master/model_card_toolkit/schema/v0.0.1/model_card.schema.json" ;
        rdfs:domain   <https://w3id.org/sao#InformationElement> ;
        rdfs:label    "hasBase64Image" ;
        rdfs:range    xsd:string .

:isCharacteristicOfRealizableObject
        a             owl:ObjectProperty ;
        rdfs:comment  "Inverse of hasRealizableObjectCharacteristic" ;
        rdfs:domain   :RealizableObjectCharacteristic ;
        rdfs:label    "isCharacteristicOfRealizableObject" ;
        rdfs:range    :RealizableObject .

:DesignStageAccountabilityPlan
        a                 owl:Class ;
        rdfs:comment      "A plan that identifies sao:AccountableAction(s) and sao:AccountableResult(s) relevant to the design stage of an AI system and  which are required to be documented for accountability purposes. The Accountable Actions that can be done at this stage are: Produce Specification and Decide." ;
        rdfs:label        "Design Stage Accountability Plan" ;
        rdfs:subClassOf   <https://w3id.org/sao#AccountabilityPlan> ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :ApprovalDecision :CertificationDecision :ComplianceAssuranceDecision :ComplianceSpecification :DatasetSpecification :DesignSpecification :EvaluationSpecification :FitnessConfirmationDecision :HumanDecision :ModelSpecification :SupportingInfrastructureSpecification :SystemPurposeSpecification )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#includesVariable>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :Decide :GrantCertification :ProduceSpecification )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#includesStep>
                          ] ;
        owl:disjointWith  :ImplementationStageAccountabilityPlan .

<https://w3id.org/sao#AccountableResult>
        a       owl:Class .

:Evaluation  a            owl:Class ;
        rdfs:comment      "A specific type of planned sao:AccountableResult which represents a high level reference to testing at least one component and recording the results of the test(s) (e.g. testing the model with a specified dataset) that is expected to be produced during the implementation stage.\n\nIt is advisable that the information realization corresponding to the Evaluation variable contains the following information elements:\n1. Either an instance of mls:EvaluationProcedure (if it is the model being evaluated) or EvaluationProcedure (if it is not the ML model being evaluated). Either should also be an instance of RealizedObject. If the evaluation deviates from the design, then an additional instance of mls:EvaluationProcedure or EvaluationProcedure should be indicated as an instance of ExcludedObject.\n2. Either an instance of mls:EvaluationMeasure (if it is the model being evaluated) or EvaluationMeasure(if it is not the ML model being evaluated). If the evaluation deviates from the design, then an additional instance of mls:EvaluationMeasure or EvaluationMeasure should be indicated as an instance of ExcludedObject.\n3. Either an instance of mls:ModelEvaluation (if it is the model being evaluated) or EvaluationResult (if it is not the ML model being evaluated). If the evaluation deviates from the design, then an additional instance of mls:ModelEvaluation or EvaluationResult should be indicated as an instance of ExcludedObject.\n4. HardLaw\n5. SoftLaw\n\nIt is discouraged that the information realization corresponding to the Evaluation variable contains the following information elements:\n1. SystemIntegrationGuidance\n2. SystemDeploymentGuidance\n3. SystemDocumentationGuidance\n4. SystemIntegrationGuidance\n5. SystemUsageGuidance" ;
        rdfs:label        "Evaluation" ;
        rdfs:subClassOf   <https://w3id.org/sao#AccountableResult> ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :Evaluate ;
                            owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        owl:disjointWith  :HumanDecision , :Guideline .

:hasMitigationStrategy
        a             owl:DatatypeProperty ;
        rdfs:comment  "A value indicating what a :Risk's mitigation strategy is, expressed in String format. Inspired by the Model Card Toolkit schema https://github.com/tensorflow/model-card-toolkit/blob/master/model_card_toolkit/schema/v0.0.1/model_card.schema.json" ;
        rdfs:domain   :Risk ;
        rdfs:label    "hasMitigationStrategy" ;
        rdfs:range    xsd:string .

:ApprovalDecision  a     owl:Class ;
        rdfs:comment     "A specific type of a planned human decision representing approvals and sign offs." ;
        rdfs:label       "Approval Decision" ;
        rdfs:subClassOf  :HumanDecision ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :Decide ;
                           owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] .

<https://w3id.org/ep-plan#includesStep>
        a              owl:ObjectProperty ;
        owl:inverseOf  <https://w3id.org/ep-plan#isStepOfPlan> .

:FitnessConfirmationDecision
        a                owl:Class ;
        rdfs:comment     "A specific type of planned human decision representing confirmation of fitness of some sao:AccountableResult t to its purpose." ;
        rdfs:label       "Fitness Confirmation Decision" ;
        rdfs:subClassOf  :HumanDecision ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :Decide ;
                           owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] .

:EvaluationProcedure  a  owl:Class ;
        rdfs:comment     "A sao:InformationElement  which records a specific piece of  information detailing procedure by which some aspects of an :AI_Sytem were evaluated. This is broader than mls:EvaluationProcedure which relates to model evaluation." ;
        rdfs:label       "Evaluation Procedure" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

:Decide  a                owl:Class ;
        rdfs:comment      "A planned step describing a decision to be taken by a human when incorporating accountability in AI Systems, e.g. approve the design of an ML Model." ;
        rdfs:label        "Decide" ;
        rdfs:subClassOf   <https://w3id.org/sao#AccountableAction> ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isStepOfPlan>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :ApprovalDecision :CertificationDecision :ComplianceAssuranceDecision :FitnessConfirmationDecision :HumanDecision )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#hasOutputVariable>
                          ] ;
        rdfs:subClassOf   [ a                  owl:Restriction ;
                            owl:allValuesFrom  [ a            owl:Class ;
                                                 owl:unionOf  ( :DesignStageAccountabilityPlan :ImplementationStageAccountabilityPlan )
                                               ] ;
                            owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                          ] ;
        owl:disjointWith  :RealizeComponent , :MergeAndSplitDataset , :ProduceSpecification , :Evaluate , :GenerateGuideline .

:IntendedUseCase  a      owl:Class ;
        rdfs:comment     "A type of :UseCase detailing a situation in which any component of :AI_System or the system as whole is expected to be used." ;
        rdfs:label       "Intended Use Case" ;
        rdfs:subClassOf  :UseCase .

:TrainingDataset  a      owl:Class ;
        rdfs:comment     "A specific type of a Dataset Component  which represents a subset of the whole collected and pre-processed datasets after they were merged then split to be fed into the ML Model. This specific type represents the data used to train the ML Model. The other subsets are used to validate and evaluate the model." ;
        rdfs:label       "Training Dataset" ;
        rdfs:subClassOf  :DatasetComponent ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :MergeAndSplitDataset :RealizeComponent )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] .

:Funding  a              owl:Class ;
        rdfs:comment     "A sao:InformationElement  which records a specific piece of  information detailing a funding source." ;
        rdfs:label       "Funding" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

<https://w3id.org/ep-plan#isInputVariableOf>
        a       owl:ObjectProperty .

<http://www.w3.org/ns/mls#EvaluationMeasure>
        a                owl:Class ;
        rdfs:comment     "EvaluationMeasure is a measure to assess the performance of the model generated by the process that realizes the task. Examples are predictive accuracy or f-measure." ;
        rdfs:label       "Evaluation Measure" ;
        rdfs:subClassOf  :EvaluationMeassure .

:computedOnSlice  a   owl:FunctionalProperty , owl:DatatypeProperty ;
        rdfs:comment  "The description of slice that the metric which  produced evaluation result was computed on. Inspired by the Model Card Toolkit schema https://github.com/tensorflow/model-card-toolkit/blob/master/model_card_toolkit/schema/v0.0.1/model_card.schema.json" ;
        rdfs:domain   :EvaluationResult ;
        rdfs:label    "computedOnSlice" .

vann:preferredNamespaceUri
        a       owl:AnnotationProperty .

:SystemHumanOversightMechanism
        a                owl:Class ;
        rdfs:comment     "A type of :RealizableObjectCharacteristic detailing how :AI_System integrates human operators in its decision processes to offer them the opportunity to stop, review, or alter the outputs produced by the system." ;
        rdfs:label       "System Human Oversight Mechanism" ;
        rdfs:subClassOf  :RealizableObjectCharacteristic .

<https://w3id.org/sao#AccountableAgent>
        a                owl:Class ;
        rdfs:comment     "An agent (typically a human) that can be held accountable for his/her actions." ;
        rdfs:label       "Accountable Agent" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> , <https://w3id.org/ep-plan#Agent> .

:versionNote  a       owl:DatatypeProperty ;
        rdfs:comment  "A value describing a note about the version date of a :RealizableObject. Inspired by the Model Card Toolkit schema https://github.com/tensorflow/model-card-toolkit/blob/master/model_card_toolkit/schema/v0.0.1/model_card.schema.json" ;
        rdfs:domain   [ a            owl:Class ;
                        owl:unionOf  ( <http://ontosoft.org/software#Software> :ExcludedObject :RealizableObject :RealizededObject )
                      ] ;
        rdfs:label    "versionNote" ;
        rdfs:range    xsd:string .

<http://ontosoft.org/software#Software>
        a                owl:Class ;
        rdfs:comment     "A Software is any piece of code that is described in Ontosoft. This could some visualisation software, software package, library, componentised scripts, etc. This can be subclassed if software categories with extra properties are required, otherwise one should use SoftwareTag to categorise software." ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> , <https://w3id.org/ep-plan#Agent> , <http://www.w3.org/ns/prov#SoftwareAgent> .

:ComplianceEntity  a     owl:Class ;
        rdfs:comment     "A specific type of sao:InformationElement which records a specific piece of  information about  a compliance requirement that is to be complied with as part of an information realization collection." ;
        rdfs:label       "Compliance Entity" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .

terms:modified  a  owl:AnnotationProperty .

:EvaluationDataset  a    owl:Class ;
        rdfs:comment     "A specific type of a Dataset Component  which represents a subset of the whole collected and pre-processed datasets after they were merged then split to be fed into the ML Model. This specific type represents the data used to evaluate the ML Model. The other subsets are used to train and evaluate the model. This type can also represent a standalone dataset used to evaluate the model independent of the datasets used to train and validate it." ;
        rdfs:label       "Evaluation Dataset" ;
        rdfs:subClassOf  :DatasetComponent ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isVariableOfPlan>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a            owl:Class ;
                                                owl:unionOf  ( :MergeAndSplitDataset :RealizeComponent )
                                              ] ;
                           owl:onProperty     <https://w3id.org/ep-plan#isOutputVariableOf>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :ImplementationStageAccountabilityPlan ;
                           owl:onProperty     <https://w3id.org/ep-plan#isElementOfPlan>
                         ] .

vann:preferredNamespacePrefix
        a       owl:AnnotationProperty .

:Limitation  a           owl:Class ;
        rdfs:comment     "A sao:InformationElement  which records a specific piece of  information detailing the limitations of any aspect related to an :AI_System including the system as whole, its components (e.g., ML model),  or associated processes (e.g., evaluation)." ;
        rdfs:label       "Limitation" ;
        rdfs:subClassOf  <https://w3id.org/sao#InformationElement> .
