Linked Data On the Web Workshop (LDOW 2013, WWW 2013, Rio de Janeiro)
Exposing data about customizable products is a challenging issue, because of the number of features and options customers can choose from, and of the intricate constraints between them. However, the configuration process, by which the customer makes her choice, one step at a time, is a graph traversal among partially defined products; that is Linked Data browsing. This natural yet fruitful abstraction for product customization hides complexity from the client agent,
and allows corporations to publish descriptions of their ranges of products, in their own terms. To open these ranges to comparison, corporate vocabularies have to be linked to known entities in the LOD cloud; the creation of sharable thesauri is discussed.
Convert to study materialsBETA
Transform any presentation into ready-made study material¡ªselect from outputs like summaries, definitions, and practice questions.
1 of 30
Download to read offline
More Related Content
Describing Customizable Products on the Web of Data (LDOW 2013)
1. LDOW 2013
Describing Customizable Products on the Web of Data
Linked Data On the Web Workshop - Rio de Janeiro - May 14th, 2013
Fran?ois-Paul Servant (francois-paul.servant@renault.com)
2. LDOW 2013
01 Publishing descriptions of customizable products
A challenging issue
02
03
Configuration as Linked Data
The Configuration Ontology
Designing sharable vocabularies
Requirements
3. LDOW 2013LDOW 2013
Publishing product descriptions on the web of data
? has recently gained momentum
? schema.org
? GoodRelations
? Use rich data for Web marketing
? in order to increase the visibility of commercial offers
? talking to all kinds of devices and agents
? search engines, price comparators, recommendation applications
? SEO ("search engine optimization")
6. LDOW 2013
For cars, especially for new cars, results are a bit disappointing...
7. LDOW 2013
Books
- Completely Defined Products
- Few search criteria
- Comparisons of the offers on a small number of criteria
- ISBN
- <130.000.000 different books*
* http://booksearch.blogspot.com/2010/08/books-of-world-stand-up-and-be-counted.html
- Partially Defined Products
- Many criteria
- Comparisons on many criteria
- No id
- and... a huge diversity
Cars
8. LDOW 2013
Product ranges in the automotive industry are huge
1020
different cars for sale at Renault
9. LDOW 2013
Product ranges in the automotive industry are huge
Body styles x Engines x Gearboxes
x Colors
x Air Conditioning systems
x Radios
x Navigation systems
x Electronic Stability System?
x ABS?
x Sun-roof?
x ...
= 1025
10. LDOW 2013
Huge, and complex
Body styles x Engines x Gearboxes
x Colors
x Air Conditioning systems
x Radios
x Navigation systems
x Electronic Stability System?
x ABS?
x Sun-roof?
x ...
= 1025
Every combination of features is not possible :
technical, industrial and legal constraints, marketing policy
=1020- "Unglazed rear doors exclude rear wipers"
- "Rear electric windows imply front electric windows"
- ...
11. LDOW 2013
Huge, and complex
Body styles x Engines x Gearboxes
x Colors
x Air Conditioning systems
x Radios
x Navigation systems
x Electronic Stability System?
x ABS?
x Sun-roof?
x ...
= 1025
Every combination of features is not possible :
technical, industrial and legal constraints, marketing policy
=1020- "Unglazed rear doors exclude rear wipers"
- "Rear electric windows imply front electric windows"- ...
1 chance upon 100,000 to get an
existing car,
if you choose its features
without taking the constraints into account.
12. LDOW 2013
Description of an automotive range
? The range cannot be enumerated: defined "in intention"
? A set of Variables and Constraints between their values:
? a "Constraint Satisfaction Problem" (CSP)
? Computationally hard!
? Reasoning software required
13. LDOW 2013
How to publish such descriptions?
? The CSP can be represented using Semantic Web languages
? But publishing such data on the web would be too demanding of the clients
? Reasoning better hosted on the server
? So?
16. LDOW 2013
The configuration process
? at each step: list of possible choices, given the choices made so far
Previous selections Possible choices
17. LDOW 2013
A configurator as a REST service
? ConfigurationService?spec=spec1&spec=spec2&... (*)
? returns:
? = specifications compatible with the previous selections
? to choose specX: append "&spec=specX" to (*)
? (*) identifies a state of the configuration process
? = a "Configuration"
? = a Partially Defined Car
? = a subset of the range
? (*) : URI of configuration
Possible choices
Previous selections
18. LDOW 2013
Configuration as Linked Data
? ConfigurationService?spec=spec1&spec=spec2&... (*)
? returns the list of (compatible specification, URI of the refined configuration)
? eg. (specX, ConfigurationService?spec=spec1&spec=spec2&...&spec=specX)
? Configuration Process = Traversal of a graph of linked Configurations
? = Linked Data!
? Reasoning handled by the server, complexity hidden to the client
? a GUI just has to display the links
19. LDOW 2013
Entry point: the list of models
<http://uk.co.rplug.renault.com/docs#this>
a co:Configuration ;
co:possible
[ a co:ConfigurationLink ;
rdfs:label "Laguna Hatchback 2011"@en ;
co:linkedConf <http://uk.co.rplug.renault.com/c/BAv/AAI#this> ;
co:specToBeAdded <http://uk.co.rplug.renault.com/spec/BAv/LA3#this>
] ;
co:possible
[ a co:ConfigurationLink ;
rdfs:label "M¨¦gane Sport Tourer"@en ;
co:linkedConf <http://uk.co.rplug.renault.com/c/BACp/AAI#this> ;
co:specToBeAdded <http://uk.co.rplug.renault.com/spec/BACp/M3K#this>
] ;
...
Renault range (UK)
Possible choices:
the list of models
I want a Laguna Hatchback...
20. LDOW 2013
The "Laguna Hatchback" configuration
<http://uk.co.rplug.renault.com/c/BAv/AAI#this>
a co:Configuration ;
co:chosenSpec <http://uk.co.rplug.renault.com/spec/BAv/LA3#this> ;
co:possible
[ a co:ConfigurationLink ;
co:linkedConf <http://uk.co.rplug.renault.com/c/BAv/AAMDg#this> ;
co:specToBeAdded <http://uk.co.rplug.renault.com/spec/BAv/PT1633_automatic_gearbox#this>
] ;
co:possible
[ a co:ConfigurationLink ;
...
<http://uk.co.rplug.renault.com/spec/BAv/PT1633_automatic_gearbox#this>
a co:Specification ;
rdfs:label "Automatic Gearbox"@en .
Possible choices
I want an automatic gearbox...
Previous selections
(encoded in the URI,
in clear in the data)
21. LDOW 2013
The "Laguna Hatchback, automatic gearbox" configuration
<http://uk.co.rplug.renault.com/c/BAv/AAMDg#this>
a co:Configuration ;
co:chosenSpec
<http://uk.co.rplug.renault.com/spec/BAv/LA3#this> ,
<http://uk.co.rplug.renault.com/spec/BAv/PT1633_automatic_gearbox#this>
co:possible
[ a co:ConfigurationLink ;
co:linkedConf <http://uk.co.rplug.renault.com/c/BAv/AAMDg#this> ;
co:specToBeAdded <http://uk.co.rplug.renault.com/spec/BAv/PT1628_diesel#this>
] ;
co:possible
[ a co:ConfigurationLink ;
...
gr:hasPriceSpecification [gr:hasCurrencyValue "21795"^^<http://www.w3.org/2001/XMLSchema#float>...] ;
co:impliedSpec <http://uk.co.rplug.renault.com/spec/BAv/PT1627_direct_common_rail_with_turbo#this>,...
co:impossible
[ a co:ConfigurationLink ;...
Possible choices
More info
Previous selections
(encoded in the URI,
in clear in the data)
22. LDOW 2013
Configuration ontology
? http://purl.org/configurationontology
? The configuration process as the traversal of a graph of Configurations
? 3 main classes: Specification, Configuration and ConfigurationLink
? properties: chosenSpec, impliedSpec, possible, impossible, defaultSpec, etc
? the different kinds of relations between a Configuration and a Specification
? A generic, domain independent ontology
? not limited to the automotive industry
? doesn't depend on the vocabulary used for the specifications
? most online configurator applications could use it
23. LDOW 2013
Benefits
? Improved Architecture of the configuration server
? Web architecture
? Decreased development costs of web applications
? No need to understand the concepts underlying configuration
? No need to learn an API
? Just "display the data and follow the links"
? Data published on the web of data for e-business
? Accurate description of the range, that can be explored by crawlers
? just a matter of following links.
? Configuration URI: a global identifier for Partially Defined Products
24. LDOW 2013
Configuration URI: a global identifier for Partially Defined Products
? A Configuration
? = a "Partially Defined Product"
? a commercial offer
? has a "from price"
? can be described using GoodRelations
? a customer¡¯s wish list (constrained by the definition of the range)
? BTW: an important thing, in a marketing point of view!
Conf URI
25. LDOW 2013
Aggregation of data from different publishers
? Range comparators, market places, etc.
? Companies will publish data using their own terms (URIs of specifications)
? many specifications are unique to a company
? and needs to be described, and therefore identified
? the ultimate goal of the configuration process is an order, defined in the
manufacturing company's terms
? no additional cost
? precision is lost when mapping to other vocabularies
? my:GorgeousPanoramicSunroof is more than a dbpedia:Sunroof
? Mapping required
? Use dbpedia URIs? Hmm...
? Reference thesaurus of specifications
? some shared way to say "diesel" or "CO2 emission level"
26. LDOW 2013
Reference thesaurus of Specifications
? There's none
? Some vocabularies attempt to describe cars
? but do not support Partially Defined Products (PDP)
? A PDP is not a completely defined one with some properties left undocumented!
? VSO ("Vehicle Sales Ontology")
? provides some terms, but uses a pattern than doesn't work for PDP:
? vso:fuelType rdfs:range vso:FuelTypeValue.
? foo:ACar vso:fuelType dbpedia:Diesel.
? No room left for the kind of the relation between the configuration and the specification (possible,
implied, etc)
? Should be enough to state once for all that: dbpedia:Diesel a vso:FuelTypeValue.
? Shift from vocabularies describing products to vocabularies defining classes
of Specifications
? hierarchies of terms, etc.
27. LDOW 2013
Conclusion
? Ranges of customizable products can be described as Linked Data
? URIs for Partially Defined Products
? A generic ontology
? Renault publishes data about its range
? 10^20 cars (and more configurations) fully described in RDF
? http://{uk,br,fr,de,es,it}.co.rplug.renault.com/docs#this
(set ACCEPT HTTP Header to application/rdf+xml or to text/turtle)
? quick start guide (and a javascript configurator based on this data):
http://purl.org/configurationontology/quickstart
? Agents can crawl and use these data
? a challenge for Search Engines (10^20 is huge!)
? A reference thesaurus of classes of specifications would be helpful for
Range comparators
29. LDOW 2013
Compiled Range
Range description
(source data)
Compilation
(offline)
Configuration
Engine
Configurator
web app
HTTP
Range as Linked Data
(generated on the fly)
Jersey REST service
Crawler Agent
30. LDOW 2013
Indexing configurations
? Accurate description of the range, that can be explored by crawlers
? just a matter of following links.
? But 10^20 is huge!
? Partial indexing
? Based on the specifications
? Beware to the semantics of the properties!
? spec1 and spec2 can both be compatible with a given configuration, but not (spec1 and spec2) -
? only way to know: query the configuration service
? Choose the indexing strategy
? some specifications have more value than others
? Sitemap
? which configurations should be included to get the most of it from a marketing
point of view?