- From: Alexandre Bertails <bertails@apple.com>
- Date: Tue, 03 May 2016 11:38:34 -0700
- To: Martin Hepp <mfhepp@gmail.com>
- Cc: Dan Brickley <danbri@google.com>, "schema.org Mailing List" <public-schemaorg@w3.org>
Thanks Martin and all for the detailed responses. I think I understand a bit better how it could be done now. What do you think of the following? [[ ## I still feel like we could have schema:ProductFamily as a subclass of schema:Brand <http://www.apple.com/iphone/#thing> a schema:Brand ; schema:url <http://www.apple.com/iphone/> ; schema:name "iPhone" . <http://www.apple.com/iphone-5/#thing> a schema:ProductModel ; ## note /iphone-5/ now redirects to /iphone/ schema:url <http://www.apple.com/iphone/> ; schema:name "iPhone 5" ; schema:brand <http://www.apple.com/iphone/#thing> . <http://www.apple.com/iphone-6s/#thing> a schema:ProductModel ; schema:url <http://www.apple.com/iphone-6s/> ; schema:name "iPhone 6s" ; schema:brand <http://www.apple.com/iphone/#thing> . <http://www.apple.com/shop/buy-iphone/iphone6s#gray_64gb> a schema:ProductModel ; schema:url <http://www.apple.com/shop/buy-iphone/iphone6s> ; schema:name "iPhone 6s Space-Grey, 64 GB" ; schema:isVariantOf <http://www.apple.com/iphone-6s/#thing> . ]] Note that in our case, we need to be precise about the entities we manipulate, and where they appear. Our database is www.apple.com. Best, Alexandre > On May 3, 2016, at 8:45 AM, Martin Hepp <mfhepp@gmail.com> wrote: > > Hi all, > > when "product family" means a mere group of products that serve a similar purpose, I would use schema:category for the group (e.g. "iPhone"). schema:isVariantOf is meant for linking from base models to fully specified models. > > > So here is what I would use: > > @prefix pto: <http://www.productontology.org/id/> . > > foo:iphone1 a schema:ProductModel, pto:Smartphone; > schema:name "iPhone 1"; > schema:category "Apple iPhone Family". > > > foo:iphone2 a schema:ProductModel, pto:Smartphone; > schema:name "iPhone 2"; > schema:category "Apple iPhone Family". > > foo:iphone3 a schema:ProductModel, pto:Smartphone; > schema:name "iPhone 3"; > schema:category "Apple iPhone Family". > > foo:iphone3gs a schema:ProductModel, pto:Smartphone; > schema:name "iPhone 3 GS"; > schema:category "Apple iPhone Family". > > foo:iphone4 a schema:ProductModel, pto:Smartphone; > schema:name "iPhone 4"; > schema:category "Apple iPhone Family". > > foo:iphone5 a schema:ProductModel, pto:Smartphone; > schema:name "iPhone 5"; > schema:category "Apple iPhone Family". > > foo:iphone5se a schema:ProductModel, pto:Smartphone; > schema:name "iPhone 5 SE"; > schema:category "Apple iPhone Family". > > > Then, I would materialize all or the relevant fully specified models, like my new iPhone 5 SE in space-grey with 64 GB: > > > foo:iphone5se_gray_64gb a schema:ProductModel, pto:Smartphone; > schema:name "iPhone 5 SE Space-Grey, 64 GB"; > schema:category "Apple iPhone Family"; > schema:color "space gray"; > schema:additionalProperty > [ a schema:PropertyValue; > schema:name "capacity"; > schema:unitText "GB" ] . > # add more features here, see http://schema.org/PropertyValue for examples > > > Then I would state that each fully specified model is a variant of its base model: > > foo:iphone5se_gray_64gb schema:isVariantOf foo:iphone5se. > > You could also also indicate that the newer models are successors of the older ones: > > foo:iphone5se schema:successorOf foo:iphone5 . > foo:iphone5 schema:successorOf foo:iphone4 . > foo:iphone3gs schema:successorOf foo:iphone3 . > foo:iphone3 schema:successorOf foo:iphone2 . > foo:iphone2 schema:successorOf foo:iphone1 . > > > Note that successorOf is intended to be transitive (see http://www.heppnetz.de/ontologies/goodrelations/v1.html#successorOf), but we have not yet made this explicit in schema.org, because meta-properties for properties were not supported initially. > > schema:isVariant is not transititve, because properties should be passed from the generic model to the fully specified ones with a pragmatic mechanism for overriding a property (a property will not be passed along if it is already locally specified, see http://wiki.goodrelations-vocabulary.org/Axioms#Recommended_Default_Rules). For this, the ordering of inferences can matter as soon as we have more than one level of hierarchy. If you allow complex variant relationships, the reasoning gets very difficult. > > > Further references (not all up to date): > > http://wiki.goodrelations-vocabulary.org/Documentation/Product_variants > https://lists.w3.org/Archives/Public/public-vocabs/2011Oct/0040.html > > > Hope that helps! > > Martin > > > ----------------------------------- > martin hepp http://www.heppnetz.de > mhepp@computer.org @mfhepp > > > > >> On 03 May 2016, at 17:18, Dan Brickley <danbri@google.com> wrote: >> >> +Martin Hepp >> >> On 3 May 2016 at 16:01, Alexandre Bertails <bertails@apple.com> wrote: >>> Folks, >>> >>> I am trying to encode the following things in Schema.org: >>> >>> 1. "iPhone is a Product family." >>> >>> 2. "iPhone 6s is part of the iPhone Product family." >>> >>> 3. all the Products of a Product family would be related to each other (schema:isRelatedTo), and/or similar to each other (schema:isSimilarTo). >>> >>> Except for 3., I cannot find something that would capture exactly the notion of Product family. >> >> >> You might look at http://schema.org/ProductModel and isVariantOf ("A >> pointer 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.") and >> predecessorOf/successorOf (which I now see should be marked as mutual >> inverses, issue filed as >> https://github.com/schemaorg/schemaorg/issues/1142 ). >> >> I guess you'd need to figure out the constant "essence of iPhone" and >> make a generic ProductModel for that, and then relate them. I'm not >> sure how deep you'd want this to go e.g. I have an (excellent if >> ageing) iPad Mini, presumably part of an iPad Product family; would se >> use isSimilarTo vs iSvariantOf to link iPhone and iPad families >> together? >> >> Dan >> >> >>> Any idea? >>> >>> Alexandre >
Received on Tuesday, 3 May 2016 18:39:05 UTC