PREFIX ceon-product: <http://w3id.org/CEON/ontology/product/>
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#>

ceon-product:RoHSCompliance a rdfs:Class ;
  rdfs:label "RoHS Compliance" ;
  rdfs:comment "RoHS (Restriction of Hazardous Substances in Electrical and Electronic Equipment) compliance is a compliance issuing that RoHS objectives are satisfied." ;
  rdfs:seeAlso <https://environment.ec.europa.eu/topics/waste-and-recycling/rohs-directive_en> ;
  rdfs:subClassOf ceon-product:Compliance .

ceon-product:hasCertificate a rdf:Property ;
  rdfs:label "has certificate" ;
  rdfs:comment "Link to the the certificate that certifies the compliance" ;
  rdfs:domain ceon-product:Compliance ;
  rdfs:range <https://w3id.org/linkml/Any> .

ceon-product:complianceWith a rdf:Property ;
  rdfs:label "compliance with" ;
  rdfs:comment "Represents what the compliance is compliant with (e.g. a standard or regulation)." ;
  rdfs:domain ceon-product:Compliance ;
  rdfs:range <https://w3id.org/linkml/Any> .

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

ceon-product:Solution a rdfs:Class ;
  rdfs:label "Solution" ;
  rdfs:comment "Product or service, or a combination thereof, that fulfils a need of an interested party." .

ceon-product:ProductObjectComposition a rdfs:Class ;
  rdfs:label "Product Object Composition" ;
  rdfs:comment "A product object composition is the composed information of a product object in terms of a specific component, in which such a component is also a product object." ;
  rdfs:subClassOf ceon-product:Composition .

ceon-product:associatedWithProductObject a rdf:Property ;
  rdfs:label "associated with product object" ;
  rdfs:comment "associatedWithProductObject intends to represent the item (product object) to which a product object compopsition information regards to." ;
  rdfs:domain ceon-product:ProductObjectComposition ;
  rdfs:range ceon-product:Item .

ceon-product:compositionQuantity a rdf:Property ;
  rdfs:label "composition quantity" ;
  rdfs:comment "compositionQuantity represents the quantity of elements of a composition." ;
  rdfs:domain ceon-product:Composition ;
  rdfs:range xsd:double .

ceon-product:compositionOf a rdf:Property ;
  rdfs:label "composition of" ;
  rdfs:comment "Represents what the composition is a composition of (i.e., the product, the product object or matter that is broken down into its components)." ;
  rdfs:domain ceon-product:Composition ;
  rdfs:range xsd:string .

<http://w3id.org/CEON/ontology/resourceODP/PhysicalObject> a rdfs:Class .

ceon-product:hasComposition a rdf:Property ;
  rdfs:label "has composition" ;
  rdfs:comment "hasComposition intends to represent that a product model or physical object can have compostition information." ;
  rdfs:range ceon-product:Composition .

ceon-product:Regulation a rdfs:Class ;
  rdfs:label "Regulation" ;
  rdfs:comment "The rules or restrictions made or maintained by authorities." .

<http://w3id.org/CEON/ontology/resourceODP/BatchOfObjects> a rdfs:Class .

ceon-product:batchOfProduct a rdf:Property ;
  rdfs:label "batch of products" ;
  rdfs:comment "batchOfProduct intends to represent what is the model product of a batch of objects." ;
  rdfs:domain <http://w3id.org/CEON/ontology/resourceODP/BatchOfObjects> ;
  rdfs:range ceon-product:Product .

ceon-product:ISOCompliance a rdfs:Class ;
  rdfs:label "ISO Compliance" ;
  rdfs:comment "ISO compliance is a compliance issuing thay sth (e.g., organization's structure, business operations, practices or policies) follows a specific ISO standard." ;
  rdfs:subClassOf ceon-product:Compliance .

<http://w3id.org/CEON/ontology/resourceODP/Resource> a rdfs:Class .

<http://w3id.org/CEON/ontology/actorODP/ResourceParticipation> a rdfs:Class .

<http://w3id.org/CEON/ontology/resourceODP/Matter> a rdfs:Class .

ceon-product:OriginLocation a rdfs:Class ;
  rdfs:label "Origin Location" ;
  rdfs:comment "The origin location of a physical object" ;
  rdfs:subClassOf <http://w3id.org/CEON/ontology/location/Location> .

