@prefix : <https://w3id.org/sao#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <https://w3id.org/sao> .

<https://w3id.org/sao> rdf:type owl:Ontology ;
                        <http://creativecommons.org/ns#license> <https://creativecommons.org/licenses/by-nc-sa/4.0/> ;
                        <http://purl.org/dc/terms/creator> <https://www.abdn.ac.uk/ncs/profiles/iman.naja> ,
                                                           <https://www.abdn.ac.uk/ncs/profiles/p.edwards> ,
                                                           <https://www.abdn.ac.uk/ncs/profiles/milan.markovic/> ;
                        <http://purl.org/dc/terms/description> "An ontology to model accountability of generic systems."@en ;
                        <http://purl.org/dc/terms/issued> "2020-12-18"^^xsd:date ;
                        <http://purl.org/dc/terms/modified> "2021-12-30"^^xsd:date ;
                        <http://purl.org/dc/terms/rights> "Copyright 2020 University of Aberdeen" ;
                        <http://purl.org/dc/terms/title> "The System Accountability Ontology"@en ;
                        <http://purl.org/vocab/vann/preferredNamespacePrefix> "sao" ;
                        <http://purl.org/vocab/vann/preferredNamespaceUri> "https://w3id.org/sao#" ;
                        rdfs:comment """-Version 1.0.1: minor edits and additions to the ontology metadata to reflect LOV requirements 
									-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" ;
                        owl:versionInfo 1.0 .

#################################################################
#    Annotation properties
#################################################################

###  http://creativecommons.org/ns#license
<http://creativecommons.org/ns#license> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/creator
<http://purl.org/dc/terms/creator> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/description
<http://purl.org/dc/terms/description> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/issued
<http://purl.org/dc/terms/issued> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/modified
<http://purl.org/dc/terms/modified> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/rights
<http://purl.org/dc/terms/rights> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/title
<http://purl.org/dc/terms/title> rdf:type owl:AnnotationProperty .


###  http://purl.org/vocab/vann/preferredNamespacePrefix
<http://purl.org/vocab/vann/preferredNamespacePrefix> rdf:type owl:AnnotationProperty .


###  http://purl.org/vocab/vann/preferredNamespaceUri
<http://purl.org/vocab/vann/preferredNamespaceUri> rdf:type owl:AnnotationProperty .


#################################################################
#    Object Properties
#################################################################

###  http://www.w3.org/ns/prov#hadMember
<http://www.w3.org/ns/prov#hadMember> rdf:type owl:ObjectProperty .


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


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


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


###  https://w3id.org/sao#hasRelatedAccountableResult
:hasRelatedAccountableResult rdf:type owl:ObjectProperty ;
                             rdfs:subPropertyOf owl:topObjectProperty ;
                             owl:inverseOf :relatesToAccountableObject ;
                             rdfs:domain :AccountableObject ;
                             rdfs:range :AccountableResult ;
                             rdfs:label "has related accountable result" .


###  https://w3id.org/sao#hasSpecifiedAccountabiltyPlan
:hasSpecifiedAccountabiltyPlan rdf:type owl:ObjectProperty ;
                               owl:inverseOf :specifiedForSystem ;
                               rdfs:domain :System ;
                               rdfs:range :AccountabilityPlan ;
                               rdfs:comment "Inverse of specified for system." ;
                               rdfs:label "has specified accountability plan" .


###  https://w3id.org/sao#impacts
:impacts rdf:type owl:ObjectProperty ;
         owl:inverseOf :isImpactedBy ;
         rdfs:domain :AccountableObject ;
         rdfs:range :System ;
         rdfs:comment "A relation which describes that an accountable object have some effect on the system's accountability." ;
         rdfs:label "impacts" .


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


###  https://w3id.org/sao#isImpactedBy
:isImpactedBy rdf:type owl:ObjectProperty ;
              rdfs:domain :System ;
              rdfs:range :AccountableObject ;
              rdfs:comment "Inverse of impacts." ;
              rdfs:label "is impacted by" .


###  https://w3id.org/sao#relatesToAccountableObject
:relatesToAccountableObject rdf:type owl:ObjectProperty ;
                            rdfs:domain :AccountableResult ;
                            rdfs:range :AccountableObject ;
                            rdfs:comment "A relation which describes the information described by an accountable result relates to an accountable object." ;
                            rdfs:label "relates to accountable object" .


###  https://w3id.org/sao#specifiedForSystem
:specifiedForSystem rdf:type owl:ObjectProperty ;
                    rdfs:domain :AccountabilityPlan ;
                    rdfs:range :System ;
                    rdfs:comment "A relation that links the accountability plan to the system it was specified for." ;
                    rdfs:label "specified for system" .


#################################################################
#    Classes
#################################################################

###  https://w3id.org/ep-plan#Agent
<https://w3id.org/ep-plan#Agent> rdf:type owl:Class .


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


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


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


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


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


###  https://w3id.org/sao#AccountabilityPlan
:AccountabilityPlan rdf:type owl:Class ;
                    rdfs:subClassOf <https://w3id.org/ep-plan#Plan> ;
                    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" .


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


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


###  https://w3id.org/sao#AccountableObject
:AccountableObject rdf:type 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" .


###  https://w3id.org/sao#AccountableResult
:AccountableResult rdf:type owl:Class ;
                   rdfs:subClassOf <https://w3id.org/ep-plan#MultiVariable> ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty <https://w3id.org/ep-plan#hasCorrespondingEntity> ;
                                     owl:allValuesFrom :InformationRealization
                                   ] ;
                   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" .


###  https://w3id.org/sao#InformationElement
:InformationElement rdf:type owl:Class ;
                    rdfs:subClassOf <https://w3id.org/ep-plan#Entity> ;
                    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" .


###  https://w3id.org/sao#InformationRealization
:InformationRealization rdf:type owl:Class ;
                        rdfs:subClassOf <https://w3id.org/ep-plan#EntityCollection> ,
                                        [ rdf:type owl:Restriction ;
                                          owl:onProperty <http://www.w3.org/ns/prov#hadMember> ;
                                          owl:allValuesFrom :InformationElement
                                        ] ,
                                        [ rdf:type owl:Restriction ;
                                          owl:onProperty <https://w3id.org/ep-plan#correspondsToVariable> ;
                                          owl:allValuesFrom :AccountableResult
                                        ] ;
                        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" .


###  https://w3id.org/sao#System
:System rdf:type owl:Class ;
        rdfs:subClassOf :AccountableObject ;
        rdfs:comment "A system that the collected accountability information is about." ;
        rdfs:label "System" .


###  Generated by the OWL API (version 5.1.14) https://github.com/owlcs/owlapi/
