User Preferences in the Web of Data

Paper Title: 
User Preferences in the Web of Data
Luis Polo, Iván Mínguez, Diego Berrueta, Carlos Ruiz, José Manuel Gómez
This article introduces a domain- and application-independent language for representing preferences as part of user profiles. It also describes the translation of statements of this language to RDF datasets using a new ontology named Framework for Ratings and Preferences (FRAP). The availability of this language and its RDF representation enable the effective exchange of user preferences across different applications in the web environment. The practical usage and limitations of this approach are also discussed in the article.
Full PDF Version: 
Submission type: 
Ontology Description
Responsible editor: 
Guest Editors

Submission in response to

This is a revised submission, now accepted, following an accept with minor revisions, which followed an "accept with major revisions." The reviews for the second round are below, followed by the reviews for the first round.

Solicited review by Ricardo Kawase:

I am pleased to see that the authors put some effort to improve the related work and also provided clearer examples.

The typo "Intensionally" still remains in the paper.

Solicited review by Fabian Abel:

General remarks:

The authors considered the remarks by the reviewers and made a couple of small changes. Overall, the the article (type = "ontology description") improved. Two remarks that do not directly concern the article but the work in general:

- Why is the ontology actually called RECommendation Ontology? Would Preference Ontology be a better name? (also because there exists already a Recommendation Ontology)

- The ontology is currently available at while the namespace of RECO is It would be great if the ontology would be published according to the principles of Linked Data, e.g. an application should be able to retrieve the RDF description of via

- "translation of this language to RDF datasets using a new ontology named RECO" -> this is not 100% accurate, i.e. the language is not transformed to RDF datasets, but the statements that are expressed using the language; please re-phrase

1. Introduction
- "…, provided that" -> "…, given that"
- "The RDF syntax of the language increases its potential," -> maybe: The RDF representation of the language increases the interoperability and reusability,
- "as well as domain objects currently described as Linked Data (e.g. in LinkedMDB1 or DBPedia2)" -> maybe: "as well as domain objects that are available in the Linked Data Open Data cloud (e.g. in LinkedMDB or DBPedia)"
- "(e.g., when or where a preference was first identified or applies)." -> (e.g., when or where a preference was first identified or applied). (? -> not sure what is actually meant with "applied")
- "its translation to RDF datasets " -> phrasing, see comment above
- "Section 4 explains how preferences are connected to user profiles, extending FOAF personal documents." -> "Section 4 explains how preferences are connected to user profiles and how they can be embedded in FOAF profile documents."

2. Related Work
- "such as Philosophy, Economics " -> "such as philosophy, economics "
- "social-aware websites" -> ? maybe: social media sites
- "user modal attributes" -> "modal user attributes"?
- "multiattribute utility theory" -> multi-attribute utility theory
- "some kind of recommender systems" -> "some types of recommender systems"
- "there is a significative difference in the approach." -> there is a significative difference between the approaches.
- "and it is important to generate the optimal plan" -> and in situations where it is important to generate an optimal plan.
- "user's preferences" -> "users' preferences"
- "- "For instance, these vocab- ulary lack" -> …vocabularies lack
- "For instance, these vocab- ulary lack the expressiveness to represent preferences such as "I like Woody Allen movies shot in European cities"." -> this is not correct; maybe simply add "…easily represent…"
- "Other ontologies, focused on the field of ambient" -> "Other ontologies, which focus on ambient"
- "Moreover, contrary to the ontologies that have been enumerated above, the current proposal is domain-independent. " -> that's not correct, some of the above ontologies are also domain-independent
- "to activities or situa- tions" -> what is meant with "situations" in this context?
- "In the state of the art, there is also.." -> maybe: Note that in the landscape of ontologies there exists also the Recommendation ontology which is also entitled RECO. However, the recommendation ontology and the RECO ontology that we propose in this article are completely diverge in their purpose and aim.

3. Language for Preferences
- "The chief contributions " -> The main contributions
- where U is non-empty set -> where U is a non-empty set
- u is indifferent between p_i and p_j -> do you really mean "indifferent" (= detached, unremarkable,…)? Or: u is different from…?

- RDF is used as a convenient interchange syntax -> RDF/XML would define a syntax, but RDF itself refers to the data model, maybe: RDF is used as a convenient interchange format
- the utility function, which is a ternary relation ⟨u,i,r⟩, -> the actual utility function is not a statement, but the output of the utility function is captured by the tuple, right?
- Fig. 1: to which schema is "op" referring to?
- Fig. 1: why does the rating has no URI? It should probably have a URI otherwise it would be difficult to refer to that rating (e.g. how would a SPARQL update query now look like if one would want to update the rating?)

