Día 3 y Día 4

El día miércoles pude dedicar poco tiempo al trabajo de tesis, principalmente revisando alguna solución para generar RDF y publicarlos.

El día jueves se dedicó a generar RDF desde los datos parseados de transparencia, el trabajo estuvo acotado a los datos de Dotación (el 80-20 de los datos). Gran parte del esfuerzo fue destinado a clasificar los datos, particionando las tablas según los siguientes criterios:
  • Tipo de dotación (planta, contrata, honorario, otra)
  • Fecha (el año al que corresponden los datos)
El principal problema encontrado fue la cantidad de esquemas distintos que se publican para cada tipo de datos, entendiendo que los headers de las tablas representan el esquema. Para muestra, y luego de normalizar las etiquetas, se encuentran los siguientes 31 esquemas:
  1. contrato|estamento|paterno|materno|nombres|grado|funcion|region|nombreregion|ingreso|ini|fin|obs|
  2. dotacion|estamento|paterno|materno|nombres|grado|funcion|region|ini|fin|obs|
  3. estamento|paterno|materno|nombres|grado|funcion|region|ini|
  4. estamento|paterno|materno|nombres|grado|funcion|region|ini|fin|obs|
  5. estamento|paterno|materno|nombres|grado|funcion|region|ini|fin|obs|estab|
  6. estamento|paterno|materno|nombres|grado|funcion|region|ini|fin|obs|ley afecto|
  7. estamento|paterno|materno|nombres|grado|funcion|region|renta|ini|fin|
  8. estamento|paterno|materno|nombres|grado horas|funcion|region|ini|fin|obs|
  9. estamento|paterno|materno|nombres|obs|grado|region|ini|fin|
  10. estamento|rut|dv|corr|paterno|materno|nombres|obs|grado|region|ini|fin|
  11. n|estamento|paterno|materno|nombres|grado|
  12. n|estamento|paterno|materno|nombres|grado|region|ini|fin|obs|
  13. n|estamento|paterno|materno|nombres|obs|funcion|calificacion|region|ini|fin|estab|
  14. n|estamento|paterno|materno|nombres|obs|grado|region|ini|fin|
  15. n|estamento|paterno|materno|nombres|obs|grado|region|ini|fin|estab|
  16. n|estamento|paterno|materno|nombres|obs|grado|region|ini|fin|n res.|
  17. n|n|estamento|paterno|materno|nombres|obs|grado|region|ini|fin|
  18. n|paterno|materno|nombres|funcion|calificacion|
  19. n|paterno|materno|nombres|funcion|calificacion|grado|region|um|honorario|ini|fin|obs|
  20. n|paterno|materno|nombres|funcion|calificacion|region|ini|fin|
  21. n|paterno|materno|nombres|funcion|calificacion|region||ini|fin|estab|obs|
  22. n|paterno|materno|nombres|obs|funcion|calificacion|region|ini|fin|
  23. n|paterno|materno|nombres|obs|grado|region|ini|fin|
  24. n|planta|estamento|corr|paterno|materno|nombres|grado|region|ini|fin|obs|
  25. n|planta|estamento|corr|paterno|materno|nombres|region|grado|ini|fin|estab|funcion|profesion|obs|
  26. n|planta|estamento|paterno|materno|nombres|region|grado|ini|fin|estab|funcion|profesion|obs|
  27. paterno|materno|nombres|funcion|calificacion|grado|region|um|honorario|ini|fin|obs|
  28. paterno|materno|nombres|funcion|calificacion|region|um|honorario|ini y fin|obs|
  29. paterno|materno|nombres|funcion|grado|region|um|remuneracion|ini|fin|obs|
  30. paterno|materno|nombres|obs|funcion|calificacion|region|ini|fin|
  31. paterno|materno|nombres|obs|funcion|profesion|region|ini|fin|
La buena noticia, es que justamente una de las características de RDF es la flexibilidad en sus esquemas, por lo que sin importar que existan entidades que difieran en cantidad o tipos de atributos, esto no es un problema.

Luego, al tener los esquemas de cada archivo procesado normalizado, la generación de RDF es directa, ver en el update del repositorio los cambios en el código con los script de generación.

Al aplicar sobre 50M de datos tabulados, se generaron 300M de datos en RDF serializados en xml.

Cada "entrada de dotación" se modeló con el siguiente esquema:


Una instancia de dotación, se describe de la siguiente forma con el vocabulario visual:
Lo que viene es dejar todos los datos en un triplestore y presentar por facetas.

