{
"class" : {
"rdf:type" : "rdfs:Class",
"rdfs:comment" : "A datasheet or vendor specification of a product (in the sense of a prototypical description).",
"rdfs:label" : "ProductModel",
"rdfs:subClassOf" : "schema:Product",
"schema:contributor" : "collab:GoodRelationsClass"
},
"properties" : {
"schema:isVariantOf" : {
"rdf:type" : "rdf:Property",
"rdfs:comment" : "Indicates the kind of product that this is a variant of. In the case of [[ProductModel]], this is a pointer (from a ProductModel) to a base product from which this product is a variant. It is safe to infer that the variant inherits all product features from the base model, unless defined locally. This is not transitive. In the case of a [[ProductGroup]], the group description also serves as a template, representing a set of Products that vary on explicitly defined, specific dimensions only (so it defines both a set of variants, as well as which values distinguish amongst those variants). When used with [[ProductGroup]], this property can apply to any [[Product]] included in the group.",
"rdfs:label" : "isVariantOf",
"schema:contributor" : "collab:GoodRelationsTerms",
"schema:domainIncludes" : [
"schema:ProductModel",
"schema:Product"
],
"schema:inverseOf" : "schema:hasVariant",
"schema:rangeIncludes" : [
"schema:ProductModel",
"schema:ProductGroup"
]
},
"schema:predecessorOf" : {
"rdf:type" : "rdf:Property",
"rdfs:comment" : "A pointer from a previous, often discontinued variant of the product to its newer variant.",
"rdfs:label" : "predecessorOf",
"schema:contributor" : "collab:GoodRelationsTerms",
"schema:domainIncludes" : "schema:ProductModel",
"schema:rangeIncludes" : "schema:ProductModel"
},
"schema:successorOf" : {
"rdf:type" : "rdf:Property",
"rdfs:comment" : "A pointer from a newer variant of a product to its previous, often discontinued predecessor.",
"rdfs:label" : "successorOf",
"schema:contributor" : "collab:GoodRelationsTerms",
"schema:domainIncludes" : "schema:ProductModel",
"schema:rangeIncludes" : "schema:ProductModel"
}
}
}