4. Preferences in the Web of Data
- "profiles, such as FOAF. The classes foaf:Person and foaf:Group define individuals and collectives, and can be considered subclasses of RECO users." -> too vague: why is it not the other way around? And where is the super-/subclass-relationship explicitly stated?
- "social networks silos" -> social network silos
- Fig. 2: _:p1 refers to the snippet in Figure 1, right? Where are preferences stored - in the FOAF profile document of a person (probably this can be handled differently, but it is worth 1-2 sentences to mention the options)?

5. Preferences and Recommendations
- Fig. 3: in which portal was the screenshot taken?
- Fig. 4: How is "0.8" computed? Where does the ex:price of 100 come from? (it is not obvious how this can be extracted from the form shown in Fig. 3)
- "such item i in I that " -> an item i in I that
- " collaborative filtering systems are based on the concept of "preference as a rating"" -> collaborative recommender systems are not necessarily related to ratings
- Table 3 rates -> In Table 3, Alice has rated…
- rating matrix is also oft called user-item matrix
- "items to be recommended, and compare" -> items to be recommended and compare
- kind of statements -> kinds of statements
- of the language defined above -> of our preference language
- "The language proposed in this article can be trans- lated to the specific language of some recommenda- tion systems." -> not clear what is meant by this translation - should it say that the RECO ontology can be applied for various recommender systems?

6. Conclusions and Future Work
- of people thoughts -> of people's thoughts
- maybe it would be good to mention the term "conflict resolution" explicitly in the last paragraph

First round reviews:

Solicited review by Knud Möller:

This short paper proposes a new language and mathematical notation for modelling user preferences. In addition to this language, the authors also define an RDF vocabulary (RECO) to express preferences in this language on the Web of Data. As a main contribution the authors point out that their language, and as a result the RECO vocabulary, is domain- and application-independent, while similar languages focus on a particular domain, or are tied to a particular application. Being an RDF vocabulary, RECO can be used in combination with an arbitrary domain vocabulary to make it work for any desired domain. Preferences are meant to be attached to personal profiles, such as FOAF profiles.

The authors give a good overview of related work, illustrating the different understandings of preferences that exist (e.g. ratings and constraints). There is a statement about the RDF Review Ontology which I disagree with, though: "this vocabulary lacks the expressiveness to represent preferences about categories, e.g., 'I like Clint Eastwood movies'" - why would you say that? Can you not define the class of Clint Eastwood movies and then simply give it a rating? Please elaborate.

The proposed language itself is based on first order logic, and allows to express both ratings such as 'likes(Alice, Pink Floyd) = 0.9' and constraints, such as '(Album(x) AND Author(X, Pink Floyd) AND Released(x, < 1980))' (="Pink Floyd's early albums"), as well as combinations of those. The authors acknowledge that their language does not allow for exclusive statements ("Alice likes only Pink Floyd") - however, I assume the requirement for such a feature would be quite rare.

After defining their preference language in logical terms, the authors how such preferences would be expressed in the RECO vocabulary, using the same example throughout the paper. Finally, the use of RECO preferences in recommender systems is briefly discussed as an example of how the vocabulary can be used in practice.

The paper does not contain an evaluation (apart from a general discussion throughout the paper) to show whether and how the proposed preference language and RECO fulfils specific requirements, or what such requirements would be. This is a weak point of the paper. One way to address this could be to outline a number of specific (preferably real-world) application scenarios, flesh out their requirements, and show how RECO fulfils them, while related work doesn't.

