@base <http://purl.org/opdm/utility#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dcterms: <../dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix opdm: <> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

dcterms:creator
    a owl:AnnotationProperty .

<>
    dcterms:creator <http://opdm-project.org/>, <http://www.unibw.de/ebusiness/> ;
    a owl:Ontology ;
    rdfs:comment "An RDF vocabulary for the utility conceptual elements needed across all Product Type Ontologies (PTOs) that conform the project Ontology-based Product Data Management (OPDM)"@en ;
    rdfs:label "OPDM Utility Vocabulary"@en ;
    owl:imports <../goodrelations/v1> .

opdm:Category
    a owl:Class ;
    rdfs:comment "An individual of this class represents a single entry in a given classification or scheme of product types from a known third-party source."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Category"@en ;
    rdfs:subClassOf <../goodrelations/v1#QualitativeValue> .

opdm:CategoryScheme
    a owl:Class ;
    rdfs:comment "An individual of this class represents a single provider or source of a classification or scheme of product types from a known third-party source."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Category scheme"@en ;
    rdfs:subClassOf <../goodrelations/v1#QualitativeValue> .

opdm:DefaultProfile
    a opdm:MetadataProfile ;
    rdfs:comment "This invidual represents the default metadata profile (the default configuration of metadata values) defined by an Administrator of the OPDM Application (e.g. a manufacturer, a content provider, an online shop, a mail order company, etc...)."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Default Profile"@en .

opdm:DimensionForShipping
    a opdm:TypeOfDimension ;
    rdfs:comment "Indicates that the dimensions of a product (width, height, depth) refer to the dimensions when it is packaged to be delivered."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Dimension for shipping"@en .

opdm:DimensionWithStand
    a opdm:TypeOfDimension ;
    rdfs:comment "Indicates that the dimensions of a product (width, height, depth) refer to the dimensions when it is attached to an associated stand."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Dimension with stand"@en .

opdm:FeatureGroup
    a owl:Class ;
    rdfs:comment "This class represents the groups in which all the properties of a Product Type are logically divided into"@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Feature Group"@en ;
    rdfs:subClassOf <../goodrelations/v1#QualitativeValue> .

opdm:GoogleCategoryScheme
    a opdm:CategoryScheme ;
    rdfs:comment "This invidual represents the Google category of product types available online at <http://www.google.com/basepages/producttype/taxonomy.en-US.txt>"@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Google Category Scheme"@en ;
    foaf:homepage <http://www.google.com/basepages/producttype/taxonomy.en-US.txt> .

opdm:MetadataContainer
    a owl:Class ;
    rdfs:comment "An individual of this class represents a group of metadata values. The individual links together: (a) the group of metadata values; (b) a single conceptual element (class, property, individual) defined in an OPDM Product Type Ontology via the opdm:isConfiguredBy property and, (c) a single individual of the opdm:MetadataProfile class via the opdm:inProfile property."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Metadata Container"@en .

opdm:MetadataProfile
    a owl:Class ;
    rdfs:comment "An invidual of this class represents a single metadata profile (a single configuration of metadata values) to be defined by an Administrator of the OPDM Application (e.g. a manufacturer, a content provider, an online shop, a mail order company, etc...)."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Metadata Profile"@en .

opdm:TypeOfDimension
    a owl:Class ;
    rdfs:comment "An invidual of this class represents some attribute of the dimension of a product (i.e. shipping width/height/depth, width/height/depth with stand, width/height/depth without stand, etc.). Individuals of this class can be added as needed."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Type of Dimension (width, height, depth);"@en ;
    rdfs:subClassOf <../goodrelations/v1#QualitativeValue> .

opdm:TypeOfPowerComsumption
    a owl:Class ;
    rdfs:comment "An invidual of this class represents some attribute of the power consumption of a product (i.e. oven hot air, conventional oven, etc.). Individuals of this class can be added as needed."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Type of power comsuption (oven hot air, conventional oven, etc.);"@en ;
    rdfs:subClassOf <../goodrelations/v1#QualitativeValue> .

opdm:TypeOfWeight
    a owl:Class ;
    rdfs:comment "An invidual of this class represents some attribute of the weight of a product (i.e. shipping weight). Individuals of this class can be added as needed."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Type of Weight"@en ;
    rdfs:subClassOf <../goodrelations/v1#QualitativeValue> .

