Warning: This tool or project is no longer maintained and kept available only for archival purposes. Since GoodRelations and schema.org have evolved significantly in the past years, the current status available on this page is unlikely to function as expected. We take no responsibility for any damage caused by the use of this outdated work, to the extent legally possible.

Due to a lack of resources, we are unable to provide support for this project outside of consulting projects or sponsored research. Please contact us if you can contribute resources to update and enhance these resources.

GoodRelations - The Web Vocabulary for E-Commerce

This is the archive of the goodrelations dicussion list

GoodRelations is a standardized vocabulary for product, price, and company data that can (1) be embedded into existing static and dynamic Web pages and that (2) can be processed by other computers. This increases the visibility of your products and services in the latest generation of search engines, recommender systems, and other novel applications.

[goodrelations] foaf:page vs. foaf:topic

Martin Hepp (UniBW) martin.hepp at ebusiness-unibw.org
Sat Feb 13 13:02:56 CET 2010

Dear all:

In the context of the GoodRelations ontology, there is a regular need to 

1. a data entity (e.g. representing a company, a product, or an offer)


2. the URI of a XHTML/HTML Web Resource that contains human-readable 
information about that entity (often combining the info for multiple 
such entities, i.e. it is NOT a direct representation of the data entity).

Example: We define Microsoft as a business entity in our own namespace 
and want to preserve a link to the established, browsable resource.

foo:microsoft a gr:BusinessEntity;
                        gr:legalName "Microsoft Corp.".

Up to now, we generally use and recommend rdfs:seeAlso for the link from 
the data entity to the Web page URI, e.g.

foo:microsoft a gr:BusinessEntity;
                        gr:legalName "Microsoft Corp.";
                         rdfs:seeAlso <http://www.microsoft.com/>.

Note that we cannot simply do content negotiation (i.e. redirect http 
requests for html to http://www.microsoft.com), because of practical and 
theoretical reasons. Also, content negotiation is IMO no substitute for 
a traversable link from the data node to the HTML node in the graph of 

The initial motivation for rdfs:seeAlso was that it does not require 
importing a second ontology like FOAF, and I would also hold that using 
rdfs:seeAlso is, in principle, correct.

However, due to the growing amount of links on the Web of Linked Data, 
rdfs:seeAlso is now being used so frequently that it has become too 
unspecific for our purpose.
If there are 20+ rdfs:seeAlso links from an entity,  e.g. to images and 
other resources, it's hard for a user agent to spot the single one link 
that points to the Web page, e.g. for actually buying a product.

Now, the two main candidate predicates for replacing rdfs:seeAlso are IMHO

1. foaf:topic
2. foaf:page.

I have seen many usages of foaf:topic in such scenarios, but from 
reading the FOAF spec, I think that foaf:page is much more appropriate.

Proposed Pattern:

foo:microsoft a gr:BusinessEntity;
                        gr:legalName "Microsoft Corp.";
                        foaf:page <http://www.microsoft.com/>.

foaf:topic could be used for linking back from the Web page URI to the 
data entity URI, e.g.

<http://www.microsoft.com/> foaf:topic foo:microsoft.

What's your opinion on that? Will that work with your software 
applications? Or should we use foaf:topic instead? If so, in which 

Alternative 1:

foo:microsoft a gr:BusinessEntity;
                        gr:legalName "Microsoft Corp.".

<http://www.microsoft.com/> foaf:topic foo:microsoft.

Alternative 2:

foo:microsoft a gr:BusinessEntity;
                        gr:legalName "Microsoft Corp.";
                        foaf:topic <http://www.microsoft.com/>.

I personally think that the second alternative is wrong, because the 
data entity does not describe the Web page, but vice versa.

Since this decision will be important for compatibility with SemWeb / 
Linkedata applications, I would be very thankful for your comments.

Best wishes

Martin Hepp


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

e-mail:  hepp at 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 page:

Resources for developers:

Overview - http://www.heppnetz.de/projects/goodrelations/webcast/
How-to   - http://vimeo.com/7583816

Recipe for Yahoo SearchMonkey:

Talk at the Semantic Technology Conference 2009: 
"Semantic Web-based E-Commerce: The GoodRelations Ontology"

Overview article on Semantic Universe:

Tutorial materials:
ISWC 2009 Tutorial: The Web of Data for E-Commerce in Brief: A Hands-on Introduction to the GoodRelations Ontology, RDFa, and Yahoo! SearchMonkey 

More information about the goodrelations mailing list