ceon-product:countryOfOrigin a rdf:Property ;
  rdfs:label "Country of origin" ;
  rdfs:comment "Used to represent the country of origin of a product or product object (item)." ;
  rdfs:domain ceon-product:OriginLocation ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf <http://w3id.org/CEON/ontology/location/hasCountry> .

ceon-product:MatterComposition a rdfs:Class ;
  rdfs:label "Matter composition" ;
  rdfs:comment "A product composition is the composed information of a product in terms of a specific component, in which such a component is also a matter." ;
  rdfs:subClassOf ceon-product:Composition .

ceon-product:associatedWithMatter a rdf:Property ;
  rdfs:label "associated with matter" ;
  rdfs:comment "associatedWithMatter intends to represent the matter to which a matter compopsition information regards to." ;
  rdfs:domain ceon-product:MatterComposition ;
  rdfs:range <http://w3id.org/CEON/ontology/resourceODP/Matter> .

ceon-product:Item a rdfs:Class ;
  rdfs:label "Item" ;
  rdfs:comment "An item is a physical object put into a market for sale, i.e. corresponding to an individual of a product. The item can be a thing that grows naturally or produced through some chemical or manufacturing processes." ;
  rdfs:subClassOf <http://w3id.org/CEON/ontology/resourceODP/PhysicalObject> .

ceon-product:modelledBy a rdf:Property ;
  rdfs:label "modelled by" ;
  rdfs:comment "modelledBy intends to represent that product objects follow particular product models." ;
  rdfs:domain ceon-product:Item ;
  rdfs:range ceon-product:Product .

ceon-product:hasAssemblyLocation a rdf:Property ;
  rdfs:label "has assembly location" ;
  rdfs:comment "Used to represent the location of assembly of a product or product object (item)." ;
  rdfs:range ceon-product:AssemblyLocation ;
  rdfs:subPropertyOf <http://w3id.org/CEON/ontology/location/hasLocation> .

ceon-product:hasOriginLocation a rdf:Property ;
  rdfs:label "has origin location" ;
  rdfs:comment "Used to represent the location of origin of a product or product object (item)." ;
  rdfs:range ceon-product:OriginLocation ;
  rdfs:subPropertyOf <http://w3id.org/CEON/ontology/location/hasLocation> .

ceon-product:hasCompliance a rdf:Property ;
  rdfs:label "has compliance" ;
  rdfs:comment "Used to link something (e.g., product or process) to a compliance." ;
  rdfs:range ceon-product:Compliance .

ceon-product:hasManufacturerLocation a rdf:Property ;
  rdfs:label "has manufacture location" ;
  rdfs:comment "Used to represent the location of manufacturer of a product or product object (item)." ;
  rdfs:range ceon-product:ManufactureLocation ;
  rdfs:subPropertyOf <http://w3id.org/CEON/ontology/location/hasLocation> .

ceon-product:hasProductObjectComponent a rdf:Property ;
  rdfs:label "has product object component" ;
  rdfs:domain ceon-product:Item ;
  rdfs:range ceon-product:Item .

ceon-product:Product a rdfs:Class ;
  rdfs:label "Product" ;
  rdfs:comment "Physical-based object designed for or utilized with a purpose. A product can be, for example: goods of any type; hardware (e.g. engine mechanical part, spare parts, consumables); electrical or electronic hardware devices or components (e.g. computers, communication equipment and sensors); processed materials (e.g. lubricant, cement)." ;
  rdfs:subClassOf ceon-product:Solution , <http://w3id.org/CEON/ontology/resourceODP/Resource> .

ceon-product:hasProductComponent a rdf:Property ;
  rdfs:label "has product component" ;
  rdfs:comment "hasProductComponent intends to represent that a product can have other product components." ;
  rdfs:domain ceon-product:Product ;
  rdfs:range ceon-product:Product .

ceon-product:ManufactureLocation a rdfs:Class ;
  rdfs:label "Manufacture Location" ;
  rdfs:comment "The location where a physical object is manufactured." ;
  rdfs:subClassOf <http://w3id.org/CEON/ontology/location/Location> .

ceon-product:countryOfManufacture a rdf:Property ;
  rdfs:label "Country of manufacture" ;
  rdfs:comment "Used to represent the country of manufacture of a product or product object (item)." ;
  rdfs:domain ceon-product:ManufactureLocation ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf <http://w3id.org/CEON/ontology/location/hasCountry> .