opdm:WeightForShipping
    a opdm:TypeOfWeight ;
    rdfs:comment "Indicates that the weight of a product refers to the weight when it is packaged to be delivered."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Weight for shipping"@en .

opdm:attributePosition
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:range <http://www.w3.org/2001/XMLSchema#integer> ;
    a owl:AnnotationProperty ;
    rdfs:comment "The opdm:attributePosition property links from: (a) a single conceptual element (class, property, individual) defined in an OPDM Product Type Ontology; to (b) an integer value that represents the position of the conceptual element on the user interface."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Attribute  position"@en .

opdm:category
    opdm:maxCardinality "*"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:range opdm:Category ;
    a owl:AnnotationProperty ;
    rdfs:comment "The opdm:category property links from: (a) a single Product class within an ODPM Product Type Ontology; to (b) a single individual of the opdm:Category class. The value of this property, (b) in this case, should be propagated to the individuals of the Product Class, (a)."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Category"@en .

opdm:coverage
    opdm:maxCardinality "*"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:AnnotationProperty ;
    rdfs:comment "This annotation property is attached to product properties to indicate that the property has been populated/applied to instance data over a certain threshold value"@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Coverage"@en .

opdm:eClass
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:DatatypeProperty ;
    rdfs:comment "eCl@ss is a product classification and description standard for information exchange between customers and their suppliers. (Source: http://en.wikipedia.org/wiki/Eclass)"@en ;
    rdfs:domain <../goodrelations/v1#ProductOrService> ;
    rdfs:isDefinedBy <> ;
    rdfs:label "eCl@ss"@en ;
    rdfs:range <http://www.w3.org/2001/XMLSchema#string> ;
    rdfs:subPropertyOf <../goodrelations/v1#datatypeProductOrServiceProperty> ;
    foaf:homepage <http://www.eclass.de/> .

opdm:exampleOfUsage
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:range <http://www.w3.org/2001/XMLSchema#string> ;
    a owl:AnnotationProperty ;
    rdfs:comment "The opdm:exampleOfUsage property links from: (a) a single conceptual element (class, property, individual) defined in an OPDM Product Type Ontology; to (b) a string describing an example value of the conceptual element."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Example of  usage"@en .

opdm:gpcBrick
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:DatatypeProperty ;
    rdfs:comment "The foundation of GPC is called a Brick. GPC bricks define categories of similar products. Using the GPC brick as part of GDSN ensures the correct recognition of the product category across the extended supply chain, from seller to buyer."@en ;
    rdfs:domain <../goodrelations/v1#ProductOrService> ;
    rdfs:isDefinedBy <> ;
    rdfs:label "GPC brick"@en ;
    rdfs:range <http://www.w3.org/2001/XMLSchema#string> ;
    rdfs:subPropertyOf <../goodrelations/v1#datatypeProductOrServiceProperty> ;
    foaf:homepage <http://www.gs1.org/gdsn/gpc> .

opdm:inFeatureGroup
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:range opdm:FeatureGroup ;
    a owl:AnnotationProperty ;
    rdfs:comment "The opdm:inFeatureGroup annotation property links a property of a Product Type to the feature group that it is part of (an individual of the FeatureGroup class)."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "In feature group"@en .

opdm:inProfile
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:AnnotationProperty ;
    rdfs:comment "The opdm:inProfile property links from: (a) a single individual of the opdm:MetadataContainer class; to (b) a single individual of the opdm:MetadataProfile class."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "In  profile"@en .

opdm:isConfiguredBy
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:AnnotationProperty ;
    rdfs:comment "The opdm:isConfiguredBy property links from: (a) a single conceptual element (class, property, individual) defined in an OPDM Product Type Ontology; to (b) a single individual of the opdm:MetadataContainer class."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Is  configured  by"@en .

opdm:isVariant
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:AnnotationProperty ;
    rdfs:comment "The opdm:isVariant property flags whether a particular property of a Product Type produces a variant, a small characteristical difference, of the same product. Typical properties of this nature are the color or size of a given product"@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Is variant"@en .

