compatibility (0..*)
range: Thing
domain: Thing
type: ObjectProperty
comment: Links from a Derivative to information on whether a particular configuration is valid (true) or invalid (false)
domain: Derivative
range: ConfigurationInfo
type: Property
domain: Resource
domain: ProductOrServiceModel
range: Resource
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4

availableChoice (1..*)
range: Thing
domain: Thing
type: ObjectProperty
comment: This property links available Choices or Components to a Spec Item.
domain: SpecItemCollection
range: ChoiceOrComponent
type: Property
domain: Resource
range: Resource
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
range: ProductOrServiceModel

BaseModel
subclass of: Thing
subclass of: Resource
type: Class
disjoint with: ConfigurationInfo
disjoint with: ChoiceOrComponent
comment: A Base Model is an abstract entity specifying the basic features of a group of vehicles. Examples: VW Golf, VW Polo, VW Passat
disjoint with: Derivative
subclass of: ProductOrServiceModel
disjoint with: PropertySpeciﬁcation
disjoint with: CompleteCarModel
disjoint with: Trim
disjoint with: RelativePriceSpeciﬁcation
disjoint with: SpecItemCollection

hasSpecItems (0..*)
range: Thing
domain: Thing
type: ObjectProperty
comment: This property links available Spec Items to a Derivative.
domain: Derivative
range: SpecItemCollection
type: Property
domain: Resource
domain: ProductOrServiceModel
range: Resource

hasDerivative (0..*)
range: Thing
domain: Thing
type: ObjectProperty
comment: Links a Derivative to a Trim
domain: Trim
range: Derivative
type: Property
domain: Resource
domain: ProductOrServiceModel
range: Resource
range: ProductOrServiceModel

hasCompleteCarModel (0..*)
range: Thing
domain: Thing
type: ObjectProperty
comment: Links one or multiple Complete Car Models to the underlying Derivative
domain: Derivative
range: CompleteCarModel
type: Property
domain: Resource
domain: ProductOrServiceModel
range: Resource
range: ProductOrServiceModel

SpecItemCollection
subclass of: Thing
subclass of: Resource
type: Class
disjoint with: CompleteCarModel
disjoint with: BaseModel
disjoint with: RelativePriceSpeciﬁcation
disjoint with: ChoiceOrComponent
disjoint with: Trim
comment: A Spec Item Collection is an entity collating multiple coo:ChoiceOrComponent options for a given coo:Derivative, i.e. the available configurational choices. The default choice can be indicated using a coo:default link. All other choices are attached using coo:availableChoice. The number of coo:ChoiceOrComponent items that can / must be selected for a valid configuration are indicated via coo:min and coo:max.
disjoint with: PropertySpeciﬁcation
disjoint with: ConfigurationInfo
disjoint with: Derivative

hasSpecItemChoice (0..*)
range: Thing
domain: Thing
type: ObjectProperty
comment: Links a Complete Car Model to the choices for configurational options
domain: CompleteCarModel
range: ChoiceOrComponent
type: Property
domain: Resource
domain: ProductOrServiceModel
range: Resource
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
range: ProductOrServiceModel

featureOverride (0..*)
range: Thing
domain: Thing
type: ObjectProperty
comment: Links a coo:ConfigurationInfo node to information on how a choice or component or the combination of multiple choices will override the regular properties of the resulting vehicle
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
range: PropertySpeciﬁcation
type: Property
domain: Resource
range: Resource
range: ProductOrServiceModel

CompleteCarModel
subclass of: Resource
subclass of: Thing
type: Class
disjoint with: RelativePriceSpeciﬁcation
disjoint with: BaseModel
comment: A Complete Car Model is an abstract entity specifying all features and configuration choices needed for actually producing a vehicle. In other words, it is the gr:ProductOrServiceModel ("datasheet") for a completely configured vehicle. While a Complete Car Model can be defined indepently of a Base Model, Trim, or Derivative, it is usually based on a Derivative plus choices for all mandatory configurational options (coo:SpecItemCollection) of that Derivative. A Complete Car Model should be linked to its Derivative via gr:isVariantOf, if available. Example: VW Golf S 1.6 TDI 3door Manual in ocean blue with air-conditioning, CD player, trailer hitch, power steering, and power windows Note: A coo:CompleteCarModel is NOT an actual car, but a complete feature description of one or multiple actual cars.
disjoint with: SpecItemCollection
disjoint with: Trim
disjoint with: PropertySpeciﬁcation
disjoint with: ConfigurationInfo
disjoint with: Derivative
subclass of: ProductOrServiceModel
disjoint with: ChoiceOrComponent

