@prefix : <http://sjka.site/ontology/atlas#> .
@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 <http://sjka.site/ontology/atlas#> .

<http://sjka.site/ontology/atlas#> rdf:type owl:Ontology ;
                                    owl:imports <http://sjka.site/ontology/seips> ,
                                                <http://www.w3.org/ns/prov-o#> ;
                                    <http://purl.org/dc/elements/1.1/contributor> "Junli Liang"@en ,
                                                                                  "Rob Brennan"@en ;
                                    <http://purl.org/dc/elements/1.1/creator> "Sajjad Karimian"@en ;
                                    <http://purl.org/dc/terms/created> "2026-01-06"^^xsd:date ;
                                    <http://purl.org/dc/terms/description> "Atlas ontology for augmenting Socio-Technical Systems Analysis (STSA) with explicit, machine-readable data-flow and provenance modelling using PROV-O."@en ;
                                    <http://purl.org/dc/terms/license> <https://creativecommons.org/licenses/by/4.0/> ;
                                    <http://purl.org/dc/terms/rights> "Copyright © 2025 Sajjad Karimian. Licensed under CC BY 4.0."@en ;
                                    <http://purl.org/dc/terms/title> "Atlas Ontology"@en ;
                                    rdfs:label "Atlas Ontology"@en ;
                                    owl:versionInfo "1.2" .

#################################################################
#    Annotation properties
#################################################################

###  http://purl.org/dc/elements/1.1/contributor
<http://purl.org/dc/elements/1.1/contributor> rdf:type owl:AnnotationProperty .


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


###  http://purl.org/dc/terms/created
<http://purl.org/dc/terms/created> 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/license
<http://purl.org/dc/terms/license> 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://sjka.site/ontology/atlas#hasCardinality
:hasCardinality rdf:type owl:AnnotationProperty ;
                rdfs:comment "Used to describe whether a property is optional or mandatory for a class (documentation aid; not a logical constraint by itself)."@en ;
                rdfs:label "Cardinality Status"@en .


#################################################################
#    Datatypes
#################################################################

###  http://www.w3.org/2001/XMLSchema#date
xsd:date rdf:type rdfs:Datatype .


#################################################################
#    Object Properties
#################################################################

###  http://sjka.site/ontology/atlas#playsRole
:playsRole rdf:type owl:ObjectProperty ;
           rdfs:domain :Actor ;
           rdfs:range <http://www.w3.org/ns/prov#Agent> ;
           rdfs:comment "Links an Actor to a role agent (e.g., DataProducer or DataConsumer) used for accountability modelling. Organisational responsibility can then be asserted using prov:actedOnBehalfOf from the role-agent to an Organisation."@en ;
           rdfs:label "playsRole"@en .


#################################################################
#    Classes
#################################################################

###  http://sjka.site/ontology/atlas#Actor
:Actor rdf:type owl:Class ;
       rdfs:subClassOf <http://www.w3.org/ns/prov#Agent> ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :playsRole ;
                         owl:minCardinality "1"^^xsd:nonNegativeInteger
                       ] ;
       :hasCardinality "mandatory"@en ;
       rdfs:comment "Accountable actor performing or responsible for an activity (e.g., a microbiologist, IPC team member) in the provenance view."@en ;
       rdfs:label "Actor"@en .


###  http://sjka.site/ontology/atlas#ContextualUse
:ContextualUse rdf:type owl:Class ;
               rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ;
               :hasCardinality "mandatory"@en ;
               rdfs:comment "Use of data in a specific context, role, and time (e.g., operational KPI computation and use)."@en ;
               rdfs:label "ContextualUse"@en .


###  http://sjka.site/ontology/atlas#DataConsumer
:DataConsumer rdf:type owl:Class ;
              rdfs:subClassOf <http://www.w3.org/ns/prov#Agent> ;
              :hasCardinality "mandatory"@en ;
              rdfs:comment "Role agent that consumes/uses data. Typically linked from an Actor via atlas:playsRole, and then linked to an Organisation via prov:actedOnBehalfOf."@en ;
              rdfs:label "DataConsumer"@en .


###  http://sjka.site/ontology/atlas#DataFlow
:DataFlow rdf:type owl:Class ;
          rdfs:subClassOf <http://www.w3.org/ns/prov#Entity> ;
          :hasCardinality "mandatory"@en ;
          rdfs:comment "Data exchanged between components or activities (conceptual flow or exchanged dataset/transfer record)."@en ;
          rdfs:label "DataFlow"@en .


###  http://sjka.site/ontology/atlas#DataProcessing
:DataProcessing rdf:type owl:Class ;
                owl:equivalentClass :DataProcessingStep ;
                rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ;
                :hasCardinality "mandatory"@en ;
                rdfs:comment "Activity in which data are processed/transformed (e.g., extraction, cleaning, exporting, merging)."@en ;
                rdfs:label "DataProcessing"@en .