Día 2

Ayer fue el segundo día full time en la universidad. El trabajo realizado estuvo centrado en parsear los datos de transparencia para los tres ministerios seleccionados, a recordar: educación, justicia y salud. Previamente se almacenó el resultado de crawlear los sitios de transparencia en cada ministerio.

Ver en el update del repositorio los cambios en el código. Entre los problemas encontrados durante el parser están:
  • El Servicio Médico Legal (SML) tiene los links con javascript, por eso el crawler no trajo datos.
  • De un total de 5466 páginas ( 141 educación, 277 justicia, 5048 salud ) en 47 (aprox. un 1%) existió un fallo del parser por errores de sintaxis en el html, a esas páginas se les aplicó tidy para arreglar los problemas, lo que no resultó para 7 de estos documentos.
  • El ministerio de salud, y sus organizaciones, presenta una copia de sus datos para distintos meses del año 2009 (al menos desde marzo).
  • Existen cambios en los esquemas para el año 2009, en especial afecta a las Transferencias, Compras y Dotación.
Al aplicar el parser (proceso automático, que tomó 3 horas) y particionar los datos (proceso manual, que tomó 2 horas), se obtuvieron los siguientes resultados de interés:

Item Data
Auditoría 0,05%
Vínculo 0,12%
Subsidio 0,28%
Participación 0,35%
Remuneración 0,38%
Tramite 1,07%
Compra 3,51%
Normativa 5,03%
Transferencia 10,59%
Dotación 78,62%

Como se puede observar el 80/20 de los datos corresponde a información de dotación. Analizando el número de dotación crawleadas, con respecto a las que se tiene en el estudio de recursos humanos en el sector publico, vemos que los datos corresponden, al menos en el orden de magnitud.


estudio crawler
educación 12k 5k
justicia 19k 22k
salud 85k 80k

Queda por validar que ocurre con el ministerio de educación, donde solo se encontró la mitad de las personas, quizás falta incluir alguna organización dependiente. El detalle de organismos crawleados es el siguiente:

Ministerio Nombre Alias
Justicia Servicio de Registro Civil e Identificación srcei
Justicia Superintendencia de Quiebras squiebras
Justicia Servicio Medico Legal sml
Justicia Servicio Nacional de Menores sename
Justicia Gendarmería de Chile gendarmeria
Justicia Defensoría Penal Pública dpp
Salud Central de Abastecimiento cenabast
Salud Fondo Nacional de Salud fonasa
Salud Instituto de Salud Pública isp
Salud Servicios de Salud Arica SSARICA
Salud Servicios de Salud Iquique SSIQUIQUE
Salud Servicios de Salud Antofagasta SSANTOFAGASTA
Salud Servicios de Salud Atacama SSATACAMA
Salud Servicios de Salud Coquimbo SSCOQ
Salud Servicios de Salud Aconcagua SSACONCAGUA
Salud Servicios de Salud Viña del Mar Quillota SSVQ
Salud Servicios de Salud Valparaíso San Antonio SSVSA
Salud Servicios de Salud Metropolitano Norte SSMETRONORTE
Salud Servicios de Salud Metropolitano Central SSMC.
Salud Servicios de Salud Metropolitano Oriente S.S.M.O.
Salud Servicios de Salud Metropolitano Sur SSMETROSUR
Salud Servicios de Salud Metropolitano Sur Oriente SSMETROSURORIENTE
Salud Servicios de Salud Metropolitano Occidente SALUD OCCIDENTE
Salud Servicios de Salud Libertador B. O'Higgins SSOHIGGINS
Salud Servicios de Salud del Maule SSMAULE
Salud Servicios de Salud Ñuble SSNUBLE
Salud Servicios de Salud Concepción SSC
Salud Servicios de Salud Arauco SSARAUCO
Salud Servicios de Salud Talcahuano SSTALCAHUANO
Salud Servicios de Salud Bio Bio SSBIOBIO
Salud Servicios de Salud Araucanía Norte SSARAUCANIANORTE
Salud Servicios de Salud Araucanía Sur SASS
Salud Servicios de Salud Valdivia SSVALDIVIA
Salud Servicios de Salud Osorno SSOSORNO
Salud Servicios de Salud del Reloncaví SSDELRELONCAVI
Salud Servicios de Salud Chiloé SSCHILOE
Salud Servicios de Salud Aysén SSAYSEN
Salud Servicios de Salud Magallanes SSMagallanes
Salud Seremi de Salud Región de Arica y Parinacota SEREMI15
Salud Seremi de Salud Región de Tarapacá SEREMI1
Salud Seremi de Salud Región de Antofagasta SEREMI2
Salud Seremi de Salud Región de Atacama SEREMI3
Salud Seremi de Salud Región de Coquimbo SEREMI4
Salud Seremi de Salud Región de Valparaíso SEREMI5
Salud Seremi de Salud Región Metropolitana SEREMI13
Salud Seremi de Salud Región de O'Higgins SEREMI6
Salud Seremi de Salud Región del Maule SEREMI7
Salud Seremi de Salud Región del Bio Bio SEREMI8
Salud Seremi de Salud Región de la Araucanía SEREMI9
Salud Seremi de Salud Región de Los Ríos SEREMI14
Salud Seremi de Salud Región de Los Lagos SEREMI10
Salud Seremi de Salud Región de Aisén SEREMI11
Salud Seremi de Salud Región de Magallanes y Antártica Chilena SEREMI12
Salud Establecimiento Experimental Centro de Referencia de Salud de Maipú CRS MAIPU
Salud Establecimiento Experimental CRS Cordillera Oriente CRSCO
Salud Establecimiento Experimental Hospital Padre Hurtado HPADREHURTADO