Trim
subclass of: Thing
subclass of: Resource
type: Class
disjoint with: CompleteCarModel
subclass of: ProductOrServiceModel
disjoint with: Derivative
disjoint with: ChoiceOrComponent
disjoint with: SpecItemCollection
disjoint with: RelativePriceSpeciﬁcation
comment: A Trim is an abstract entity specifying (1) the basic features plus (2) a set of configuration choices (mostly non-functional) of a group of vehicles. A Trim should be linked to its Base Model via gr:isVariantOf, if available. Examples: VW Golf S, VW Polo Match, VW Passat SE
disjoint with: PropertySpeciﬁcation
disjoint with: ConfigurationInfo
disjoint with: BaseModel

hasTrim (0..*)
range: Thing
domain: Thing
type: ObjectProperty
comment: Links a Trim to Base Model
domain: BaseModel
range: Trim
type: Property
domain: Resource
domain: ProductOrServiceModel
range: Resource
range: ProductOrServiceModel

default (0..1)
range: Thing
domain: Thing
type: ObjectProperty
comment: This property links the default Choice or Component to a Spec Item. Since it is defined a sub-property of coo:availableChoice, the default choice is automatically part of the available choices.
domain: SpecItemCollection
range: ChoiceOrComponent
sub property of: availableChoice (1..*)
type: Property
domain: Resource
range: Resource
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
range: ProductOrServiceModel

ChoiceOrComponent
subclass of: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
subclass of: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
subclass of: Thing
subclass of: Resource
type: Class
disjoint with: ConfigurationInfo
disjoint with: Derivative
disjoint with: PropertySpeciﬁcation
disjoint with: Trim
comment: A Choice or Component is a component (e.g. engine), add-on, feature (color "ocean blue"), or service that can be chosen to be part of a final vehicle configuration. Example: Engine 1.6 l TDI, color ocean blue, trailer hitch
disjoint with: RelativePriceSpeciﬁcation
subclass of: ProductOrServiceModel
disjoint with: CompleteCarModel
disjoint with: BaseModel
disjoint with: SpecItemCollection

PropertySpeciﬁcation
subclass of: Resource
subclass of: Thing
type: Class
disjoint with: ChoiceOrComponent
disjoint with: ConfigurationInfo
disjoint with: Trim
disjoint with: CompleteCarModel
disjoint with: SpecItemCollection
comment: A Property Specification is an abstract entity specifying a set of properties for a vehicle that results from a single choice or the combination of two or more choices and that override the individual properties of the resulting vehicle. Example 1: Power steering and Air conditioning in combination reduce the available engine power from 90 kW to 89 kW. Example 2: Choosing the color option "blue" changes the color of the car to "blue".
disjoint with: Derivative
disjoint with: BaseModel
disjoint with: RelativePriceSpeciﬁcation
subclass of: ProductOrServiceModel

priceModiﬁer (0..1)
range: Thing
domain: Thing
type: ObjectProperty
comment: Links a coo:ConfigurationInfo node to information on a choice or component or the combination of multiple choices will affect the regular pricing of the resulting vehicle Note: The use of gr:addOn is in general a better way of modeling surcharges
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
range: RelativePriceSpeciﬁcation
type: Property
domain: Resource
range: Resource
range: PriceSpecification

ConfigurationInfo
subclass of: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
subclass of: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
subclass of: Thing
subclass of: Resource
type: Class
disjoint with: RelativePriceSpeciﬁcation
comment: A Configuration Info is an abstract entity that gives information on whether a set of Choices Or Components results in a valid configuration. Using coo:compatible, it is possible to indicate either compatibility (true) and incompatibility (false) so that modeling remains efficient, no matter whether most combinations are valid or whether most configurations are invalid. If no such statement is found, the validity of a configuration is unknown. Note: The two properties coo:includes and coo:dependsOn, attached to coo:ChoiceOrComponent, may contain additional information on the validity of configuration.
disjoint with: PropertySpeciﬁcation
disjoint with: ChoiceOrComponent
disjoint with: SpecItemCollection
disjoint with: Trim
disjoint with: BaseModel
disjoint with: Derivative
disjoint with: CompleteCarModel

