Ravensburg Commerce Data on the Semantic Web: Information for Developers and Researchers

Overview

Ravensburg is a town in the southern part of Germany with almost 1,000 years of history as a center of trade and business. In the Middle Ages, it was an Imperial Free City and its "Great Ravensburg Trading Society" (Große Ravensburger Handelsgesellschaft) owned shops and trading companies all over Europe (cf. Wikipedia).

On April 14, 2011, Ravensburg became the first city in the world to publish an almost complete set of high-quality information about shops, tourist attractions, medical services, and many other points of interest using latest generation Semantic Web technology, namely the GoodRelations vocabulary for e-commerce, which was also invented in Ravensburg. The Semantic Web, also known as the “Web 3.0”, is an extension of the current World Wide Web and will allow computers and smartphones to extract and recombine information from Web pages for much more intelligent on-line services.

Relevance

Of all businesses, restaurants, and other points of interest in the historic city center, close to 99 % are currently included in the public dataset. A major share of the points of interest data includes opening hours information, based on the GoodRelations standard, a common computer language for exposing business information, which is being used by companies like Google, Yahoo, Bestbuy, Overstock.com, and many others.

While GoodRelations is popular around the world, the Ravensburg data is unique in several ways:

The Ravensburg Data Set

The Ravensburg data set consists of ca. 700 individual RDF/XML documents, derived from several internal data sources, plus a small „utility“ vocabulary that defines additional properties for Ravensburg-specific information.

Sitemap

All RDF/XML resources are listed in the following sitemap:
wifo-ravensburg.de/rdf/sitemap.xml

Vocabulary Extension

The vocabulary extension is available from
wifo-ravensburg.de/rdf/semanticweb.rdf

Currently, the vocabulary is available in RDF/XML only. An HTML description may be added later. However, the vocabulary defines just five properties for Ravensburg-specific information:

Namespace prefix:

@prefix rv: <http://wifo-ravensburg.de/semanticweb.rdf#>


rv:rv_macht_sinn

(owl:DatatypeProperty )
rdfs:label rv_macht_sinn (0..1)
rdfs:label Indicates whether the store participates in the “Ravensburg macht Sinn” activity
rdfs:domain gr:LocationOfSalesOrServiceProvisioning
rdfs:range xsd:boolean

rv:rv_geschenkgutschein

(owl:DatatypeProperty)
rdfs:label rv_geschenkgutschein (0..1)
rdfs:comment Indicates whether the store accepts Ravensburg gift cards.
rdfs:domain gr:LocationOfSalesOrServiceProvisioning
rdfs:range xsd:boolean

rv:kategorie

(owl:DatatypeProperty)
rdfs:label kategorie (0..1)
rdfs:comment Main category label for the store
rdfs:domain gr:LocationOfSalesOrServiceProvisioning
rdfs:range rdfs:Literal

rv:subkategorie

(owl:DatatypeProperty)
rdfs:label subkategorie (0..1)
rdfs:comment Subcategory label for the store
rdfs:domain gr:LocationOfSalesOrServiceProvisioning
rdfs:range rdfs:Literal

rv:wifo_member

(owl:DatatypeProperty)
rdfs:label wifo_member (0..1)
rdfs:comment Indicates whether the store is a member of the Wirtschaftsforum Ravensburg
rdfs:domain gr:LocationOfSalesOrServiceProvisioning
rdfs:range xsd:boolean

Query Examples

If you load the dataset into a SPARQL endpoint, you can try the following queries. For more information on the SPARQL Query Language, see www.w3.org/TR/rdf-sparql-query/. For more examples on GoodRelations, see http://purl.org/goodrelations/.

Query 1:

# List tabular opening hours data for a store

SELECT ?dayname, ?o, ?c
WHERE {
 gr:hasOpeningHoursSpecification ?s .
	{ SELECT ?day, ?dayname 
	  FROM  
	  WHERE { ?day a gr:DayOfWeek. 
			  ?day rdfs:label ?dayname }
	}
?s gr:hasOpeningHoursDayOfWeek ?day .
?s gr:opens ?o .
?s gr:closes ?c .
}
ORDER BY (?dayname) (?o)
Query 2:

# Street names of stores in Ravensburg that accept RV gift vouchers
# and that are open on Saturdays between 14:00 p.m. and 16:00 p.m.

PREFIX rv:  
PREFIX vcard: 

SELECT DISTINCT (?street)
WHERE { 
		{ SELECT bif:regexp_substr("[^0-9]*", ?street,0) as ?street 
			WHERE {
			       ?b a gr:LocationOfSalesOrServiceProvisioning .
			       ?b vcard:adr ?adr .
			       ?adr vcard:street-address ?street .
			       ?b rv:rv_geschenkgutschein "true"^^xsd:boolean .
			       ?b gr:hasOpeningHoursSpecification ?s .
			       ?s gr:opens ?o .
			       ?s gr:closes ?c .
			       ?s gr:hasOpeningHoursDayOfWeek gr:Saturday .
			         FILTER (?o <= "14:00:00+02:00"^^xsd:time)
			         FILTER (?c >=  "16:00:00+02:00"^^xsd:time)
					}
		} 
}
ORDER BY (?street)