Día 1

Ayer fue el primer día de trabajo full time en la universidad. Lo mejor de todo fue trabajar desconectado de la red, realmente fue provechoso. El avance estuvo por el lado del editor rdf, el que permitirá integra las figuras del Vocabulario Visual, con lo que se podrá anotar vocabularios owl con rdf. Ayer quedaron listos las figuras para cada componente, y además se puede agregar propiedades a una clase. Falta administrar el rango-dominio de una propiedad, crear los conectores de tipo herencia y el de individual.

Ver en el update del repositorio los cambios en el código. Para muestra un screenshot de como está quedando el editor.



Vocabulario visual para anotar vocabularios rdf

Se presenta una serie de figuras que permiten describir un vocabulario rdf y sus anotaciones.


La necesidad de este vocabulario visual es la falta de un estándar para los diagramas de vocabularios, en general se tienden a utilizar dos tipos de diagramas:
  1. ovalos, flechas etiquetadas y cajas para documentos rdf
  2. diagrama de clases, al estilo uml, para esquemas rdf y ontologías owl
La solución presentada cumple con el requerimiento de integrar en un mismo diagrama vocabularios en rdfs + owl con anotaciones rdf. Su elaboración se basa en "Un vocabulario visual para describir arquitectura de información y diseńo de interacción" , donde se decriben algunos requerimientos claves que debe tener un vocabulario visual.

Compatible con pizarra blanca: El vocabulario debería ser tan simple que los diagramas puedan ser dibujados rápidamente a mano. Los elementos del vocabulario debieran ser suficientemente distintos entre sí para que un dibujo medianamente malo no comprometa la claridad del diagrama.

Independiente de herramienta: El vocabulario debiera estar diseńado de forma que no requiera de software especializado para construir diagramas. El vocabulario no debiera favorecer el uso de una herramienta particular de software, sino permitir a los arquitectos utilizar las herramientas más cómodas a ellos.

Pequeño y auto-contenido: Porque estos diagramas son usados por una amplia gama de audiencias con diferentes niveles de conocimiento (o incluso interés) en sistemas de diagramas usados en otras áreas de desarrollo técnico, el vocabulario no debiera requerir tal conocimiento o interés. El total de los elementos debe ser mantenido al mínimo posible, manteniendo una estricta relación uno-a-uno entre conceptos y símbolos, para que el vocabulario pueda ser aprendido y aplicado en forma rápida. Los conceptos expresados por el diagrama pueden ser arbitrariamente complejos; el medio de su expresión no debe serlo.
A continuación se tienen algunos ejemplos con el uso de este vocabulario visual.

Ejemplo 1) triples (sujeto, predicado, objeto), arriba: el objeto es un literal, abajo: el objeto es un recurso.
Ejemplo 2) propiedad con anotación. La propiedad title de dublin core con un comentario rdfs.
Ejemplo 3) sección de un vocabulario con anotaciones e instancias.
Queda pendiente incluir las figuras que representen taxonomías en skos.


Historia de cambios
  • 20 de Octubre del 2009: se cambia la figura para un recurso, pasa de un avalo a un rectángulo con esquinas curvas.
  • 18 de Octubre del 2009: primera versión.

