W3C home > Mailing lists > Public > public-vocabs@w3.org > July 2013

Re: Vehicles, and customizable products

From: Martin Hepp <martin.hepp@ebusiness-unibw.org>
Date: Mon, 29 Jul 2013 10:24:19 +0200
Cc: Thad Guidry <thadguidry@gmail.com>, "public-vocabs@w3.org" <public-vocabs@w3.org>
Message-Id: <CCA72666-19AD-4426-A8D3-471B5F283CE5@ebusiness-unibw.org>
To: Francois-Paul Servant <francoispaulservant@gmail.com>
Hi Francois,

> I am curious to know how you would do that. VSO recommends to make statements such as:
> foo:myCar vso:fuelType dbpedia:Diesel.
> 
> How can you adapt that to handle configurations? For configurations, you have to be able to state, for instance, that the fuelType may be diesel or gasoline, but not electric. I don't see how you can do that using the vso:fuelType property

you simply define three gr:ProductOrServiceModel instances:

foo:BaseConfig a vso:Automobile, gr:ProductOrServiceModel.

foo:DieselConfig a vso:Automobile, gr:ProductOrServiceModel ;
		 vso:fuelType <http://dbpedia.org/resource/Diesel>.

foo:GasolineConfig a vso:Automobile, gr:ProductOrServiceModel ;
		 vso:fuelType <http://dbpedia.org/resource/Gasoline>.

The you statet that foo:DieselConfig and foo:GasolineConfig are  gr:isVariantOf foo:BaseConfig.

foo:BaseConfig gr:isVariantOf foo:BaseConfig .
foo:DieselConfig gr:isVariantOf foo:BaseConfig .

By virtue of that, a data consumer knows that there 

- there is a base model without fuel type information and
- there are two variants (specializations) thereof, one with Gasoline, one with Diesel as a fuel type.

It does not explicitly tell you that there CANNOT be a variant with electric fuel, but since negation is a complex topic at Web scale, this is not really a shortcoming, as far as I can see.

And actually, you can model that in schema.org already as of now, if you use vso:Automobile or pto:Automobile with the additionalType property:


<div id="base_config" itemprop="isVariantOf" itemscope itemtype="http://schema.org/ProductModel" itemid="#BaseConfig">
	<link itemprop="additionalType" href="http://purl.org/vso/ns#Automobile" />
	<span itemprop="name">The ACME Base Car </span>
</div>

<div itemscope itemtype="http://schema.org/ProductModel" itemid="#DieselConfig" itemref="base_config">
	<span itemprop="name">The ACME Car with Diesel Engine </span>
	<link itemprop="http://purl.org/vso/ns#fuelType" href="http://dbpedia.org/resource/Diesel" />
</div>

<div itemscope itemtype="http://schema.org/ProductModel" itemid="#GasolineConfig" itemref="base_config">
	<span itemprop="name">The ACME Car with Gasoline Engine </span>
	<link itemprop="http://purl.org/vso/ns#fuelType" href="http://dbpedia.org/resource/Gasoline" />
</div>


The Google Structured Data Testing Tool will warn that it does not know the property <http://purl.org/vso/ns#fuelType>,

Error: Page contains property "http://purl.org/vso/ns#fueltype" which is not part of the schema.

but that is just cosmetics, since the tool could and should be configured to accept external properties as long as they use a full URI (or at least give a warning instead of an error).

So with adding VSO to schema.org, you could model at least basic variant information with schema.org. And it would be a minor task to implement that.

This does not reduce the potential of your more ambitious work in defining a full ontology for car specifications, but it would already get us far quickly, and that with a pattern that is the same for many vertical industries.

By the way: One small thing that I do not like about your proposal is that you say that a configuration is both a gr:MakeAndModel and a gr:Offering. Those are  two distinct entities, even if they often appear as a pair.

Martin


On Jul 27, 2013, at 9:40 AM, Francois-Paul Servant wrote:

> Hi Martin, and all
> 
> Le 26 juil. 2013 à 10:04, Martin Hepp <martin.hepp@ebusiness-unibw.org> a écrit :
> 
>> Hi all,
>> for the automotive segment, I strongly recommend integrating
>> 
>> 	http://www.heppnetz.de/ontologies/vso/ns
>> 
>> into schema.org.
>> 
>> It is a GoodRelations extension for all kinds of vehicles and will thus nicely fit to the already existing GoodRelations elements in schema.org.
>> 
>> Exposing configuration information can basically be done in two ways:
>> 
>> 1. Exposing the *rules* for compatibility of components; that is what Volkswagen does with their COO ontology,
>> 
>>   http://www.volkswagen.co.uk/vocabularies/coo/ns.html
>> 
>> 2. Exposing (a subset of) actually buildable cars or partly configured cars; this is what can be done with basic schema.org/GoodRelations/VSO elements, plus maybe the conceptual modeling work done at Renault.
>> 
>> For Web markup, I recommend the second route, but it will not require more than just translating the VSO ontology into a schema.org extension proposal, and I will tackle that as soon as my resources permit.
> 
> I am curious to know how you would do that. VSO recommends to make statements such as:
> foo:myCar vso:fuelType dbpedia:Diesel.
> 
> How can you adapt that to handle configurations? For configurations, you have to be able to state, for instance, that the fuelType may be diesel or gasoline, but not electric. I don't see how you can do that using the vso:fuelType property
> 
> Best,
> 
> fps
> 

--------------------------------------------------------
martin hepp
e-business & web science research group
universitaet der bundeswehr muenchen

e-mail:  hepp@ebusiness-unibw.org
phone:   +49-(0)89-6004-4217
fax:     +49-(0)89-6004-4620
www:     http://www.unibw.de/ebusiness/ (group)
         http://www.heppnetz.de/ (personal)
skype:   mfhepp 
twitter: mfhepp

Check out GoodRelations for E-Commerce on the Web of Linked Data!
=================================================================
* Project Main Page: http://purl.org/goodrelations/
Received on Monday, 29 July 2013 08:24:40 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:29:28 UTC