SPARQL Endpoint

There is currently no public SPARQL endpoint operated as part of the project, but you can expect several public endpoints to hold relatively current versions of the dataset, e.g.

http://linkedopencommerce.com/sparql

http://uriburner.com/sparql

http://lod.openlinksw.com/sparql

If you need a dedicated SPARQL endpoint for your own application, you can e.g. install the Virtuoso triplestore in the Amazon Elastic Cloud, or install any of the many available RDF repositories on a dedicated server, and load the RDF resources listed in the sitemap at www.wifo-ravensburg.de/rdf/sitemap.xml.

The Ravensburg App

In order to demonstrate the use of the Ravensburg dataset, we also developed a Web-based smartphone application for Apple iPhone and Android devices. The application is available from

www.lieber-ravensburg.de

For a user, the application provides similar functionality as other mobile applications, except for the comprehensive opening hours data. Inside, however, the application does not use a proprietary data “silo”, but crawls a multiplicity of RDF resources in RDF/XML or RDFa syntax and collates them within a SPARQL endpoint, based on the Virtuoso triplestore. Thus, the app can be easily extended by additional RDF resources.

The Ravensburg App was developed in PHP and Javascript by Philipp Feucht from at data Software GmbH, based on the Sencha Touch framework and the GR4PHP API. The screendesign was created by Don Ailinger from die-welfenburg.de. The crawling component was written in Python by Martin Hepp, based on RDFlib.

Community

The best forums for questions and suggestions related to this dataset are the following mailing lists:

GoodRelations Mailing List

Info: http://ebusiness-unibw.org/cgi-bin/mailman/listinfo/goodrelations

Address: goodrelations@ebusiness-unibw.org (posting requires subscription)

W3C Semantic Web Mailing List

Info: http://lists.w3.org/Archives/Public/semantic-web/

W3C Linked Open Data Mailing List

Info: http://lists.w3.org/Archives/Public/public-lod/

Note 1: Please post in English only!
Note 2: All mailing lists maintain PUBLIC archives, i.e., your post will be read by many people and it will be permanently available to the general public. If that is not your taste, please ask a friend in private.

Additional Materials

The following links provide additional information.

About Ravensburg

  • Official Web page: http://www.ravensburg.de/

  • Wikipedia entry: http://en.wikipedia.org/wiki/Ravensburg

  • WIFO Ravensburg: http://www.wifo-ravensburg.de/

  • About GoodRelations and the Semantic Web

  • Project Main Page: http://purl.org/goodrelations/

  • Quickstart Guide for Developers: http://bit.ly/quickstart4gr

  • Vocabulary Reference: http://purl.org/goodrelations/v1

  • Developer's Wiki: http://www.ebusiness-unibw.org/wiki/GoodRelations

  • Examples: http://bit.ly/cookbook4gr

  • Presentations: http://bit.ly/grtalks

  • Videos: http://bit.ly/grvideos

  • Consortium

    The project was initiated and implemented by the following companies:

    die-welfenburg.de, Ravensburg

    Role: Project management, screendesign, data collection and cleansing
    Staff: Daniel Köpf and Don Ailinger
    www.die-welfenburg.de/

    at data Software GmbH, Aulendorf

    Role: App development and endpoint configuration
    Staff: Philipp Feucht, Christoph Szokolai, David Heine, Manuel Koch, Alex Tscherwonnych
    www.atdata.de

    Hepp Research GmbH, Ravensburg

    Role: Scientific lead, Data modeling, Crawling component, Geocoding, Data quality heuristics
    Staff: Martin Hepp
    www.heppresearch.com

    Contributors and Acknowledgments

    We would like to thank the following indivduals and organizations for their contributions to the project:

  • Wirtschaftforum Pro Ravensburg: Thomas Reischmann, Eugen Müller, and Regina Kirsch

  • Stadt Ravensburg: Dr. Daniel Rapp and Anita Müller

  • Markus Bentele Internet-Dienstleistungen: Markus Bentele

  • WSP Computer: Wolfgang Sperling

  • Duale Hochschule Baden-Württemberg (DHBW): Prof. Dr. Michael Bächle

  • Stalsoft: Alex Stolz

  • OpenLink Software: Kingsley Idehen

  • Special thanks go to Daniel Köpf and Regina Kirsch for the thorough revision of the original data sources.


    The project draws upon the following software components:

  • Virtuoso Universal Server (Open-Source Edition)

  • Sencha Touch framework for mobile applications

  • GR4PHP PHP library for consuming GoodRelations data

  • Scientific Lead and Developer Contact

    Hepp Research GmbH
    Univ.-Prof. Dr. Martin Hepp
    Karlstraße 8
    D-88212 Ravensburg, Germany

    www.heppresearch.comWeb:

    contact@heppresearch.comeMail:

    twitter.com/heppresearchTwitter:

    heppresearchSkype: