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

<https://w3id.org/lcanet/actor> rdf:type owl:Ontology ;
                                 owl:versionIRI <https://w3id.org/lcanet/actor/2.2.0> ;
                                 <http://purl.org/dc/terms/creator> <https://orcid.org/0000-0002-0438-6831> ;
                                 <http://purl.org/dc/terms/description> """The Actor module is part of the LCAnet ontology proposed by the SmartACV Carnot Project. 
            It provides a formal representation of actors (e.g., persons, organizations, and groups) 
            involved in LCA processes, as well as their roles and responsibilities. 
            It resuses some elements from the FOAF (Friend Of A Freind) ontology.""" ;
                                 <http://purl.org/dc/terms/issued> "2026-05-20"^^xsd:date ;
                                 <http://purl.org/dc/terms/license> <https://creativecommons.org/licenses/by/4.0/> ;
                                 <http://purl.org/dc/terms/publisher> <https://www.cea.fr> ;
                                 <http://purl.org/dc/terms/title> "The Actor module of the Life Cycle Assessment Network Ontology (LCAnet)."@en ;
                                 <http://purl.org/vocab/vann/preferredNamespacePrefix> "actor" ;
                                 <http://purl.org/vocab/vann/preferredNamespaceUri> "https://w3id.org/lcanet/actor#" ;
                                 rdfs:label "LCAnet-Actor" ;
                                 owl:priorVersion "2.1.0" ;
                                 owl:versionInfo "2.2.0" .

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


###  http://purl.org/dc/terms/date
<http://purl.org/dc/terms/date> 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/license
<http://purl.org/dc/terms/license> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/publisher
<http://purl.org/dc/terms/publisher> 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 .


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


#################################################################
#    Object Properties
#################################################################

###  https://w3id.org/lcanet/actor#bearsResponsibility
:bearsResponsibility rdf:type owl:ObjectProperty ;
                     owl:inverseOf :isBorneBy ;
                     rdfs:domain :Agent ;
                     rdfs:range :Responsibility ;
                     rdfs:comment "relates an agent to the responsibility they bear" ;
                     rdfs:label "bears Responsibility" .


###  https://w3id.org/lcanet/actor#entailedBy
:entailedBy rdf:type owl:ObjectProperty ;
            owl:inverseOf :entails ;
            rdfs:domain :Responsibility ;
            rdfs:range :Role ;
            rdfs:comment "relates a responsibility to the role it is entailed by" ;
            rdfs:label "entailed By" .


###  https://w3id.org/lcanet/actor#entails
:entails rdf:type owl:ObjectProperty ;
         rdfs:domain :Role ;
         rdfs:range :Responsibility ;
         rdfs:comment "relates a role to the responsibility it entails" ;
         rdfs:label "entails" .


###  https://w3id.org/lcanet/actor#inContextOf
:inContextOf rdf:type owl:ObjectProperty ;
             rdfs:domain :Role ;
             rdfs:range :Context ;
             rdfs:comment "relates a Role to the Context (e.g., project or process) in which it is instantiated and meaningful." ;
             rdfs:label "in Context Of" .


###  https://w3id.org/lcanet/actor#isBorneBy
:isBorneBy rdf:type owl:ObjectProperty ;
           rdfs:domain :Responsibility ;
           rdfs:range :Agent ;
           rdfs:comment "relates a responsibility to the agent it is borne by" ;
           rdfs:label "is Borne By" .


###  https://w3id.org/lcanet/actor#playedBy
:playedBy rdf:type owl:ObjectProperty ;
          owl:inverseOf :playsRole ;
          rdfs:domain :Role ;
          rdfs:range :Agent ;
          rdfs:comment "relates a role to the agent playing it" ;
          rdfs:label "played By" .


###  https://w3id.org/lcanet/actor#playsRole
:playsRole rdf:type owl:ObjectProperty ;
           rdfs:domain :Agent ;
           rdfs:range :Role ;
           rdfs:comment "relates an Agent to the Role they play" ;
           rdfs:label "plays Role" .


#################################################################
#    Classes
#################################################################

###  http://purl.org/dc/terms/Agent
<http://purl.org/dc/terms/Agent> rdf:type owl:Class ;
                                 owl:equivalentClass :Agent .


###  http://xmlns.com/foaf/0.1/Agent
<http://xmlns.com/foaf/0.1/Agent> rdf:type owl:Class ;
                                  owl:equivalentClass :Agent .


###  http://xmlns.com/foaf/0.1/Group
<http://xmlns.com/foaf/0.1/Group> rdf:type owl:Class ;
                                  owl:equivalentClass :Group .


###  http://xmlns.com/foaf/0.1/Organization
<http://xmlns.com/foaf/0.1/Organization> rdf:type owl:Class ;
                                         owl:equivalentClass :Organization .


###  http://xmlns.com/foaf/0.1/Person
<http://xmlns.com/foaf/0.1/Person> rdf:type owl:Class ;
                                   owl:equivalentClass :Person .


###  https://w3id.org/lcanet/actor#Agency
:Agency rdf:type owl:Class ;
        rdfs:subClassOf :Organization ;
        rdfs:comment "An actor capable of intentional action and decision-making." ;
        rdfs:label "Agency" .


###  https://w3id.org/lcanet/actor#Agent
:Agent rdf:type owl:Class ;
       owl:disjointWith :Context ,
                        :Responsibility ,
                        :Role ;
       rdfs:comment "An entity that performs, participates in, or influences activities." ;
       rdfs:label "Agent" .


###  https://w3id.org/lcanet/actor#Auditor
:Auditor rdf:type owl:Class ;
         rdfs:subClassOf :Role ;
         rdfs:comment "Represents a type of role that an agent may assume when evaluating, reviewing, or verifying the conformity and quality of a life cycle assessment study or its results." ;
         rdfs:label "Auditor" .


###  https://w3id.org/lcanet/actor#Consumer
:Consumer rdf:type owl:Class ;
          rdfs:subClassOf :Role ;
          rdfs:comment "epresents a type of role that an agent may assume when using or consuming a product or service during its life cycle." ;
          rdfs:label "Consumer" .


###  https://w3id.org/lcanet/actor#Context
:Context rdf:type owl:Class ;
         owl:disjointWith :Responsibility ,
                          :Role ;
         rdfs:comment "A social, institutional, or processual situation that provides the setting in which a Role is played by an Agent and where its associated Responsibilities apply. Examples include projects, collaborations, assessments, or audits." ;
         rdfs:label "Context" .


###  https://w3id.org/lcanet/actor#Customer
:Customer rdf:type owl:Class ;
          rdfs:subClassOf :Role ;
          rdfs:comment "Represents a type of role that an agent may assume when acquiring or purchasing a product or service within its life cycle." ;
          rdfs:label "Customer" .


###  https://w3id.org/lcanet/actor#Group
:Group rdf:type owl:Class ;
       rdfs:subClassOf :Agent ;
       owl:disjointWith :Person ;
       rdfs:comment "A collection of agents acting together as a social unit." ;
       rdfs:label "Group" .


###  https://w3id.org/lcanet/actor#Manufacturer
:Manufacturer rdf:type owl:Class ;
              rdfs:subClassOf :Role ;
              rdfs:comment "Represents a type of role that an agent may assume when performing production or assembly activities within a life cycle system." ;
              rdfs:label "Manufacturer" .


###  https://w3id.org/lcanet/actor#Organization
:Organization rdf:type owl:Class ;
              rdfs:subClassOf :Agent ;
              owl:disjointWith :Person ;
              rdfs:comment "A structured collection of agents pursuing common objectives." ;
              rdfs:label "Organization" .


###  https://w3id.org/lcanet/actor#Person
:Person rdf:type owl:Class ;
        rdfs:subClassOf :Agent ;
        rdfs:comment "A human individual acting as an agent." ;
        rdfs:label "Person" .


###  https://w3id.org/lcanet/actor#Recycler
:Recycler rdf:type owl:Class ;
          rdfs:subClassOf :Role ;
          rdfs:comment "Represents a type of role that an agent may assume when performing recovery, recycling, or treatment operations on products or materials at the end-of-life stage." ;
          rdfs:label "Recycler" .


###  https://w3id.org/lcanet/actor#Researcher
:Researcher rdf:type owl:Class ;
            rdfs:subClassOf :Role ;
            rdfs:comment "Represents a type of role that an agent may assume when conducting analysis, modeling, or scientific studies related to life cycle assessment data, methods, or systems." ;
            rdfs:label "Researcher" .


###  https://w3id.org/lcanet/actor#Responsibility
:Responsibility rdf:type owl:Class ;
                owl:disjointWith :Role ;
                rdfs:comment """A Responsibility is a relator (a kind of social relation) that connects: the Agent (bearer),
