From BC$ MobileTV Wiki
Jump to: navigation, search
OpenRecommender logo (not an official part of the DataPortability family, YET)

OpenRecommender is a project to create the world's leading open source Recommendation Engine, based on a combination of all the best known techniques for creating Recommender Systems. OpenRecommender is designed to be open, transparent and free for all to use, and builds upon a number of existing open source technologies and specifications.


OpenRecommender philosophy

There are a few criteria for OpenRecommender recommendations:

  1. The data has a descriptive title <title>
  2. The data has a thumbnail to preview, or at least a site logo <image>
  3. The data can be viewed (image/video), listened to (audio), or read (text) in full on the open web* <link>
  4. The data has an (optional) textual, informational description <description> and many metadata extensions which support the Data Portability family of specifications
  5. The user should be in full control of the types of data collected/recommended (i.e. which categories and formats), access rights to that data (i.e. who can access the data and what they can do with it), geolocation/temporal storage (i.e. "local servers only not cloud", "Rackspace ok but not Amazon-AWS, Google-AppEngine or Microsoft-Azure", "P2P-only, no centralized server at all", "data must not enter the US at rest or in-transit", "must be stored on PCI-compliant servers at all times", etc) and transit settings of the data (i.e. HTTP(S)-only, FTP, Email, SMS, Notifications, etc)


Some characteristics of a cross-domain (domain as in: discipline/topic area, not as in XSS) Open Source Recommendation Engine:

  • Partially Observable
  • Hidden Markov models
  • Stochastic = process + randomness


The timeline for this project is based on the limited amount of time that can be devoted by the project's initial creators. However, since the project is open for contribution from all individuals, the timeline could be greatly accelerated by mass collaboration.


The basic XML Schema, DTD, WSDL, XML, XSL and XSLT for the project were released on Monday, July 14th, 2008; while the first ontology in the OpenRecommender data model will be released January 31st, 2009 as a first draft and RFC.

Future improvements are expected to be made to the underlying architecture, as well as optimizations in speed, efficiency and completeness of the recommendations. While the initial focus is on multimedia content of particular relevance to the MobileTV domain, the project is designed for scalability from the beginning, in order to branch out to a great many other disciplines and areas of interest.


The project is considered open-ended, and as such has no expected end time. The goal is to grow the knowledge, sophistication and resistance to manipulation of the Recommendation Engine over time. In practical terms though, the end date will be the culmination of the project with the release of SkipSearch, a user-centric, web-based, mobile-friendly view of the Recommendations provided by OpenRecommender (and as such, a living, breathing, constantly evolving demo of the technology, the first Intelligent Agent if you like, powered by OpenRecommender and its associated software stack).

The estimated release date of SkipSearch is December 12, 2012.


The fundamental technologies going into the core of the recommender are RDF, OWL and SPARQL, while knowledge of these technologies is not required by the end-user, as results from the recommender can also be exchanged over a SOAP messaging interface, following a basic XML syntax.

The project will also include a library for querying and manipulating the data, in a number of different languages, including Java, PHP, Python, Ruby, C# and others.


Over time, the OpenRecommender project will come to encompass a very large number of domains. In order to deal with the growing number of areas to which recommendations will be applied, a scalable approach to integrating existing ontologies will be taken. To do this, the Recommendation Engine must be capable of parsing an OWL file (as n3, RDF or XML), then building a model for the domain area, and using that in identifying, representing and filtering the web of data for recommendation items.


The MobileTV ontology is the first ontology in the OpenRecommender database. As such, it represents the core learning area for the training and improving the recommender.

MobileTV was chosen because it is an extremely popular area of research of late, and because it represents a world-wide problem that is non life-threatening, namely, what to watch at a given point in time.


A large number of music discovery services exist, many of which propose themselves as the ultimate music recommender. However, none of these (to this contributor's knowledge) are backed by a fully Semantic Web solution utilizing an ontology to understand the nature of a particular piece of music and recommend based on its musical composition as opposed to user-generated ratings or collaborative filters on artists that users have considered to be "similar".


The Nutrition recommender is set to be developed in partnership with LifeWatcher Japan[1]



Somelier was the name of the original W3C prototype for a Semantic Wine label recommender.




External Links


  1. LifeWatcher:

See Also

Recommendation Engine | Search Engine | Recommender Systems | Data Portability