One other point I would like to see discussed is how the authors think RECO preference data will be generated, in particular the more powerful and complex constraints. Will this happen automatically, through analysis of usage, or will users have to manually formulate such constraints? These questions do not have to be answered exhaustively (it's not the focus of the paper), but they should at least be acknowledged.

In conclusion, I think this is a good proposal for a general purpose preference language, presented in a concise and well-written paper. The points mentioned above should be addressed before this paper is accepted for publication, though.


- in general, I believe it is "on the Web", not "in the web"
- "Web" should be capitalised, as it is a proper noun (denoting a particular, named entity)
- same for the "Web of Data"

p2: s/target applications, the recommendation systems/target applications, recommendation systems
p2: s/Alice prefers A than B/Alice prefers A over B (or "prefers A to B")
p2: s/to PDDL language/to the PDDL language
p2: s/people thoughts/people's thoughts
p2: s/ontology 1/ontology1 (no space between word and footnote)
p4: s/Pink Floyd early albums/Pink Floyd's early albums
p4: s/Neither the problem is solved/Neither is the problem solved
p5: s/Classes foaf:Person and foaf:Group/The classes foaf:Person and foaf:Group
p5: s/do not like too much dark beer/do not like dark beer too much

- some of the titles are capitalised, some are not. Please be consistent!
- why does it say "Citeseer" in [3]?
- in [10]: s/Kieß ling/Kießling
- the clickable URI in [13] is wrong

Solicited review by Ricardo Kawase:

The paper introduces a new domain-independent language to describe users' preferences and a translation of this language to RDF representation. In general the paper is well written as well as relevant to the Journal. The contributions of the work are pretty clear and I would give extra recognition for the authors for making the outcomes available online.

There are, however, few concerns and suggestions that would make the paper stronger.

In my opinion the weakest point of this paper is the related work. The first problem is the structure of this section. The authors enumerate some "related work" that seems to be only a listing of works that deal with preferences, soft-constrains and ontologies. Only in the second last paragraph the authors try to drawn a connection with their own work. I would rather see a directly analysis of lessons learned, good practices and differences, against each of cited work.
Another issue about the related work is that the authors claim: "This article proposes a formal language that reconciliates both notions of preferences, as ratings and as constraints". In this sense, I would expect that the related work would include articles that, somehow, try the same approach of combining different notions in one unified formal language, or works that translate formal languages to RDF. Instead, the author list works that individually deal with preferences as ratings and preferences as constraints.
The use of reference 9 is misleading. Reference 9 should be the actual language at The current reference [9] describes the system "Revyu" that uses the same vocabulary. In addition, the authors state that: "Some efforts have been made to represent user preferences...". However, "The Review" vocabulary's ambition to be a user preference description is nowhere to be found. It's simply a vocabulary for expressing reviews and ratings.

In the end of Section 3.1 the authors expose a limitation of the language (not possible to capture exclusive preferences) and point to Section 5 for a solution on the level of implementation of a recommendation system. Since the language is the main contribution I would expect the authors to make it clearer for the readers the discussion why this limitation occurs and possible solutions.

There are plenty of user data available on the web and what I miss in this paper is a real case scenario with social web applications. Just for the sake of exemplification, would be much more valuable if the authors add examples of how to translate/export an existing, well-known (e.g. Delicious, LastFm, Flicker) user application profile using the proposed language and the RECO ontology.

Last sentence of Section 5 urges for further information.
"For instance, collaborative filters may benefit from knowledge-based approaches to puzzle out the cold start problem.". It is becoming cliché to say: "…our approach can solve the cold-start problem…". I do not negate the merit of the authors for actually providing such means. However, this sentence should come with some additional discussion.

Minor issues:
Add footnote links to mentioned external websites (linkedmdb, dbpedia, amazon, etc…)

Intensionally – intentionally
Futher – further
Reconciliates – reconciles
Since the rest of the paper is written in American English, e.g. "behavior customization", "formalization", etc…, use "neighbor" instead of "neighbours".

Final Remarks:
The related work issue should be a hard constraint for the paper to be accepted.
I couldn't find a published reference to RECO, thus, if not accepted as full paper, with few tweaks, this paper might be considered as "Descriptions of ontologies".

Solicited review by Fabian Abel:

The authors present RECO, a language/ontology for specifying user preferences.

The article is written very well and perfectly fits the topic of the special issue. The main contribution of the article is the formalization of the preference language. Unfortunately, the authors neither evaluate RECO nor compare the ontology with related ontologies such as the Weighted Interest vocabulary. The latter is moreover not cited by the authors even though it seems to be the most closest related ontology. For example, the Weighted Interest vocabulary would allow for context-dependent user preferences (mentioned by the authors as future work). I would be good if the article would identify and discuss limitations of existing user interest/preference ontologies and discuss how RECO solves these limitations (e.g. at the end of Sec. 3.1 there is already a nice list of features with convincing examples - it might be a good idea to integrate here a comparison with the Weighted Interest vocabulary).

I think that the proposed solution does not feature much novelty. User preferences can also be expressed in policy languages. For example, Kaerger et al. (TLT 2008) used policies to personalize search for RDF-based resources by translating preferences into so-called skyline queries. Moreover, preferences can also be specified by means of SPARQL queries. Or/and one could specify preferences by means of a DERI Pipe ( -> in combination with the Weighted Interest vocabulary one then already has a very powerful tool to specify preferences of users (-> i.e. weighted interest into a DERI pipe).

The authors provide an online documentation for their RECO ontology which nicely specifies and explains the ontological concepts. I think it would have been good to embed the ontology into existing vocabulary definitions. For example, could "AssignedBy" be replaced by something like oaf:maker? To some extent, the ontology refers already to other vocabularies (this should be made more clearer in the paper (+ technical documentation at and not just hidden in the OWL specification).

Another concern is that the applicability of the ontology is not sufficiently demonstrated or proven. Section 5 should discuss how RECO can be applied in context of recommender systems. However, Section 5 does not demonstrate how RECO can actually be applied in a collaborative or content-based recommender system, but rather reads like a related work section.

Overall, I think that the article can get accepted as "ontology description" if the following aspects are thoroughly tackled:
- additional explanations about the design principles (e.g. why is it important that users can rate their preferences?)
- comparison with other ontologies on the same topic (-> Weighted Interest Ontology)
- use-case experiments (better illustrating - also by means of examples - how the ontology can be applied)
(cf. submission types:

Weighted Interest Vocabulary: