Israel Herraiz, en un comentario en G+, nos solicitó un volcado de la base de datos para hacer análisis de votos para detectar spam. Ya hicimos lo mismo para varias universidades y centros de investigación que nos lo solicitaron, pero es un proceso laborioso ya que tenemos que asegurarnos que no se envía ningún dato personal (lo que significa tenemos que construir el SQL para obtener sólo los datos anónimizados que nos solicitan).

Para facilitar el trabajo a todo el mundo, agregamos una funcionalidad que permite obtener el volcado de la tabla en formato texto para que sean fácilmente analizados por un programa. Para ello sólo hay que agregar /votes_raw al URL de la noticia, por ejemplo:  publica-password-descifra-todos-cables-wikileaks/votes_raw. Estos datos son muy similares a los que ya se obtienen en la pestaña «votos».

Los campos que devuelve son:

  1. Fecha y hora en formato ISO 8601
  2. Valor del voto (los negativos cuentan como el karma del usuario, pero el número indica tipo de voto: irrelevante, duplicada, etc.)
  3. Nombre de usuario (vacío si es anónimo)
  4. Karma actual del usuario (0.0 si es anónimo)

Los datos son un volcado sin modificar de lo que hay en la tabla «votes». El voto negativo es igual que el positivo, pero cuando es negativo se almacena el código del voto como se indica antes. Su valor real es aproximado al valor del karma (como en el positivo) pero en negativo. Puede haber variaciones, ya que a posteriori se hacen otros cálculos, o que el karma del usuario puede haberse modificado por el recálculo diario (el segundo campo siempre es al momento de votar). El karma (cuarto campo) que sale en el listado es el actual del usuario, no el que tenía cuando se votó (pero si la noticia no está publicada, el valor que se usa es siempre el karma actual del usuario).

Para obtener un listado de los URLs de la noticias se pueden usar los RSS (publicadas, pendientes), o el sitemap si interesa el listado sólo de las publicadas.