@base <http://geographicknowledge.de/vocab/circularEconomy>.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix xml: <http://www.w3.org/XML/1998/namespace>.
@prefix : <http://geographicknowledge.de/vocab/circularEconomy#>.
@prefix circularEconomy: <http://geographicknowledge.de/vocab/circularEconomy#>.
@prefix PlaceReferenceTheory: <http://www.geographicknowledge.de/vocab/PlaceReferenceTheory#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.

_:autos10 rdf:first circularEconomy:Tool;
          rdf:rest _:autos11.
_:autos11 rdf:first circularEconomy:Waste;
          rdf:rest rdf:nil.
_:autos12 rdf:first [a owl:Restriction ; 
                     owl:onProperty circularEconomy:input ; 
                     owl:someValuesFrom circularEconomy:ReverseLogisticsOutput];
          rdf:rest _:autos13.
_:autos13 rdf:first [a owl:Restriction ; 
                     owl:onProperty circularEconomy:input ; 
                     owl:someValuesFrom [a owl:Class ; 
                                         owl:unionOf _:autos10]];
          rdf:rest rdf:nil.
_:autos17 rdf:first circularEconomy:Tool;
          rdf:rest _:autos18.
_:autos18 rdf:first circularEconomy:Waste;
          rdf:rest rdf:nil.
<http://geographicknowledge.de/vocab/circularEconomy> a owl:Ontology;
                                                      rdfs:comment "This ontology describes the activities that enable the circulation of materials and products across companies and persons in order to realize the circular economy. A particular important aspect is modelling the possibilities of doing reverse logistics. Data is assumed to come from product passports"@en;
                                                      owl:imports <http://www.geographicknowledge.de/vocab/PlaceReferenceTheory>.
circularEconomy:Activity a owl:Class;
                         rdfs:comment "Action that is performed, not potential"@en;
                         rdfs:subClassOf PlaceReferenceTheory:Affordance.
circularEconomy:CreationActivity a owl:Class;
                                 rdfs:subClassOf circularEconomy:Activity;
                                 owl:equivalentClass [a owl:Restriction ; 
                                                      owl:onProperty circularEconomy:output ; 
                                                      owl:someValuesFrom circularEconomy:Product].
circularEconomy:InvolvementType a owl:ObjectProperty;
                                rdfs:comment "Higher order involvement properties. They are used for storing the allowable types of participants in a type of activity"@en;
                                rdfs:subPropertyOf owl:topObjectProperty.
circularEconomy:PostUseActivity a owl:Class;
                                rdfs:subClassOf circularEconomy:Activity;
                                owl:equivalentClass [a owl:Class ; 
                                                     owl:unionOf _:autos12].
circularEconomy:Product a owl:Class;
                        rdfs:comment "an intentional output of an activity"@en;
                        rdfs:subClassOf PlaceReferenceTheory:Referent;
                        owl:equivalentClass [a owl:Restriction ; 
                                             owl:onProperty PlaceReferenceTheory:productOf ; 
                                             owl:someValuesFrom circularEconomy:Activity].
circularEconomy:Resource a owl:Class;
                         rdfs:comment "a participaent being consumed up in an activity"@en;
                         rdfs:subClassOf PlaceReferenceTheory:Referent.
circularEconomy:ReverseLogistics a owl:Class;
                                 rdfs:subClassOf [a owl:Restriction ; 
                                                  owl:onProperty circularEconomy:input ; 
                                                  owl:someValuesFrom [a owl:Class ; 
                                                                      owl:unionOf _:autos17]],
                                                 circularEconomy:Activity.
circularEconomy:ReverseLogisticsOutput a owl:Class;
                                       rdfs:subClassOf PlaceReferenceTheory:Referent;
                                       owl:equivalentClass [a owl:Restriction ; 
                                                            owl:onProperty circularEconomy:outputOf ; 
                                                            owl:someValuesFrom circularEconomy:ReverseLogistics].