includesChoices (1..*)
range: Thing
domain: Thing
type: ObjectProperty
comment: Indicates the set of Choices Or Components to which the Configuration Info node refers Note 1: Complementing compatibility information can be attached to the components directly via coo:compatibleWith, coo:incompatibleWith, coo:dependsOn, and coo:includes. Note 2: The coo:ConfigurationInfo node makes only a valid statement for a configuration that includes ALL of the Choices or Components attached via this property. Note 3: If you want to know whether further components can be added, check that there are no coo:incompatibleWith relationships with any Choice or Component. This check must also be extended to all Choices or Components implicitly included via coo:includes. Note 4: If you want to know whether some components may be omitted without invalidating the configuration, check that there are no coo:dependsOn relationships with any Choice or Component. This check must also be extended to all Choices Or Components implicitly included via coo:includes. Note 5: Under an Open World Assumption (OWA), only an explicit compatibility statement for your configuration is really reliable. A weaker guarantee may be sufficient for your application, though.
domain: ConfigurationInfo
range: ChoiceOrComponent
type: Property
domain: Resource
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
range: Resource
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
range: ProductOrServiceModel

Derivative
subclass of: Resource
subclass of: Thing
type: Class
disjoint with: RelativePriceSpeciﬁcation
comment: A Derivative is an abstract entity specifying (1) the basic features plus (2) a set of functional (e.g. engine type) and non-functional configuration (e.g. upholstery) choices of a group of vehicles. A Derivative has often a number of remaining configuration choices (coo:SpecItemCollection attached via coo:hasSpecItems), which will determine the actual properties of the resulting vehicle. A Derivative should be linked to its Trim via gr:isVariantOf, if available. Examples: VW Golf S 1.6 TDI 3door Manual
disjoint with: ConfigurationInfo
disjoint with: CompleteCarModel
disjoint with: BaseModel
disjoint with: Trim
disjoint with: SpecItemCollection
disjoint with: ChoiceOrComponent
disjoint with: PropertySpeciﬁcation
subclass of: ProductOrServiceModel

RelativePriceSpeciﬁcation
subclass of: Resource
subclass of: Thing
type: Class
disjoint with: ConfigurationInfo
subclass of: PriceSpecification
disjoint with: BaseModel
comment: A shortcut for indicating the effect of a choice or set of choices on the unit price. Use positive values for a surcharge and negative values for a deduction. Note: Price information should in general be attached to a gr:Offering node, not to a Base Model, Trim, Derivative, or Complete Car Model. Use this shortcut with care.
disjoint with: Trim
disjoint with: SpecItemCollection
disjoint with: CompleteCarModel
disjoint with: PropertySpeciﬁcation
disjoint with: ChoiceOrComponent
disjoint with: Derivative

hasID (0..1)
type: AnnotationProperty
comment: An annotation property that can be used to attach element identifiers from XML schemas for the corresponding XML data or schema.

includes (0..*)
type: TransitiveProperty
comment: Links a Choice or Component to one or multiple other Choices Or Components implicity contained Note: This property is transitive, i.e., if B is included in A and C and D are included in B, then C and D are also included in A.
domain: ChoiceOrComponent
range: ChoiceOrComponent
type: Property
type: ObjectProperty
domain: Thing
domain: Resource
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
domain: ProductOrServiceModel
range: Thing
range: Resource
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
range: ProductOrServiceModel

valid (1..1)
type: DatatypeProperty
comment: Indicates whether the attached set of choices is a valid (true) or invalid (false) configuration for the Derivative
domain: ConfigurationInfo
range: boolean
type: Property
domain: Thing
domain: Resource
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
range: Resource