<http://w3id.org/CEON/ontology/processODP/Process> a rdfs:Class .

ceon-product:AssemblyLocation a rdfs:Class ;
  rdfs:label "Assembly Location" ;
  rdfs:comment "The location where a physical object is assembled." ;
  rdfs:subClassOf <http://w3id.org/CEON/ontology/location/Location> .

ceon-product:countryOfAssembly a rdf:Property ;
  rdfs:label "Country of assembly" ;
  rdfs:comment "Used to represent the country of assembly of a product or product object (item)." ;
  rdfs:domain ceon-product:AssemblyLocation ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf <http://w3id.org/CEON/ontology/location/hasCountry> .

<http://w3id.org/CEON/ontology/actorODP/Actor> a rdfs:Class .

ceon-product:Compliance a rdfs:Class ;
  rdfs:label "Compliance" ;
  rdfs:comment "Represents that something is compliant with some standard or has a received a certain certification." .

ceon-product:Composition a rdfs:Class ;
  rdfs:label "Composition" ;
  rdfs:comment "A relation that represents a composing relation." ;
  rdfs:subClassOf <http://w3id.org/CEON/ontology/actorODP/ResourceParticipation> .

ceon-product:REACHCompliance a rdfs:Class ;
  rdfs:label "REACH Compliance" ;
  rdfs:comment "REACH (Regulation on the registration, evaluation, authorisation and restriction of chemicals) compliance is a compliance issueing that the REACH regulation is satisfied." ;
  rdfs:seeAlso <https://environment.ec.europa.eu/topics/chemicals/reach-regulation_en> ;
  rdfs:subClassOf ceon-product:Compliance .

ceon-product:SupplierLocation a rdfs:Class ;
  rdfs:label "Supplier Location" ;
  rdfs:comment "The location of supplier of a product or item." ;
  rdfs:subClassOf <http://w3id.org/CEON/ontology/location/Location> .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object" .

ceon-product:ProductionLocation a rdfs:Class ;
  rdfs:label "Production Location" ;
  rdfs:comment "The production location of a physical object" ;
  rdfs:subClassOf <http://w3id.org/CEON/ontology/location/Location> .

ceon-product:countryOfProduction a rdf:Property ;
  rdfs:label "Country of production" ;
  rdfs:comment "Used to represent the country of production of a product or product object (item)." ;
  rdfs:domain ceon-product:ProductionLocation ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf <http://w3id.org/CEON/ontology/location/hasCountry> .

ceon-product:productionSite a rdf:Property ;
  rdfs:label "production site" ;
  rdfs:comment "The name of a production site location" ;
  rdfs:domain ceon-product:ProductionLocation ;
  rdfs:range xsd:string .

ceon-product:ProductComposition a rdfs:Class ;
  rdfs:label "Product composition" ;
  rdfs:comment "A product composition is the composed information of a product in terms of a specific component, in which such a component is also a product." ;
  rdfs:subClassOf ceon-product:Composition .

ceon-product:associatedWithProductModel a rdf:Property ;
  rdfs:label "associated with product model" ;
  rdfs:comment "associatedWithProductModel intends to represent the product model to which a product compopsition information regards to." ;
  rdfs:domain ceon-product:ProductComposition ;
  rdfs:range ceon-product:Product .

<http://w3id.org/CEON/ontology/actorODP/ResourceRelation> a rdfs:Class .

<http://w3id.org/CEON/ontology/location/hasCity> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://w3id.org/CEON/ontology/location/hasCountry> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://w3id.org/CEON/ontology/location/hasLocation> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://w3id.org/CEON/ontology/location/hasPostalCode> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://w3id.org/CEON/ontology/location/hasStreetAddress> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

ceon-product:hasBrand a rdf:Property ;
  rdfs:label "has brand" ;
  rdfs:comment "The brand name of a product." ;
  rdfs:range xsd:string .

ceon-product:hasGlobalTradeItemNumber a rdf:Property ;
  rdfs:label "Global Trade Item Number (GTIN)" ;
  rdfs:seeAlso <https://www.gs1.org/standards/id-keys/gtin> ;
  rdfs:range xsd:string .

ceon-product:hasProductName a rdf:Property ;
  rdfs:label "product name" ;
  rdfs:comment "The name of a product." ;
  rdfs:range xsd:string .