circularEconomy:Tool a owl:Class;
                     rdfs:comment "Something that helps performing an activity without being consumed or being agent"@en;
                     rdfs:subClassOf PlaceReferenceTheory:Referent;
                     owl:equivalentClass [a owl:Restriction ; 
                                          owl:onProperty PlaceReferenceTheory:toolOf ; 
                                          owl:someValuesFrom circularEconomy:Activity].
circularEconomy:Waste a owl:Class;
                      rdfs:comment "Waste is an non-intended output of an activity"@en;
                      rdfs:subClassOf PlaceReferenceTheory:Referent;
                      owl:equivalentClass [a owl:Restriction ; 
                                           owl:onProperty circularEconomy:wasteOf ; 
                                           owl:someValuesFrom circularEconomy:Activity].
circularEconomy:affordsPostUseInput a owl:ObjectProperty;
                                    rdfs:comment "Is defined based on a complex query that assesses whether an output can be used as an input for a post-use activity"@en;
                                    rdfs:subPropertyOf circularEconomy:input.


circularEconomy:hasInputType a owl:ObjectProperty;
                             rdfs:comment "links an activity class to an input class"@en;
                             rdfs:subPropertyOf circularEconomy:InvolvementType.
circularEconomy:input a owl:ObjectProperty;
                      rdfs:subPropertyOf PlaceReferenceTheory:InvolvementRev.
circularEconomy:inputOf a owl:ObjectProperty;
                        rdfs:comment "a participant that acts as an input to an activity"@en;
                        rdfs:subPropertyOf PlaceReferenceTheory:Involvement.
circularEconomy:output a owl:ObjectProperty;
                       rdfs:subPropertyOf PlaceReferenceTheory:InvolvementRev.
circularEconomy:outputOf a owl:ObjectProperty;
                         rdfs:comment "A participant  that acts as an output of an activity"@en;
                         rdfs:subPropertyOf PlaceReferenceTheory:Involvement.
circularEconomy:waste a owl:ObjectProperty;
                      rdfs:subPropertyOf circularEconomy:output;
                      owl:inverseOf circularEconomy:wasteOf.
circularEconomy:wasteOf a owl:ObjectProperty;
                        rdfs:comment "an output of an activity that is a by product (not intended)"@en;
                        rdfs:subPropertyOf circularEconomy:outputOf.
PlaceReferenceTheory:InvolvementRev owl:inverseOf circularEconomy:outputOf.
PlaceReferenceTheory:product rdfs:subPropertyOf circularEconomy:output.
PlaceReferenceTheory:productOf rdfs:subPropertyOf circularEconomy:outputOf.
PlaceReferenceTheory:resource rdfs:subPropertyOf circularEconomy:input.
PlaceReferenceTheory:resourceOf rdfs:subPropertyOf circularEconomy:inputOf.
PlaceReferenceTheory:tool rdfs:subPropertyOf circularEconomy:input.
PlaceReferenceTheory:toolOf rdfs:subPropertyOf circularEconomy:inputOf.



#Example with individuals

circularEconomy:carrot a owl:NamedIndividual.
circularEconomy:carrotgreen a owl:NamedIndividual.
circularEconomy:collection0 circularEconomy:input circularEconomy:carrotgreen;
                            PlaceReferenceTheory:product circularEconomy:carrotgreen;
                            a circularEconomy:ReverseLogistics,
                              owl:NamedIndividual.
circularEconomy:composting0 PlaceReferenceTheory:resource circularEconomy:carrotgreen;
                            a owl:NamedIndividual.
circularEconomy:compostingcompanyy PlaceReferenceTheory:agentOf circularEconomy:composting0;
                                   a owl:NamedIndividual.
circularEconomy:gardening0 circularEconomy:waste circularEconomy:carrotgreen;
                           PlaceReferenceTheory:product circularEconomy:carrot;
                           a owl:NamedIndividual.
circularEconomy:gardeningcompanyx PlaceReferenceTheory:agentOf circularEconomy:gardening0;
                                  a owl:NamedIndividual.

#This can be used for querying
circularEconomy:composting0 a circularEconomy:Composting.
circularEconomy:Composting circularEconomy:hasInputType circularEconomy:Biodegradable.
circularEconomy:carrotgreen a circularEconomy:Biodegradable.