opdm:keyFeature
    opdm:maxCardinality "*"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:AnnotationProperty ;
    rdfs:comment "This annotation property is attached to product properties to indicate that the property is a key or distinctive feature of the product"@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Key feature"@en .

opdm:maxCardinality
    a owl:AnnotationProperty ;
    rdfs:comment "This annotation property is attached to product properties to indicate the recommended maximum number of times that the product property in question should be populated with respect to its subject element (or domain). The value of the property can be either a positive integer number including '0' or the character '*' to indicate an open-ended maximum value"@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "maximum cardinality"@en .

opdm:minCardinality
    a owl:AnnotationProperty ;
    rdfs:comment "This annotation property is attached to product properties to indicate the recommended minimum number of times that the product property in question should be populated with respect to its subject element (or domain). The value of the property can be either a positive integer number including '0' or the character '*' to indicate an open-ended minimum value"@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "minimum cardinality"@en .

opdm:priority
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:AnnotationProperty ;
    rdfs:comment "The opdm:priority property links from: (a) a single conceptual element (class, property, individual) defined in an OPDM Product Type Ontology; to (b) a integer value describing the priority that the conceptual element should be given in the user interface."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Priority"@en .

opdm:range
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:AnnotationProperty ;
    rdfs:comment "The opdm:range property is a proxy of rdfs:range for other annotation properties and to comply with OWL-1-DL. OWL-1-DL does not allow rdfs:domain, :range axioms on annotation properties. See: <http://answers.semanticweb.com/questions/16310/using-rdfsrange-in-owlannotationproperty-and-owl-dl-validation>"@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Range"@en .

opdm:rankingDirection
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:AnnotationProperty ;
    rdfs:comment "The opdm:rankingDirection property links from: (a) a single conceptual element (class, property, individual) defined in an OPDM Product Type Ontology; to (b) a string describing whether the conceptual element should be ranked in ascending or descending order."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Ranking  direction"@en .

opdm:recommendedRangeOfMeasure
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:AnnotationProperty ;
    rdfs:comment "This annotation is attached to quantitative product properties and defines the probable, likely minimum-maximum range of values for a unit of measure that should be used at instance level."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Recommended  range of  measure"@en .

opdm:recommendedUnitOfMeasure
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:AnnotationProperty ;
    rdfs:comment "This annotation is attached to quantitative product properties and defines the unit of measure that should be used at instance level via gr:hasUnitOfMeasurement."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Recommended  unit of  measure"@en .

opdm:typeOfDimension
    opdm:maxCardinality "*"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:ObjectProperty ;
    rdfs:comment "Indicates an attribute of the dimension associated to a product (i.e. shipping dimension, dimension with stand, etc.)."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "type of dimension"@en ;
    rdfs:subPropertyOf <../goodrelations/v1#valueReference> .

opdm:typeOfPowerConsumption
    opdm:maxCardinality "*"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:ObjectProperty ;
    rdfs:comment "Indicates an attribute of the power consumption associated to a product (i.e. hot air oven, conventional oven, etc.)."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "type of power consumption"@en ;
    rdfs:subPropertyOf <../goodrelations/v1#valueReference> .

opdm:typeOfWeight
    opdm:maxCardinality "*"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:ObjectProperty ;
    rdfs:comment "Indicates an attribute of the weight associated to a product (i.e. shipping weight)."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "type of weight"@en ;
    rdfs:subPropertyOf <../goodrelations/v1#valueReference> .

opdm:unspsc
    opdm:maxCardinality "1"^^<http://www.w3.org/2001/XMLSchema#string> ;
    opdm:minCardinality "0"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a owl:DatatypeProperty ;
    rdfs:comment "The United Nations Standard Products and Services Code is a hierarchical convention that is used to classify all products and services."@en ;
    rdfs:domain <../goodrelations/v1#ProductOrService> ;
    rdfs:isDefinedBy <> ;
    rdfs:label "UNSPSC"@en ;
    rdfs:range <http://www.w3.org/2001/XMLSchema#string> ;
    rdfs:subPropertyOf <../goodrelations/v1#datatypeProductOrServiceProperty> ;
    foaf:homepage <http://www.unspsc.org/> .