the Role (through which it is borne), and the Action(s) or Goals to which it applies. It include duties, obligations, tasks, etc.
Examples: certify LCA results, verify data quality, etc.""" ;
                rdfs:label "Responsibility" .


###  https://w3id.org/lcanet/actor#Role
:Role rdf:type owl:Class ;
      rdfs:comment """Represents a functional role that an agent can assume in a specific context.
Example: LCA Auditor, LCA Agency Role""" ;
      rdfs:label "Role" .


#################################################################
#    Rules
#################################################################

<urn:swrl:var#a> rdf:type <http://www.w3.org/2003/11/swrl#Variable> .

<urn:swrl:var#r> rdf:type <http://www.w3.org/2003/11/swrl#Variable> .

<urn:swrl:var#x> rdf:type <http://www.w3.org/2003/11/swrl#Variable> .

[ rdf:type <http://www.w3.org/2003/11/swrl#Imp> ;
   <http://www.w3.org/2003/11/swrl#body> [ rdf:type <http://www.w3.org/2003/11/swrl#AtomList> ;
                                           rdf:first [ rdf:type <http://www.w3.org/2003/11/swrl#ClassAtom> ;
                                                       <http://www.w3.org/2003/11/swrl#classPredicate> :Agent ;
                                                       <http://www.w3.org/2003/11/swrl#argument1> <urn:swrl:var#a>
                                                     ] ;
                                           rdf:rest [ rdf:type <http://www.w3.org/2003/11/swrl#AtomList> ;
                                                      rdf:first [ rdf:type <http://www.w3.org/2003/11/swrl#IndividualPropertyAtom> ;
                                                                  <http://www.w3.org/2003/11/swrl#propertyPredicate> :playsRole ;
                                                                  <http://www.w3.org/2003/11/swrl#argument1> <urn:swrl:var#a> ;
                                                                  <http://www.w3.org/2003/11/swrl#argument2> <urn:swrl:var#r>
                                                                ] ;
                                                      rdf:rest [ rdf:type <http://www.w3.org/2003/11/swrl#AtomList> ;
                                                                 rdf:first [ rdf:type <http://www.w3.org/2003/11/swrl#ClassAtom> ;
                                                                             <http://www.w3.org/2003/11/swrl#classPredicate> :Role ;
                                                                             <http://www.w3.org/2003/11/swrl#argument1> <urn:swrl:var#r>
                                                                           ] ;
                                                                 rdf:rest [ rdf:type <http://www.w3.org/2003/11/swrl#AtomList> ;
                                                                            rdf:first [ rdf:type <http://www.w3.org/2003/11/swrl#IndividualPropertyAtom> ;
                                                                                        <http://www.w3.org/2003/11/swrl#propertyPredicate> :entails ;
                                                                                        <http://www.w3.org/2003/11/swrl#argument1> <urn:swrl:var#r> ;
                                                                                        <http://www.w3.org/2003/11/swrl#argument2> <urn:swrl:var#x>
                                                                                      ] ;
                                                                            rdf:rest [ rdf:type <http://www.w3.org/2003/11/swrl#AtomList> ;
                                                                                       rdf:first [ rdf:type <http://www.w3.org/2003/11/swrl#ClassAtom> ;
                                                                                                   <http://www.w3.org/2003/11/swrl#classPredicate> :Responsibility ;
                                                                                                   <http://www.w3.org/2003/11/swrl#argument1> <urn:swrl:var#x>
                                                                                                 ] ;
                                                                                       rdf:rest rdf:nil
                                                                                     ]
                                                                          ]
                                                               ]
                                                    ]
                                         ] ;
   <http://www.w3.org/2003/11/swrl#head> [ rdf:type <http://www.w3.org/2003/11/swrl#AtomList> ;
                                           rdf:first [ rdf:type <http://www.w3.org/2003/11/swrl#IndividualPropertyAtom> ;
                                                       <http://www.w3.org/2003/11/swrl#propertyPredicate> :bearsResponsibility ;
                                                       <http://www.w3.org/2003/11/swrl#argument1> <urn:swrl:var#a> ;
                                                       <http://www.w3.org/2003/11/swrl#argument2> <urn:swrl:var#x>
                                                     ] ;
                                           rdf:rest rdf:nil
                                         ]
 ] .

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