@prefix : <http://w3id.org/CEON/ontology/quantity/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix ns1: <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix qudt-unit: <http://qudt.org/vocab/unit/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

dcterms:contributor a owl:AnnotationProperty .

dcterms:created a owl:AnnotationProperty .

dcterms:issued a owl:AnnotationProperty .

dcterms:publisher a owl:AnnotationProperty .

qudt-unit:EURO-PER-KiloM a qudt:Unit,
        owl:NamedIndividual ;
    rdfs:label "Euro Per Kilometer" ;
    dcterms:description "Euro Per Kilometer (€/km) is a unit used to represent the cost or value associated with transporting a resource."^^rdf:HTML ;
    qudt:symbol "€/km" .

qudt-unit:EURO-PER-M2 a qudt:Unit,
        owl:NamedIndividual ;
    rdfs:label "Euro Per Square Meter" ;
    dcterms:description "Euro Per Square Meter (€/km) is a unit used to represent the cost or value of resource per square meter."^^rdf:HTML ;
    qudt:symbol "€/m²" .

: a owl:Ontology ;
    dcterms:contributor "Eva Blomqvist" ;
    dcterms:created "2024-12-31"^^xsd:date ;
    dcterms:creator "Huanyu Li" ;
    dcterms:issued "2025-06-30"^^xsd:date ;
    dcterms:license "https://creativecommons.org/licenses/by/4.0/" ;
    dcterms:publisher "Onto-DESIDE" ;
    dcterms:title "Circular Economy Ontology Network (CEON) - Quantity Module" ;
    vann:preferredNamespacePrefix "ceon-quantity" ;
    vann:preferredNamespaceUri "http://w3id.org/CEON/ontology/quantity/" ;
    ns1:coversRequirements "In addition to requirements covered by imported ODPs, covers the following requirements from Onto-DESIDE D3.2: C3-2, C13-1, C13-4, E3-1, E4-11, T6-1, T10-1." ;
    rdfs:comment "This module defines base properties to describe quantitites with standardized units." ;
    rdfs:seeAlso "https://github.com/LiUSemWeb/CEON" ;
    owl:imports <http://w3id.org/CEON/ontology/qudtunit/2.1/> ;
    owl:priorVersion 0.1 ;
    owl:versionIRI <http://w3id.org/CEON/ontology/quantity/0.2/> ;
    owl:versionInfo 0.2 .

:Cost a owl:NamedIndividual .

:FloorPanel1 a owl:NamedIndividual .

:HIGH_QUALITY a owl:NamedIndividual .

:LOW_QUALITY a owl:NamedIndividual .

:MEDIUM_QUALITY a owl:NamedIndividual .

:Value a owl:NamedIndividual .

:hasDismantlingCost a owl:ObjectProperty ;
    rdfs:label "has dismantling cost" ;
    rdfs:comment "The cost of dismantling, expressed as an amount of money with a currency unit." ;
    rdfs:subPropertyOf :hasProcessCost .

:hasHeight a owl:ObjectProperty ;
    rdfs:label "has height" ;
    rdfs:comment "hasHeight is used to describe the height of a product or product object." ;
    rdfs:subPropertyOf :hasDimension .

:hasLength a owl:ObjectProperty ;
    rdfs:label "has length" ;
    rdfs:comment "hasLength is used to describe the length of a product or product object." ;
    rdfs:subPropertyOf :hasDimension .

:hasMarketValue a owl:ObjectProperty ;
    rdfs:label "has market value" ;
    rdfs:comment "The market value, expressed as an amount of money with a currency unit." ;
    rdfs:subPropertyOf qudt:quantityValue .

:hasMaximalValueIncludedOfInterval a owl:ObjectProperty ;
    rdfs:label "has maximal value included of interval" ;
    rdfs:comment "represents the maximum value (included) of an interval" ;
    rdfs:domain :QuantityInterval ;
    rdfs:range qudt:QuantityValue ;
    rdfs:subPropertyOf qudt:quantityValue .

:hasMaximalValueNotIncludedOfInterval a owl:ObjectProperty ;
    rdfs:label "has maximal value not included of interval" ;
    rdfs:comment "represents the maximum value (not included) of an interval" ;
    rdfs:domain :QuantityInterval ;
    rdfs:range qudt:QuantityValue ;
    rdfs:subPropertyOf qudt:quantityValue .

