/** * A method that parses a line from the file. * * @param line the line to be parsed * @param dataset the dataset where the information parsed from the line * will be stored into. */ private void parseLine(final String line, final TemporalDataModelIF<Long, Long> dataset) { String[] toks; if (line.contains("::")) { toks = line.split("::"); } else { toks = line.split("\t"); } // user long userId = Long.parseLong(toks[USER_TOK]); // item long itemId = Long.parseLong(toks[ITEM_TOK]); // timestamp long timestamp = Long.parseLong(toks[TIME_TOK]); // preference double preference = Double.parseDouble(toks[RATING_TOK]); ////// // update information ////// dataset.addPreference(userId, itemId, preference); dataset.addTimestamp(userId, itemId, timestamp); } }
dataset.addTimestamp(userId, itemId, timestamp);
dataset.addTimestamp(userId, itemId, timestamp);
datamodel.addTimestamp(user, item, t); datamodel.addTimestamp(user, item, t);
datamodel.addTimestamp(user, item, t); datamodel.addTimestamp(user, item, time); datamodel.addTimestamp(user, item, t); datamodel.addPreference(user, item, pref); datamodel.addTimestamp(user, item, t);
datamodel.addTimestamp(user, item, time); datamodel.addPreference(user, item, pref); datamodel.addTimestamp(user, item, time); datamodel.addTimestamp(user, item, t); datamodel.addPreference(user, item, pref); datamodel.addTimestamp(user, item, t);
/** * {@inheritDoc} */ @Override public TemporalDataModelIF<Long, Long> parseTemporalData(final File f) throws IOException { TemporalDataModelIF<Long, Long> dataset = DataModelFactory.getDefaultTemporalModel(); Reader in = new InputStreamReader(new FileInputStream(f), "UTF-8"); Iterable<CSVRecord> records; if (isHasHeader()) { records = CSVFormat.EXCEL.withDelimiter(getDelimiter()).withHeader().parse(in); } else { records = CSVFormat.EXCEL.withDelimiter(getDelimiter()).parse(in); } for (CSVRecord record : records) { long userID = Long.parseLong(record.get(getUserTok())); long itemID = Long.parseLong(record.get(getItemTok())); long timestamp = -1L; if (getTimeTok() != -1) { timestamp = Long.parseLong(record.get(getTimeTok())); } double preference = Double.parseDouble(record.get(getPrefTok())); dataset.addPreference(userID, itemID, preference); dataset.addTimestamp(userID, itemID, timestamp); } in.close(); return dataset; }