@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix odp:   <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vann:  <http://purl.org/vocab/vann/> .

<http://w3id.org/CEON/ontology/resourceODP/batchLabel>
        a             owl:DatatypeProperty ;
        rdfs:comment  "label for a batch" ;
        rdfs:domain   <http://w3id.org/CEON/ontology/resourceODP/BatchOfObjects> ;
        rdfs:label    "batch label" ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://w3id.org/CEON/ontology/resourceODP/hasResourceProperty>
        a             owl:ObjectProperty ;
        rdfs:comment  "A resource can has specifc properties." ;
        rdfs:domain   <http://w3id.org/CEON/ontology/resourceODP/Resource> ;
        rdfs:label    "has resource property" ;
        rdfs:range    <http://w3id.org/CEON/ontology/resourceODP/ResourceProperty> .

<http://w3id.org/CEON/ontology/resourceODP/hasResourceQuality>
        a             owl:ObjectProperty ;
        rdfs:comment  "A resource can has specifc qualities." ;
        rdfs:domain   <http://w3id.org/CEON/ontology/resourceODP/Resource> ;
        rdfs:label    "has resource quality" ;
        rdfs:range    <http://w3id.org/CEON/ontology/resourceODP/ResourceQuality> .

<http://w3id.org/CEON/ontology/resourceODP/hasPhysicalObject>
        a             owl:ObjectProperty ;
        rdfs:comment  "hasPhysicalObject intends to represent that a batch of objects or a set of objects can have composing components of physical objects." ;
        rdfs:domain   [ a            owl:Class ;
                        owl:unionOf  ( <http://w3id.org/CEON/ontology/resourceODP/BatchOfObjects> <http://w3id.org/CEON/ontology/resourceODP/SetOfObjects> )
                      ] ;
        rdfs:label    "has physical object" ;
        rdfs:range    <http://w3id.org/CEON/ontology/resourceODP/PhysicalObject> .

<http://www.opengis.net/ont/geosparql#gmlLiteral>
        a       rdfs:Datatype .

<http://w3id.org/CEON/ontology/resourceODP/hasResourceLocation>
        a                   owl:ObjectProperty ;
        rdfs:comment        "Defines the location of a resource." ;
        rdfs:domain         <http://w3id.org/CEON/ontology/resourceODP/Resource> ;
        rdfs:label          "has resource location" ;
        rdfs:range          <http://w3id.org/CEON/ontology/location/Location> ;
        rdfs:subPropertyOf  <http://w3id.org/CEON/ontology/location/hasLocation> .

dcterms:license  a  owl:AnnotationProperty .

<http://www.opengis.net/ont/geosparql#geoJSONLiteral>
        a       rdfs:Datatype .

vann:preferredNamespaceUri
        a       owl:AnnotationProperty .

dcterms:created  a  owl:AnnotationProperty .

<http://w3id.org/CEON/ontology/resourceODP/ResourceProperty>
        a             owl:Class ;
        rdfs:comment  "The characteristics or attribuets of a resource." ;
        rdfs:label    "Resource Property" .

dcterms:creator  a  owl:AnnotationProperty .

<http://w3id.org/CEON/ontology/location/hasLocation>
        a       owl:ObjectProperty .

dcterms:title  a  owl:AnnotationProperty .

<http://w3id.org/CEON/ontology/resourceODP/Matter>
        a             owl:Class ;
        rdfs:comment  "A matter is a physical substance." ;
        rdfs:label    "Matter" ;
        rdfs:seeAlso  "http://emmo.info/emmo#EMMO_5b2222df_4da6_442f_8244_96e9e45887d1" .

<http://w3id.org/CEON/ontology/resourceODP/>
        a                              owl:Ontology ;
        rdfs:seeAlso                   <https://github.com/LiUSemWeb/CEON> ;
        dcterms:contributor            "Eva Blomqvist" ;
        dcterms:created                "2025-03-20"^^<http://www.w3.org/2001/XMLSchema#date> ;
        dcterms:creator                "Huanyu Li" ;
        dcterms:description            "A core ODP of the CEON ontology network defining aspects of the resource concept." ;
        dcterms:issued                 "2025-06-30"^^<http://www.w3.org/2001/XMLSchema#date> ;
        dcterms:license                "https://creativecommons.org/licenses/by/4.0/" ;
        dcterms:publisher              "Onto-DESIDE" ;
        dcterms:title                  "Circular Economy Ontology Network (CEON) - Resource ODP" ;
        vann:preferredNamespacePrefix  "ceon-resourceODP" ;
        vann:preferredNamespaceUri     "http://w3id.org/CEON/ontology/resourceODP/" ;
        odp:coversRequirements         "Covers the following requirements from Onto-DESIDE D3.2: CE1-2, CE3-3, CE4-3, CE5-2, CE9-1, CE10-1, CE11-8, CE12-2, CE12-4, C7-3, E2-2, E4-6, E5-1, E6-3, T3-1, T19-1, T20-1, T22-2." , "Covers the following requirements from Onto-DESIDE D3.1: CVN-Resource-1,3, CVN-Composition-1,2, CVN-ResrouceType-4, C7-3, E2-2, E4-6, E5-1, E6-3, T3-1." ;
        owl:priorVersion               0.4 ;
        owl:versionIRI                 <http://w3id.org/CEON/ontology/resourceODP/0.5/> ;
        owl:versionInfo                0.5 .

<http://w3id.org/CEON/ontology/resourceODP/BatchOfObjects>
        a                owl:Class ;
        rdfs:comment     "A batch of objects is a collection of physical objects that are of the same type, e.g. a set of items (product instances) adhering to the same product model." ;
        rdfs:label       "Batch Of Objects" ;
        rdfs:subClassOf  <http://w3id.org/CEON/ontology/resourceODP/Resource> ;
        rdfs:subClassOf  [ a                         owl:Restriction ;
                           owl:onDataRange           <http://www.w3.org/2001/XMLSchema#nonNegativeInteger> ;
                           owl:onProperty            <http://w3id.org/CEON/ontology/resourceODP/batchSize> ;
                           owl:qualifiedCardinality  "1"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger>
                         ] ;
        rdfs:subClassOf  [ a                   owl:Class ;
                           owl:intersectionOf  ( [ a                   owl:Restriction ;
                                                   owl:onProperty      <http://w3id.org/CEON/ontology/resourceODP/hasPhysicalObject> ;
                                                   owl:someValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/PhysicalObject>
                                                 ] [ a                  owl:Restriction ;
                                                     owl:allValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/PhysicalObject> ;
                                                     owl:onProperty     <http://w3id.org/CEON/ontology/resourceODP/hasPhysicalObject>
                                                   ] )
                         ] .

<http://w3id.org/CEON/ontology/resourceODP/isRealizationOf>
        a             owl:ObjectProperty ;
        rdfs:comment  "Relates a thing, e.g. a digital object, or a physical object, to the information it is a realization of. C.f. a physical book that is the realization of a novel, or a pdf or Excel-file that is a realization of a certain data sheet." ;
        rdfs:label    "is realization of" ;
        rdfs:range    <http://w3id.org/CEON/ontology/resourceODP/Information> .

<http://w3id.org/CEON/ontology/resourceODP/Asset>
        a             owl:Class ;
        rdfs:comment  "Asset is sth that is valuable and useful to be used in activities, or owned by actors." ;
        rdfs:label    "Asset" .

dcterms:contributor  a  owl:AnnotationProperty .

<http://w3id.org/CEON/ontology/resourceODP/batchID>
        a             owl:DatatypeProperty ;
        rdfs:comment  "identifier for a batch" ;
        rdfs:domain   <http://w3id.org/CEON/ontology/resourceODP/BatchOfObjects> ;
        rdfs:label    "batch ID" ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

dcterms:publisher  a  owl:AnnotationProperty .

<http://w3id.org/CEON/ontology/resourceODP/Resource>
        a                 owl:Class ;
        rdfs:comment      "Asset from which a solution is created or implemented. Depending on the context, reference to “resource” includes “raw material”, “feedstock”, “material” or “component”. Resource includes any energy type (e.g. the energy content or energy potential of materials). Note 4 to entry: Resources can be considered concerning both stocks and flows." ;
        rdfs:isDefinedBy  "ISO 59004:2024 - 3.1.5 resource" ;
        rdfs:label        "Resource" ;
        rdfs:subClassOf   <http://w3id.org/CEON/ontology/resourceODP/Asset> ;
        rdfs:subClassOf   [ a                   owl:Class ;
                            owl:intersectionOf  ( [ a                   owl:Restriction ;
                                                    owl:onProperty      <http://w3id.org/CEON/ontology/resourceODP/hasResourceQuality> ;
                                                    owl:someValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/ResourceQuality>
                                                  ] [ a                  owl:Restriction ;
                                                      owl:allValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/ResourceQuality> ;
                                                      owl:onProperty     <http://w3id.org/CEON/ontology/resourceODP/hasResourceQuality>
                                                    ] )
                          ] ;
        rdfs:subClassOf   [ a                   owl:Class ;
                            owl:intersectionOf  ( [ a                   owl:Restriction ;
                                                    owl:onProperty      <http://w3id.org/CEON/ontology/resourceODP/hasResourceProperty> ;
                                                    owl:someValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/ResourceProperty>
                                                  ] [ a                  owl:Restriction ;
                                                      owl:allValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/ResourceProperty> ;
                                                      owl:onProperty     <http://w3id.org/CEON/ontology/resourceODP/hasResourceProperty>
                                                    ] )
                          ] ;
        rdfs:subClassOf   [ a                   owl:Class ;
                            owl:intersectionOf  ( [ a                   owl:Restriction ;
                                                    owl:onProperty      <http://w3id.org/CEON/ontology/resourceODP/hasResourceCondition> ;
                                                    owl:someValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/ResourceCondition>
                                                  ] [ a                  owl:Restriction ;
                                                      owl:allValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/ResourceCondition> ;
                                                      owl:onProperty     <http://w3id.org/CEON/ontology/resourceODP/hasResourceCondition>
                                                    ] )
                          ] .

<http://w3id.org/CEON/ontology/resourceODP/DigitalObject>
        a                owl:Class ;
        rdfs:comment     "A digital object, e.g. a computer file, that is located on some server, hard drive, or on the web. Most often the digital object is the realization of some piece of information." ;
        rdfs:label       "Digital object" ;
        rdfs:subClassOf  <http://w3id.org/CEON/ontology/resourceODP/Resource> .

<http://w3id.org/CEON/ontology/resourceODP/ResourceCondition>
        a             owl:Class ;
        rdfs:comment  "The status of a resource." ;
        rdfs:label    "Resource Condition" .

<http://w3id.org/CEON/ontology/resourceODP/Information>
        a                owl:Class ;
        rdfs:comment     "Information is an abstract concept that represents any kind of interpretations. For instance, information can be data generated by software systems or data used by people for communications." ;
        rdfs:label       "Information" ;
        rdfs:seeAlso     "http://emmo.info/emmo#EMMO_64c72d00_7582_44ea_a0b5_3a14e50acc36" ;
        rdfs:subClassOf  <http://w3id.org/CEON/ontology/resourceODP/Asset> .

<http://www.w3.org/2001/XMLSchema#date>
        a       rdfs:Datatype .

<http://w3id.org/CEON/ontology/resourceODP/ResourceQuality>
        a             owl:Class ;
        rdfs:comment  "Resource quality is derived based on assessments of resources considering the conditions and properties." ;
        rdfs:label    "Resource Quality" .

<http://w3id.org/CEON/ontology/resourceODP/batchSize>
        a             owl:DatatypeProperty ;
        rdfs:comment  "batchSize intends to repsent how many physical objects are belong to a batch of objects." ;
        rdfs:domain   <http://w3id.org/CEON/ontology/resourceODP/BatchOfObjects> ;
        rdfs:label    "batch size" ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#nonNegativeInteger> .

<http://w3id.org/CEON/ontology/resourceODP/hasResourceCondition>
        a             owl:ObjectProperty ;
        rdfs:comment  "A resource can has specifc conditions." ;
        rdfs:domain   <http://w3id.org/CEON/ontology/resourceODP/Resource> ;
        rdfs:label    "has resource condition" ;
        rdfs:range    <http://w3id.org/CEON/ontology/resourceODP/ResourceCondition> .

<http://w3id.org/CEON/ontology/location/Location>
        a       owl:Class .

<http://w3id.org/CEON/ontology/resourceODP/hasBatch>
        a             owl:ObjectProperty ;
        rdfs:comment  "hasBatch intends to represent that a set of objects can be captured by a number of batches where each batch contains a number of physical objects." ;
        rdfs:domain   <http://w3id.org/CEON/ontology/resourceODP/SetOfObjects> ;
        rdfs:label    "has batch" ;
        rdfs:range    <http://w3id.org/CEON/ontology/resourceODP/BatchOfObjects> .

<http://w3id.org/CEON/ontology/resourceODP/SetOfObjects>
        a                owl:Class ;
        rdfs:comment     "A set of objects is a set of physical objects (items) that can be of different types, i.e. different kinds of items." ;
        rdfs:label       "Set of objects" ;
        rdfs:subClassOf  <http://w3id.org/CEON/ontology/resourceODP/Resource> ;
        rdfs:subClassOf  [ a                   owl:Class ;
                           owl:intersectionOf  ( [ a                   owl:Restriction ;
                                                   owl:onProperty      <http://w3id.org/CEON/ontology/resourceODP/hasPhysicalObject> ;
                                                   owl:someValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/PhysicalObject>
                                                 ] [ a                  owl:Restriction ;
                                                     owl:allValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/PhysicalObject> ;
                                                     owl:onProperty     <http://w3id.org/CEON/ontology/resourceODP/hasPhysicalObject>
                                                   ] )
                         ] ;
        rdfs:subClassOf  [ a                   owl:Class ;
                           owl:intersectionOf  ( [ a                   owl:Restriction ;
                                                   owl:onProperty      <http://w3id.org/CEON/ontology/resourceODP/hasBatch> ;
                                                   owl:someValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/BatchOfObjects>
                                                 ] [ a                  owl:Restriction ;
                                                     owl:allValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/BatchOfObjects> ;
                                                     owl:onProperty     <http://w3id.org/CEON/ontology/resourceODP/hasBatch>
                                                   ] )
                         ] .

<http://w3id.org/CEON/ontology/resourceODP/isAbout>
        a             owl:ObjectProperty ;
        rdfs:comment  "Connecting the information to the object (physical, virtual, imaginary) that the information is about." ;
        rdfs:domain   <http://w3id.org/CEON/ontology/resourceODP/Information> ;
        rdfs:label    "is about" .

<http://www.opengis.net/ont/geosparql#wktLiteral>
        a       rdfs:Datatype .

<http://w3id.org/CEON/ontology/resourceODP/hasPart>
        a             owl:TransitiveProperty , owl:ObjectProperty ;
        rdfs:comment  "Indicating that something is part of or is contained by something else." ;
        rdfs:label    "has part" .

<http://w3id.org/CEON/ontology/resourceODP/Constituent>
        a             owl:Class ;
        rdfs:comment  "A constituent is a component of object." ;
        rdfs:label    "Constituent" ;
        rdfs:seeAlso  "http://emmo.info/emmo#EMMO_ceaaf9f7_fd11_424b_8fda_9afa186af186" .

vann:preferredNamespacePrefix
        a       owl:AnnotationProperty .

dcterms:issued  a  owl:AnnotationProperty .

<http://w3id.org/CEON/ontology/resourceODP/hasMatter>
        a             owl:ObjectProperty ;
        rdfs:comment  "hasMatter intends to represent that a physical object can have a collection of matter." ;
        rdfs:domain   <http://w3id.org/CEON/ontology/resourceODP/PhysicalObject> ;
        rdfs:label    "has matter" ;
        rdfs:range    <http://w3id.org/CEON/ontology/resourceODP/Matter> .

<http://w3id.org/CEON/ontology/resourceODP/containsInformation>
        a                   owl:ObjectProperty ;
        rdfs:comment        "Indicating that some piece of information is contained in a larger collection of information, e.g. a data sheet contains a statement about a certain parameter of a product." ;
        rdfs:domain         <http://w3id.org/CEON/ontology/resourceODP/Information> ;
        rdfs:label          "contains information" ;
        rdfs:range          <http://w3id.org/CEON/ontology/resourceODP/Information> ;
        rdfs:subPropertyOf  <http://w3id.org/CEON/ontology/resourceODP/hasPart> .

odp:coversRequirements
        a       owl:AnnotationProperty .

dcterms:description  a  owl:AnnotationProperty .

<http://w3id.org/CEON/ontology/resourceODP/PhysicalObject>
        a                owl:Class ;
        rdfs:comment     "A physical object is a collection of matter." ;
        rdfs:label       "Physical object" ;
        rdfs:subClassOf  <http://w3id.org/CEON/ontology/resourceODP/Resource> ;
        rdfs:subClassOf  [ a                   owl:Class ;
                           owl:intersectionOf  ( [ a                   owl:Restriction ;
                                                   owl:onProperty      <http://w3id.org/CEON/ontology/resourceODP/hasMatter> ;
                                                   owl:someValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/Matter>
                                                 ] [ a                  owl:Restriction ;
                                                     owl:allValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/Matter> ;
                                                     owl:onProperty     <http://w3id.org/CEON/ontology/resourceODP/hasMatter>
                                                   ] )
                         ] ;
        rdfs:subClassOf  [ a                   owl:Class ;
                           owl:intersectionOf  ( [ a                   owl:Restriction ;
                                                   owl:onProperty      <http://w3id.org/CEON/ontology/resourceODP/hasConstituent> ;
                                                   owl:someValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/Constituent>
                                                 ] [ a                  owl:Restriction ;
                                                     owl:allValuesFrom  <http://w3id.org/CEON/ontology/resourceODP/Constituent> ;
                                                     owl:onProperty     <http://w3id.org/CEON/ontology/resourceODP/hasConstituent>
                                                   ] )
                         ] .

<http://w3id.org/CEON/ontology/resourceODP/hasConstituent>
        a                   owl:ObjectProperty ;
        rdfs:comment        "hasConstitutent intends to represent that a physical object can have a collection of composing components." ;
        rdfs:domain         <http://w3id.org/CEON/ontology/resourceODP/PhysicalObject> ;
        rdfs:label          "has constituent" ;
        rdfs:range          <http://w3id.org/CEON/ontology/resourceODP/Constituent> ;
        rdfs:subPropertyOf  <http://w3id.org/CEON/ontology/resourceODP/hasPart> .