:hasMinimalValueIncludedOfInterval a owl:ObjectProperty ;
    rdfs:label "has minimal value included of interval" ;
    rdfs:comment "represents the minimal value (included) of an interval" ;
    rdfs:domain :QuantityInterval ;
    rdfs:range qudt:QuantityValue ;
    rdfs:subPropertyOf qudt:quantityValue .

:hasMinimalValueNotIncludedOfInterval a owl:ObjectProperty ;
    rdfs:label "has minimal value not included of interval" ;
    rdfs:comment "represents the minimal value (not included) of an interval" ;
    rdfs:domain :QuantityInterval ;
    rdfs:range qudt:QuantityValue ;
    rdfs:subPropertyOf qudt:quantityValue .

:hasPrice a owl:ObjectProperty ;
    rdfs:label "has price" ;
    rdfs:comment "represents that sth has a specific cost" ;
    rdfs:subPropertyOf qudt:quantityValue .

:hasRecyclingCost a owl:ObjectProperty ;
    rdfs:label "has recycling cost" ;
    rdfs:comment "The cost of recycling, expressed as an amount of money with a currency unit." ;
    rdfs:subPropertyOf :hasProcessCost .

:hasRefurbishmentCost a owl:ObjectProperty ;
    rdfs:label "has refurbishment cost" ;
    rdfs:comment "The cost of refurbishment, expressed as an amount of money with a currency unit." ;
    rdfs:subPropertyOf :hasProcessCost .

:hasTestingCost a owl:ObjectProperty ;
    rdfs:label "has testing cost" ;
    rdfs:comment "The cost of testing, expressed as an amount of money with a currency unit." ;
    rdfs:subPropertyOf :hasProcessCost .

:hasThickness a owl:ObjectProperty ;
    rdfs:label "has thickness" ;
    rdfs:comment "hasThickness is used to describe the thickness of a product or product object." ;
    rdfs:subPropertyOf :hasDimension .

:hasTransportCost a owl:ObjectProperty ;
    rdfs:label "has transport cost" ;
    rdfs:comment "The cost of transportation, expressed as an amount of money with a currency unit." ;
    rdfs:subPropertyOf :hasProcessCost .

:hasVolume a owl:ObjectProperty ;
    rdfs:label "has volume" ;
    rdfs:comment "represents the volume of an object" ;
    rdfs:subPropertyOf qudt:quantityValue .

:hasWeight a owl:ObjectProperty ;
    rdfs:label "has weight" ;
    rdfs:comment "represents the weight of an object" ;
    rdfs:subPropertyOf qudt:quantityValue .

:hasWidth a owl:ObjectProperty ;
    rdfs:label "has width" ;
    rdfs:comment "hasWidth is used to describe the width of a product or product object." ;
    rdfs:subPropertyOf :hasDimension .

:numericalMaxValue a owl:DatatypeProperty ;
    rdfs:label "numerical max value" ;
    rdfs:comment "represents the maximal value of a quantity" ;
    rdfs:range xsd:double .

:numericalMinValue a owl:DatatypeProperty ;
    rdfs:label "numerical min value" ;
    rdfs:comment "represents the minimal value of a quantity" ;
    rdfs:range xsd:double ;
    rdfs:subPropertyOf owl:topDataProperty .

:objectValue a owl:ObjectProperty ;
    rdfs:label "object value" ;
    rdfs:comment "objectValue is analogous to qudt:numericalValue" ;
    rdfs:subPropertyOf qudt:hasQuantityKind .

ns1:coversRequirements a owl:AnnotationProperty .

xsd:date a rdfs:Datatype .

:QuantityInterval a owl:Class ;
    rdfs:label "Quantity Interval" ;
    rdfs:comment "Quantity interval is an interval with two quantity values." .

:hasDimension a owl:ObjectProperty ;
    rdfs:label "has dimension" ;
    rdfs:comment "hasDimension is used to describe a dimension of a product or product object." ;
    rdfs:subPropertyOf qudt:quantityValue .

:hasProcessCost a owl:ObjectProperty ;
    rdfs:label "has process cost" ;
    rdfs:comment "represents that a process can have a cost" ;
    rdfs:subPropertyOf qudt:quantityValue .