Diagramas

Un diagrama es una representación simbólica de información destinado esencialmente a ser visualizado por personas. En "No tengo palabras para decirlo ..." encontramos una descripción de los diagrama y su uso cuando se considera como "lenguaje de modelamiento y herramienta".
Los diagramas son sistemas-sígnicos concebidos por la mente humana para propósitos de imaginación, modelamiento, diseño técnico, comprensión social, comunicación y pensamiento. En tanto sean considerados lenguajes, se pueden emplear para exteriorizar de manera gráfica las intuiciones o percepciones manifestadas en el procesamiento mental de las personas o como parte de las operaciones de distinción. En este caso, se constituyen en lenguajes de modelamiento, con el fin de conocer y construir realidades y, por tanto, herramientas a disposición de los observadores.

Así, como lenguaje de modelamiento permite y ayuda a:

- hablar de aquello 'a mi' y a otros, comunicando información;
- tratar de aquello, especificando, minimizando y/o abstrayendo algo;
- reflexionar sobre aquello, analizando, evaluando, contrastando y pensando sobre ese algo;
- indagar acerca de aquello, descubriendo, explorando y/o analizando las particularidades de las cosas; y/o,
- cambiar aquello, innovando, mejorando, rehaciendo, diseñando lo que se ve, no se ve o se desea alcanzar en aquello.

Mientras, como herramienta de trabajo, tiene usos diversos orientados a ayudar en:

- soportar y transmitir memes (*);
- comunicar información, como una presentación aislada (en una presentación pública o disertación) o como parte de un texto (dentro de un texto de estudio);
- solucionar problemas, como representaciones externas que apoyan a la memoria de trabajo y permiten expresar restricciones de manera relativamente eficiente; y,
- descubrir, generar y/o explorar soluciones alternativas a problemas, potenciando la creatividad.

(*) Un meme es un patrón de información, que se tiene en la memoria de un individuo, el cual es capaz de ser copiado a la memoria de otro individuo (Heylighen, 2000).

data(set|base|source|space)


"Al procesar los datos nace la información,
al hacer un uso correcto se tiene conocimiento
y su aplicación frecuente se convierte en sabiduría."


Data (datos) es una representación simbólica con números, palabras, imágenes, etc. Los datos se aceptan tal como están dados.

Ejemplo: nombre Ernesto, edad 31 años, etc.

Dataset (conjunto de datos) utilizado en el mundo estadístico para indicar una muestra, hoy también se refiere a los datos que están en una hoja de planillas de calculo.

Ejemplo: presión arterial/hora 118-82/18:00, 117-87/18:15, 127-84/18:30, 126-87/18:45, 123-89/19:00, 121-83/19:15, 126-92/19:30, 124-83/19:45, 125-89/20:00.

Database (base de datos) es una colección de registros conectados lógicamente, para un propósito específico. En general se refiere a los sistemas administradores de base de datos (DBMS), los que prestan servicios como: almacenar; indexar; consultar.

Ejemplo: base de datos que mantiene cuentas corrientes, venta de productos, etc.

Datasource (fuente de datos) se refiere a una colección de datos con un modelo y formato común, en particular un base de datos es una fuente de datos, pero estas no se limitan a los base de datos tradicionales, sino que incluyen también a los datos no estructurados como son los textuales o multimediales (imágenes, sonidos, vídeos), datos semi estructurados en modelos jerárquicos como son xml o ldap, y datos estructurados en modelos de grafo como son owl o rdf.

Ejemplo: una carpeta compartida con manuales, un web service para agregar nuevos clientes, documentos rdf que describen personas.

Dataspace (espacio de datos) es una colección de distintas fuentes de datos para un dominio específico, estas fuentes de datos se denominan participantes y son diferentes en esquema y modelo. En un dataspace se modelan relaciones entre uno o mas participantes (por ejemplo: que un participante es una vista o replica de otro; especificar la equivalencia de esquema entre dos participantes). El concepto de dataspace es un trabajo en desarrollo, y al igual que en database, en general se refiere al sistema que lo implementa, que en este caso se denominan plataforma de soporte de espacio de datos (DSSP). Entre los desafíos de investigación en el área de dataspace están algunos que provienen de los servicios de base de datos, como son: almacenar; indexar; consultar, también existen otros desafíos notables, como son: descubrir participantes, reutilizar la interacción humana y garantizar la corrección.

