Interface | Description |
---|---|
EventDAO |
Basic interface for accessing events.
|
ItemDAO |
DAO for items.
|
ItemEventDAO |
DAO to retrieve events by item.
|
ItemNameDAO |
A DAO interface that provides access to item names.
|
UserDAO |
DAO for users.
|
UserEventDAO |
DAO to retrieve events by user.
|
Class | Description |
---|---|
DelimitedTextRatingCursor | Deprecated
Use the code in
org.grouplens.lenskit.data.text . |
EventCollectionDAO |
Data source backed by a collection of events.
|
ItemListItemDAO |
An item DAO that stores a precomputed list of items.
|
MapItemNameDAO |
An item name DAO backed by a map of item IDs to names.
|
PrefetchingItemDAO |
Item DAO that streams the events to get item information.
|
PrefetchingItemEventDAO |
Item event DAO that pre-loads all events from an event DAO.
|
PrefetchingUserDAO |
User DAO that streams the events to get user information.
|
PrefetchingUserEventDAO |
User event DAO that pre-loads all events from an event DAO.
|
SimpleFileItemDAOProvider | Deprecated
Use
SimpleFileItemDAOProvider instead. |
SimpleFileRatingDAO | Deprecated
Use
TextEventDAO instead. |
SimpleFileUserDAOProvider | Deprecated
Use
SimpleFileUserDAOProvider instead. |
UserListUserDAO |
A user DAO that stores a precomputed list of users.
|
Enum | Description |
---|---|
SortOrder |
Exception | Description |
---|---|
DataAccessException |
An error occurred during data access.
|
Annotation Type | Description |
---|---|
FieldSeparator |
Field separator for delimited text files.
|
ItemFile | Deprecated
Use
org.grouplens.lenskit.data.text instead. |
RatingFile |
Rating file for
SimpleFileRatingDAO . |
UserFile | Deprecated
Use
org.grouplens.lenskit.data.text instead. |
LensKit uses Data Access Objects to obtain access to rating data. These objects allow LensKit to query for users, items, ratings, etc.
Many DAO operations are expected to be fast, usually with appropriate caching. It is typical
for DAOs to be instantiated once per Recommender
(and therefore
once per request in a web environment), and to cache aggressively in instance variables. More
sophisticated implementations using shared caches or services such as Memcache are certainly
feasible.
The streaming DAO implementations build up a cache once per instance. They aren't really suitable for anything besides recommender evaluation, typically.
The data access objects make no transactional or immutability guarantees, and does not provide mutation. An implementation is, of course, free to provide mutation.