@prefix :      <https://w3id.org/sao#> .
@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/> .

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

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

terms:rights  a  owl:AnnotationProperty .

terms:description  a  owl:AnnotationProperty .

terms:creator  a  owl:AnnotationProperty .

terms:modified  a  owl:AnnotationProperty .

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

:System  a               owl:Class ;
        rdfs:comment     "A system that the collected accountability information is about." ;
        rdfs:label       "System" ;
        rdfs:subClassOf  :AccountableObject .

:AccountableAction  a    owl:Class ;
        rdfs:comment     "A planned step which is deemed to be important for accountability purposes and produces AccountableResult." ;
        rdfs:label       "Accountable Action" ;
        rdfs:subClassOf  <https://w3id.org/ep-plan#MultiStep> .

:InformationRealization
        a                owl:Class ;
        rdfs:comment     "A collection of pieces of information (InformationElements) which corresponds to a variable of type  AccountableResult. The collection represents the actual piece of provenance information documenting a specific AccountableResult during a single plan execution." ;
        rdfs:label       "Information Realization" ;
        rdfs:subClassOf  <https://w3id.org/ep-plan#EntityCollection> ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :AccountableResult ;
                           owl:onProperty     <https://w3id.org/ep-plan#correspondsToVariable>
                         ] ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :InformationElement ;
                           owl:onProperty     <http://www.w3.org/ns/prov#hadMember>
                         ] .

ns:license  a   owl:AnnotationProperty .

terms:issued  a  owl:AnnotationProperty .

<https://w3id.org/sao>
        a                              owl:Ontology ;
        rdfs:comment                   "-Version 1.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 1: creation"@en , "To contact the RAInS team, please send an email to therainsproject [at] gmail [dot] com"@en ;
        rdfs:label                     "The System Accountability Ontology" ;
        ns:license                     <https://creativecommons.org/licenses/by-nc-sa/4.0/> ;
        terms:creator                  <https://www.abdn.ac.uk/ncs/profiles/iman.naja> , <https://www.abdn.ac.uk/ncs/profiles/milan.markovic/> , <https://www.abdn.ac.uk/ncs/profiles/p.edwards> ;
        terms:description              "An ontology to model accountability of generic systems."@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 System Accountability Ontology"@en ;
        vann:preferredNamespacePrefix  "sao" ;
        vann:preferredNamespaceUri     "https://w3id.org/sao#" ;
        owl:versionInfo                1.0 .

:AccountableResult  a    owl:Class ;
        rdfs:comment     "An output variable which is produced by an Accountable Action, for example,  a decision made by a human or a specification produced by a team. The variable is part of the accountability plan and has a corresponding InformationRealization collection in the execution trace." ;
        rdfs:label       "Accountable Result" ;
        rdfs:subClassOf  <https://w3id.org/ep-plan#MultiVariable> ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  :InformationRealization ;
                           owl:onProperty     <https://w3id.org/ep-plan#hasCorrespondingEntity>
                         ] .

:specifiedForSystem  a  owl:ObjectProperty ;
        rdfs:comment  "A relation that links the accountability plan to the system it was specified for." ;
        rdfs:domain   :AccountabilityPlan ;
        rdfs:label    "specified for system" ;
        rdfs:range    :System .

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

:impacts  a            owl:ObjectProperty ;
        rdfs:comment   "A relation which describes that an accountable object have some effect on the system's accountability." ;
        rdfs:domain    :AccountableObject ;
        rdfs:label     "impacts" ;
        rdfs:range     :System ;
        owl:inverseOf  :isImpactedBy .

:hasRelatedAccountableResult
        a                   owl:ObjectProperty ;
        rdfs:domain         :AccountableObject ;
        rdfs:label          "has related accountable result" ;
        rdfs:range          :AccountableResult ;
        rdfs:subPropertyOf  owl:topObjectProperty ;
        owl:inverseOf       :relatesToAccountableObject .

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

<http://www.w3.org/ns/prov#hadMember>
        a       owl:ObjectProperty .

:InformationElement  a   owl:Class ;
        rdfs:comment     "A member of the collection of type Information Realization. Information Realizations may have multiple Information Elements.  Information Element describes in more detail a specific type of information contained by the Information Realization collection." ;
        rdfs:label       "Information Element" ;
        rdfs:subClassOf  <https://w3id.org/ep-plan#Entity> .

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

terms:title  a  owl:AnnotationProperty .

:hasSpecifiedAccountabiltyPlan
        a              owl:ObjectProperty ;
        rdfs:comment   "Inverse of specified for system." ;
        rdfs:domain    :System ;
        rdfs:label     "has specified accountability plan" ;
        rdfs:range     :AccountabilityPlan ;
        owl:inverseOf  :specifiedForSystem .

:AccountableObject  a  owl:Class ;
        rdfs:comment  "An accountable object models an abstract representation of a thing that should be documented for accountability. This may reference the whole system, its logical part, or associated process.  For example, a larger system may be described as a group of sub-systems or a single system may be broken down into a number of layers/components (e.g., a decision logic layer)." ;
        rdfs:label    "Accountable Object" .

:AccountabilityPlan  a   owl:Class ;
        rdfs:comment     "A plan which describes a specification of the information that should be collected, so as to support accountability of systems." ;
        rdfs:label       "Accountability Plan" ;
        rdfs:subClassOf  <https://w3id.org/ep-plan#Plan> .

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

vann:preferredNamespaceUri
        a       owl:AnnotationProperty .

: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  :InformationElement , <https://w3id.org/ep-plan#Agent> .

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

:isAccountableFor  a  owl:ObjectProperty ;
        rdfs:comment  "A relation that links accountable agents to entities they are accountable for." ;
        rdfs:domain   :AccountableAgent ;
        rdfs:label    "is accountable for" ;
        rdfs:range    <https://w3id.org/ep-plan#Entity> .

:relatesToAccountableObject
        a             owl:ObjectProperty ;
        rdfs:comment  "A relation which describes the information described by an accountable result relates to an accountable object." ;
        rdfs:domain   :AccountableResult ;
        rdfs:label    "relates to accountable object" ;
        rdfs:range    :AccountableObject .

:isImpactedBy  a      owl:ObjectProperty ;
        rdfs:comment  "Inverse of impacts." ;
        rdfs:domain   :System ;
        rdfs:label    "is impacted by" ;
        rdfs:range    :AccountableObject .

:hasAccountableAgent  a  owl:ObjectProperty ;
        rdfs:comment   "Inverse of is accountable for" ;
        rdfs:domain    <https://w3id.org/ep-plan#Entity> ;
        rdfs:label     "has accountable agent" ;
        rdfs:range     :AccountableAgent ;
        owl:inverseOf  :isAccountableFor .

vann:preferredNamespacePrefix
        a       owl:AnnotationProperty .