Ejemplo: administrador de información personal (PIM), administrador de datos científicos.

Pasando de una B a siete C

En la primera generación de la web el servicio fundamental era la Búsqueda de recursos basándose en patrones, materia que ha sido de amplio estudio por la disciplina de recuperación de la información, una implementación de referencia para este tipo de servicios es google. Es en la segunda generación de la web donde encontramos que a la búsqueda se agregan mas opciones:

Colaborar los recursos, utilizando un ambientes de edición distribuida. El ejemplo más claro es el de los wiki, siendo wikipedia el más difundido. Cada vez más la opción de edición distribuida se agrega a las aplicaciones web, como es el caso del conjunto de herramientas de oficinas que presenta google docs.
Alias: wiki

Compartir los recursos, los cuales pueden ser enviados por e-mail en una primera etapa de implementación, opción que se presenta al final de una noticia o artículo en los administradores de contenidos, se incluye luego en los servicios centralizados de blogs, para después permitir el envío no sólo a e-mail sino que también a redes sociales, micro contenidos o sistemas de mensajería instantánea.
Alias: share

Clasificar los recursos, mediante el uso de etiquetas (o "tags"), esta opción es equivalente al uso de palabras claves (o "keywords") en los sistemas de clasificación bibliográfica, a diferencia de estos no se maneja mediante un vocabulario controlado sino que con un vocabulario que se deja a discreción del usuario. Al utilizar de estas etiquetas se puede clasificar en múltiples categorías un recurso, lo que es mejor que clasificar en una estructura de directorio, como fue el inicio de yahoo o dmoz. Existen multiples servicios que permiten esta opción y depende del tipo de recurso que se está clasificando, por nombrar algunos: delicious; citeulike; flickr. Cada vez más las herramientas de administradores de contenidos y blogs incorporan esta opción. En los últimos años se ha llamado Folksonomías al conjunto de etiquetas que describen un tipo de recursos y se ha presentado como una opción a la creación distribuida y automática de ontologías.
Alias: tag, anotar, marcar, highlight

Comentar los recursos, incorporando hilos de discusión. En una primera instancias estos hilos se implementaron directamente en los sistemas de administración de contenidos, luego pasaron a los sistemas de blogs centralizados para luego incorporarlos en sistemas de recursos especializados (al estilo de delicious, flickr, citeulike, etc). Hoy se presentan también opciones para incorporar esta funcionalidad desde un sistemas centralizado de comentarios, como es jskit o el reciente sidewiki de google.
Alias: comment

Calificar los recursos, agrupando en una lista de favoritos (una valoración binaria) o bien calificando en un rango de notas (al estilo del rango de estrellas para una película). Ejemplos de estas opciones, son los servicios de bookmarks sociales (delicious es uno), y marcar con una estrella en los servicios de google (google code, google reader, google mail e incluso en el administrador de bookmarks de browser google chrome). La calificación con una escala de valores, es una funcionalidad que cada vez más ofrecen sistemas de administradores de contenido y blogs centralizados. Sitios como digg presentan un modelo de calificación distribuida para ordenar los recursos.
Alias: favorite, bookmark, valorar, ranking, relevancia

Conservar los recursos, se debe a que no es suficiente enlazar un recursos (mediante una referencia link), sino que cada vez más es necesario mantener copias distribuidas de recursos. La necesidad parte primero por el requerimiento de procesar y analizar grupos de recursos, pero también para garantizar la disponibilidad de los servicios. Servicios a fines a esta opción son: el cache de google, el internet archive, concentradores rss, concentradores y aplicaciones basadas en microcontenidos de twitter, direcciones url permanentes como purl.org.
Alias: archivar

Cada opción de trabajo sobre los recursos, es un patrón utilizado en la web2.0. Hoy no existe una implementación de todas estas funcionalidades juntas, quizas lo que más se parece es el servicio diigo, que se define como una red de información social.

Hasta aquí llevamos seis de las siete opciones prometidas, la última hace referencia al de Componer (con los llamados "mashup"), donde se "utiliza información y/o funcionalidad complementaria desde múltiples sitios" . Ejemplos de composiciones son los ambientes que utilizan google maps para presentar ubicación geográfica de datos, o el uso de Yahoo Pipes para procesar información. Si bien las composiciones son propias de la web2.0, se encuentra en la frontera con la web3.0 ya que es una opción de los datos del recurso mediante el uso de diferentes API que rescatan y publican información estructurada en XML o JSON via AJAX.
Alias: Mashup