###  http://sjka.site/ontology/atlas#DataProcessingStep
:DataProcessingStep rdf:type owl:Class ;
                    rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ;
                    rdfs:comment "Deprecated in v1.2. Use atlas:DataProcessing (aligned with thesis schema, figure, and case study RDF)."@en ;
                    rdfs:label "DataProcessingStep"@en ;
                    owl:deprecated "true"^^xsd:boolean .


###  http://sjka.site/ontology/atlas#DataProducer
:DataProducer rdf:type owl:Class ;
              rdfs:subClassOf <http://www.w3.org/ns/prov#Agent> ;
              :hasCardinality "mandatory"@en ;
              rdfs:comment "Role agent that produces data. Typically linked from an Actor via atlas:playsRole, and then linked to an Organisation via prov:actedOnBehalfOf."@en ;
              rdfs:label "DataProducer"@en .


###  http://sjka.site/ontology/atlas#DataStore
:DataStore rdf:type owl:Class ;
           rdfs:subClassOf <http://www.w3.org/ns/prov#Entity> ;
           :hasCardinality "mandatory"@en ;
           rdfs:comment "Location where data are stored (e.g., database, shared drive). Modelled as a PROV Entity to support prov:atLocation assertions."@en ;
           rdfs:label "DataStore"@en .


###  http://sjka.site/ontology/atlas#DataValue
:DataValue rdf:type owl:Class ;
           rdfs:subClassOf <http://www.w3.org/ns/prov#Entity> ;
           :hasCardinality "mandatory"@en ;
           rdfs:comment "A data item/record/dataset used or produced in the workflow."@en ;
           rdfs:label "DataValue"@en .


###  http://sjka.site/ontology/atlas#DerivedInsight
:DerivedInsight rdf:type owl:Class ;
                rdfs:subClassOf <http://www.w3.org/ns/prov#Entity> ;
                :hasCardinality "mandatory"@en ;
                rdfs:comment "An insight/metric/report derived from data values (e.g., a CPE report, KPIs)."@en ;
                rdfs:label "DerivedInsight"@en .


###  http://sjka.site/ontology/atlas#Environment
:Environment rdf:type owl:Class ;
             rdfs:subClassOf <http://sjka.site/ontology/seips#Environment> ;
             :hasCardinality "optional"@en ;
             rdfs:comment "Contextual environment aligned to the SEIPS work system model."@en ;
             rdfs:label "Environment"@en .


###  http://sjka.site/ontology/atlas#ExternalEntity
:ExternalEntity rdf:type owl:Class ;
                rdfs:subClassOf <http://www.w3.org/ns/prov#Agent> ;
                :hasCardinality "mandatory"@en ;
                rdfs:comment "External agent involved in data operations (outside the focal organisational boundary)."@en ;
                rdfs:label "ExternalEntity"@en .


###  http://sjka.site/ontology/atlas#InternalEntity
:InternalEntity rdf:type owl:Class ;
                rdfs:subClassOf <http://www.w3.org/ns/prov#Agent> ;
                :hasCardinality "mandatory"@en ;
                rdfs:comment "Internal agent involved in data operations (inside the focal organisational boundary)."@en ;
                rdfs:label "InternalEntity"@en .


###  http://sjka.site/ontology/atlas#Interpretation
:Interpretation rdf:type owl:Class ;
                rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ;
                :hasCardinality "mandatory"@en ;
                rdfs:comment "Interpretation/analysis activity over data (e.g., interpreting an extract to produce a report)."@en ;
                rdfs:label "Interpretation"@en .


###  http://sjka.site/ontology/atlas#Organisation
:Organisation rdf:type owl:Class ;
              rdfs:subClassOf <http://www.w3.org/ns/prov#Agent> ;
              :hasCardinality "optional"@en ;
              rdfs:comment "Organisation responsible for data handling in the provenance view (modelled as a PROV Agent)."@en ;
              rdfs:label "Organisation"@en .


###  http://sjka.site/ontology/atlas#Process
:Process rdf:type owl:Class ;
         rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ;
         :hasCardinality "mandatory"@en ;
         rdfs:comment "A process step in which data operations are performed (high-level activity type used in Atlas)."@en ;
         rdfs:label "Process"@en .


###  http://sjka.site/ontology/atlas#SystemBoundary
:SystemBoundary rdf:type owl:Class ;
                rdfs:subClassOf <http://www.w3.org/ns/prov#Agent> ;
                :hasCardinality "optional"@en ;
                rdfs:comment "Represents the system boundary construct used to distinguish internal vs external agents/activities for governance and accountability. Modelled as an agent-like governance construct in the Atlas diagram."@en ;
                rdfs:label "SystemBoundary"@en .


###  http://sjka.site/ontology/seips#Environment
<http://sjka.site/ontology/seips#Environment> rdf:type owl:Class .


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