COO: The Car Options Ontology for Semantic Web-based E-Commerce
rights: The Car Options Ontology is available under the Creative Commons Attribution 3.0 Unported license; see http://creativecommons.org/licenses/by/3.0/. In a nutshell, you are free to copy, distribute and transmit the work; to remix/adapt the work (e.g. to import the ontology and create specializations of its elements), as long as you attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
label: Car Options Ontology
version info: V 1.1, Release 2010-10-12
license: http://creativecommons.org/licenses/by/3.0/
imports: v1
creator: Martin Hepp, Hepp Research GmbH
type: Ontology
comment: COO: The Car Options Ontology The COO provides a vocabulary for exposing available configuration options for car models. It allows indicating choices that can be made as well as compatibility, dependency, and inclusion information. The ontology imports and extends the GoodRelations ontology for e-commerce, which provides an abstract framework for product model information via gr:ProductOrServiceModel and ist associated properies. The main difference between COO and the default patterns for model data in GoodRelations is that GoodRelations requires the materialization of all choices for features, which can quickly lead to very large amounts of data if features can be combines rather freely, due to the combinatorial effects. Vocabulary: http://purl.org/coo/ns Namespace: http://purl.org/coo/ns# The Car Options Ontology is designed to be used in combination with GoodRelations, a standard vocabulary for the commercial aspects of offers for sale or rental, and the Vehicle Sales Ontology. See http://purl.org/goodrelations/ and http://purl.org/vso/ns for more information.
subject: E-Commerce, E-Business, GoodRelations, Ontology, Cars, Automobiles
contributor: Charles Sandeman-Craik, Tribal DDB; Chris Jenkins, Tribal DDB; Tim Redding, Tribal DDB; Yago Otero, Tribal DDB; William Greenly, Tribal DDB; Robin Dingle, Volkswagen UK;

displayPos (0..1)
type: DatatypeProperty
comment: The position at which the option or element should be listed in a menu or user dialog, lower numbers come first. The main usage of this property are coo:SpecItemCollection and coo:ChoiceOrComponent, but it is possible to apply it to any owl:Class. Note: It is recommended to rely on this property only for data originating from a single RDF graph; otherwise, unpredictable results are possible.
domain: Class
range: int
type: Property
domain: Resource
range: decimal
range: Resource
range: integer
range: long

compatibleWith (0..*)
type: SymmetricProperty
comment: Indicates that two Choices or Components are compatible with each other. Note: This property is symmetric, i.e., if A is compatible with B, then B is also compatible with A.
domain: ChoiceOrComponent
range: ChoiceOrComponent
type: Property
type: ObjectProperty
domain: Thing
domain: Resource
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
domain: ProductOrServiceModel
range: Thing
range: Resource
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
range: ProductOrServiceModel

max (0..1)
type: DatatypeProperty
comment: The maximum number of coo:ChoiceOrComponent entities that can be selected for a valid configuration
domain: SpecItemCollection
range: int
type: Property
domain: Thing
domain: Resource
range: decimal
range: Resource
range: integer
range: long

min (0..1)
type: DatatypeProperty
comment: The minimum number of coo:ChoiceOrComponent entities that must be selected for a valid configuration
domain: SpecItemCollection
range: int
type: Property
domain: Thing
domain: Resource
range: decimal
range: Resource
range: integer
range: long

incompatibleWith (0..*)
type: SymmetricProperty
comment: Indicates that two Choices or Components are incompatible with each other, independent from other choices. Note: This property is symmetric, i.e., if A is incompatible with B, then B is also incompatible with A.
domain: ChoiceOrComponent
range: ChoiceOrComponent
type: Property
type: ObjectProperty
domain: Thing
domain: Resource
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
domain: ProductOrServiceModel
range: Thing
range: Resource
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
range: ProductOrServiceModel

dependsOn (0..*)
type: TransitiveProperty
comment: Links a Choice or Component to one or multiple other Choices Or Components required for that choice Note: This property is transitive, i.e., if B is required by A and C and D are required by B, then C and D are also required by A.
domain: ChoiceOrComponent
range: ChoiceOrComponent
type: Property
type: ObjectProperty
domain: Thing
domain: Resource
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
domain: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
domain: ProductOrServiceModel
range: Thing
range: Resource
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#1
range: http://lodlaundromat.org/.well-known/genid/be0c361b11d3e230ed527dc0bbcd827f#4
range: ProductOrServiceModel