This wiki has been archived and is now read-only.

Use Case Social Recommendations

From Library Linked Data
Jump to: navigation, search

Back to Use Cases & Case Studies page


Social Recommendations


Uldis Bojārs

Background and Current Practice

Current library catalogues allow users to search library holdings by keywords or catalog field values and to sort search results by some of these fields (e.g., a title and a year). They usually do not offer ranking of search results by relevancy to the user.

User activities (e.g., looking at a book in a catalogue or loaning a book) and social network relations provide information that can be useful for offering users better recommendations. Some of this information (e.g., data on loans and page views) may already be available to library information systems while other kinds of information may become available when adding new types of services (e.g., annotations [1], book lists).

Social recommendations are offered by some online bookstores that may recommend other works based on users' activities (purchases, views, etc.).


Provide users with recommendations or search rankings based on information available about item popularity and user activity.

Use Case Scenario

A) Generic Scenario

1) Application collects social data related to its users and the items in its catalogue (a) as users use the application or (b) acquires this information from other applications.

Kinds of social / activity data:

  • lending, buying, reading
  • page / item views
  • adding to favorites, recommending to others
  • tagging
  • adding reviews / annotations

This information may be available as:

  • aggregate data related to an item (sales, loans, number of favorites)
  • individual data (i.e. users' individual activities) -- provided that data privacy is ensured

Applications may also have access to the social network (graph) information. It may be a part of the application (if the users are allowed to "follow" other users) or may be available from other applications.

2) The application uses this information to rank search results or to provide recommendations.

This functionality can be generic (based only on aggregated item-level data) or personalized (based on individual social data).

In the generic use case the application uses aggregate information (an aggregate of many users' activities associated with items). A user enters a search term and retrieves results ranked by popularity.

  • a generic use case may not provide enough information to offer recommendations (other than the "Top 10" lists according to popularity).

The next use case describes personalized recommendations.

B) Personalized recommendations

1) In addition to aggregate data (described above), the application has access to individual users' social / activity data.

This information can be:

  • collected by the application (as patrons use it)
  • provided by other applications
  • available on the Web

In case the information is provided by another application, a user establishes a connection between the applications and authorizes access to his or her social data (favorites, purchases, social graph). Users are motivated to give access to their preference and activity data because they are rewarded by better, personalized recommendations.

Users may also have this information available on the Web (e.g., users' lists of books they've read, along with their ratings).

2) The applications uses the information provided to:

  • recommend items of interest
  • rank search results

The availability of social data enables the application to do personalized recommendations.

Application of linked data for the given use case

Linked data can be applied:

  • for data portability (for supplying social data to the applications)
  • to represent aggregate information
  • to represent recommendations

[Social] Data portability

RDF data may be used to represent the social data to be supplied to the application:

  • activity data
  • lists (favorites, ...)
  • reviews, annotations
  • social network relations

This information may be published on the Web or transferred between applications. When data is provided by applications, this information may be provided by a centralized [web] application or in a decentralized fashion with users each having their "social data vault".

  • note: from the point of view of the data-consuming application it does not matter if it is the centralized or decentralized approach is used, data is data.

Item-level information

Linked data may be used to represent aggregate information (sales, loads, etc.) associated with items, as well as the information about the items themselves.

By relying on external sources of item-level information, new applications can be created with little effort. Linked data with common data representations supports the integration of multiple data sources, regardless of their location or provenance.

The aggregate information may need to be provided at different levels of granularity (worldwide, country-level, ...). Applications may use aggregate information acquired from multiple sources.

Recommendation data

Outcomes of the social recommendation process -- recommendations or ranked results lists -- may also be represented using linked data. This is similar to how users may provide reading lists (provided the lists may have order and some ranking).

Since recommendations as personal and different users may get different results, it may be useful to be able to access (preserve?) a given set of results / recommendations. This opens up possibilities to share and compare result sets.

Provenance information will be important for results that are personal / user-specific.

Existing Work (optional)

linked data related work:

  • ...

sharing social data:

  • data portability
    • (our work on social web data portability - @REF)
  • activity streams

recommendations engines, data supporting recommendations:

Note: further ideas of what can be added

  • music/movie genome projects
  • Amazon recommendations -- any references?
  • the value / use of user activity (clickstream, etc.) data and personalized results in web search

Related Vocabularies (optional)

Problems and Limitations

linked data related issues:

  • information that can be used for social recommendations needs to be available. this includes:
    • public information on the web (this will mostly be aggregate, item-level info + book lists provided by users)
    • information from other applications -- we need applications that allow users to record and share social / activity data
  • information re book "genomes" (genre, etc.) would be helpful (= is needed) in providing recommendations -- though these recommendations would not be "social" as such
  • provenance information needs to be recorded (when sharing recommendation results)

other issues:

  • need for ranking and recommendation systems, algorithms
  • privacy
    • though orthogonal to the use case (if users provide application w their data, it's their choice) privacy need to be looked at

Related Use Cases and Unanticipated Uses (optional)

Library Linked Data Dimensions / Topics

References (optional)

[1] re annotations see the Social Annotations use case

See also the JISC usecase on Publish activity data

See also work from Dave Pattern for instance this note on methodology