@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix ns0: <http://purl.org/configurationontology#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix metadata: <http://data.bioontology.org/metadata/> . @prefix ns1: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . @prefix metadata_def: <http://data.bioontology.org/metadata/def/> . ns0:CompletelyDefinedConfiguration rdfs:subClassOf ns0:Configuration . ns0:Configuration metadata_def:mappingLoom "configuration" ; metadata_def:mappingSameURI ns0:Configuration ; metadata_def:prefLabel "Configuration"@en, "Configuration"@fr ; metadata:prefixIRI "Configuration" ; a owl:Class ; rdfs:comment """A state of the configuration process, assumed to correspond to a valid partially defined product - valid in the sense that it can be completed into an existing fully specified product, one that can be ordered, without changing any of the current selections. A configuration is defined by a Lexicon (the set of the descriptive attributes of the configured product, cf. the \"lexicon\" property), and by the set of choices that have been made so far (typically selected specifications), cf. the \"definingChoice\" property. Note: A configurator application may conceivably have to handle “invalid configurations”, that is, combinations of specifications that are impossible. This can happen, for instance, if the user is allowed to begin the configuration process by choosing features without any control of their compatibility; or if she is allowed to choose a feature incompatible with her previous selections. In this case, it is the responsibility of the configurator application to restore the consistency of the configuration, necessarily by excluding some of the previous user selections. This Configuration class excludes such invalid combinations. Relation with GoodRelations and schema.org vocabularies : because a configuration mainly describes a Partially Defined Product, it can be seen as a GoodRelations \"ProductOrServiceModel\" (or a schema.org \"ProductModel): \"an intangible entity that specifies some characteristics of a group of similar, usually mass-produced products, in the sense of a prototype\". The suffix \"Model\" may seem misleading when used for a Configuration, as it suggests something such as \"Ford T\", and not \"Ford T with sunroof and climat control (itself not a completely defined product - you still can choose, well, the color: it is a \"prototype of similar products\"). On the other hand, a Configuration has a price (more precisely, a \"from price\" - the minimum of the \"suggested retail prices\" of all the matching completely defined products). As such, a Configuration may be seen as a commercial offer. It can also be used to represent a customer's wish list, constrained by the definition of the range. It could therefore be considered as a gr:Offering (or a schema:Offer) as well. But gr:ProductOrService and gr:Offering are disjoint classes: a given Configuration cannot be both. Depending on the use case, a publisher of configuration data may want to type her Configurations with either of these classes."""@en ; rdfs:label "Configuration"@en, "Configuration"@fr ; rdfs:subClassOf owl:Thing ; ns1:term_status "stable" . ns0:alternative rdfs:domain ns0:Configuration . ns0:choiceSeq rdfs:domain ns0:Configuration . ns0:chosenSpec rdfs:domain ns0:Configuration . ns0:completed rdfs:domain ns0:Configuration . ns0:completedAtSamePrice rdfs:domain ns0:Configuration . ns0:defaultSpec rdfs:domain ns0:Configuration . ns0:definingChoice rdfs:domain ns0:Configuration . ns0:impliedSpec rdfs:domain ns0:Configuration . ns0:impossible rdfs:domain ns0:Configuration . ns0:link rdfs:domain ns0:Configuration . ns0:linkedConf rdfs:range ns0:Configuration . ns0:maxPrice rdfs:domain ns0:Configuration . ns0:possible rdfs:domain ns0:Configuration . ns0:proposedConf rdfs:domain ns0:Configuration ; rdfs:range ns0:Configuration .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ns0: <http://purl.org/configurationontology#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix metadata: <http://data.bioontology.org/metadata/> .
@prefix ns1: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix metadata_def: <http://data.bioontology.org/metadata/def/> .

ns0:CompletelyDefinedConfiguration
    rdfs:subClassOf ns0:Configuration .

ns0:Configuration
    metadata_def:mappingLoom "configuration" ;
    metadata_def:mappingSameURI ns0:Configuration ;
    metadata_def:prefLabel "Configuration"@en, "Configuration"@fr ;
    metadata:prefixIRI "Configuration" ;
    a owl:Class ;
    rdfs:comment """A state of the configuration process, assumed to correspond to a valid partially defined product - valid in the sense that it can be completed into an existing fully specified product, one that can be ordered, without changing any of the current selections.

A configuration is defined by a Lexicon (the set of the descriptive attributes of the configured product, cf. the \"lexicon\" property), and by the set of choices that have been made so far (typically  selected specifications), cf. the \"definingChoice\" property.

Note: A configurator application may conceivably have to handle “invalid configurations”, that is, combinations of specifications that are impossible. This can happen, for instance, if the user is allowed to begin the configuration process by choosing features without any control of their compatibility; or if she is allowed to choose a feature incompatible with her previous selections. In this case, it is the responsibility of the configurator application to restore the consistency of the configuration, necessarily by excluding some of the previous user selections. This Configuration class excludes such invalid combinations. 

Relation with GoodRelations and schema.org vocabularies :
because a configuration mainly describes a Partially Defined Product, it can be seen as a GoodRelations \"ProductOrServiceModel\" (or a schema.org \"ProductModel): \"an intangible entity that specifies some characteristics of a group of similar, usually mass-produced products, in the sense of a prototype\". The suffix \"Model\" may seem misleading when used for a Configuration, as it suggests something such as \"Ford T\", and not \"Ford T with sunroof and climat control (itself not a completely defined product -  you still can choose, well, the color: it is a \"prototype of similar products\").

On the other hand, a Configuration has a price (more precisely, a \"from price\" - the minimum of the \"suggested retail prices\" of all the matching completely defined products). As such, a Configuration may be seen as a commercial offer. It can also be used to represent a customer's wish list, constrained by the definition of the range. It could therefore be considered as a gr:Offering (or a schema:Offer) as well.

But gr:ProductOrService and gr:Offering are disjoint classes: a given Configuration cannot be both. Depending on the use case, a publisher of configuration data may want to type her Configurations with either of these classes."""@en ;
    rdfs:label "Configuration"@en, "Configuration"@fr ;
    rdfs:subClassOf owl:Thing ;
    ns1:term_status "stable" .

ns0:alternative
    rdfs:domain ns0:Configuration .

ns0:choiceSeq
    rdfs:domain ns0:Configuration .

ns0:chosenSpec
    rdfs:domain ns0:Configuration .

ns0:completed
    rdfs:domain ns0:Configuration .

ns0:completedAtSamePrice
    rdfs:domain ns0:Configuration .

ns0:defaultSpec
    rdfs:domain ns0:Configuration .

ns0:definingChoice
    rdfs:domain ns0:Configuration .

ns0:impliedSpec
    rdfs:domain ns0:Configuration .

ns0:impossible
    rdfs:domain ns0:Configuration .

ns0:link
    rdfs:domain ns0:Configuration .

ns0:linkedConf
    rdfs:range ns0:Configuration .

ns0:maxPrice
    rdfs:domain ns0:Configuration .

ns0:possible
    rdfs:domain ns0:Configuration .

ns0:proposedConf
    rdfs:domain ns0:Configuration ;
    rdfs:range ns0:Configuration .