RDF y sus formatos

Dentro de la Web Semántica, existen muchas formas de «serializar» la información que está expresada en RDF y gracias al Jena esta es una tarea bastante sencilla, usando ResultSetFormater (para consultas ASK y SELECT) y el método write de la clase Model (para CONSTRUCT y DESCRIBE).

Algunas veces me he encontrado con la necesidad de trabajar con los tipos mime de estos formatos, es por eso que elaboro esta tabla que muestra el formato rdf y sus respectivos tipos mime, y alguna información adicional.

Formato Tipo MIME Jena writer Extensiones
Turtle (descripción) text/turtle TURTLE, TTL, Turtle .ttl
N-Triple (descripción) application/n-triples N-TRIPLES, N-TRIPLE .nt
RDF/XML (descripción) application/rdf+xml RDF/XML .rdf
N3 (descripción) text/n3 N3 .n3
JSON-LD (descripción) application/ld+json JSON-LD .jsonld
JSON (descripción) application/json
  1.  RDF/JSON *
  2. Serializing SPARQL Query Results in JSON **
.json

* RDF/JSON nos permite obtener resultados así: http://dbpedia.org/data/Ecuador.json

** Este formato es un estándar definido por la W3C y que es diferente a RDF/JSON y que se obtiene cuando se hace consultas SELECT SPARQL y se fija el formato en JSON.

 

Códigos QR con Java – Aplicados vía Linked Data para dispositivos móviles

Hace algunos meses ya que me enteré de la existencia de los códigos QR (aquí una explicación vía Wikipedia) y pensando en una alguna aplicación llegué a formular una, no sé si sea innovadora. Se las explico a continuación.

Mensualmente recibimos el estado de cuenta de las tarjetas de crédito y tenemos una fecha máxima de pago, mi rutina es: registrar una nota con alarma en la agenda de mi celular, en el último día de pago; en la nota registro el nombre del banco, de la tarjeta de crédito y el monto a pagar.

Ahora, desde mi punto de vista, sería ideal que de alguna manera pudiera leer esa información a través de mi celular y registrarla como una nota en mi agenda. Si leen la entrada de la Wikipedia comprenderán que el código de barras no es suficiente y de ahí la necesidad de códigos QR en donde puedo almacenar mayor información.

Para que la información sea expresada en algún «formato universal» he pensado que debería crear un vocabulario en RDF y siguiendo los principios de Linked Data para vincular la información y de esa manera enriquecerla. Hace tiempo leí de alguna propuesta de usar RDF como un medio para almacenar la información de un celular (cuando encuentre el link lo coloco). También es posible leer archivos RDF/XML en un dispositivo móvil usando NanoXML for J2ME (+RDF/OWL).

Conozco de algunas aplicaciones para Symbian que usando la cámara del celular pueden leer el código QR y abrir el navegador o copiar la información que ahí existe, pero siendo una aplicación específica se debería desarrollar algo así y ese desarrollo tendría que ser en Java. Buscando en internet conseguí una librería que permite generar y leer códigos QR, el proyecto se llama QR Code Library, además encontré un ejemplo en dónde se usa esta librería en una aplicación móvil llamada QRMidlet

Creo que la aplicación puede extenderse a cualquier documento, por ejemplo (recuerdo de la ferretería de mis abuelos) ellos trabajan con cheques y giran un cheque cuando reciben la factura sería ideal que la factura contenga la información del pago (fecha, monto, datos del proveedor), si esta información la pudiera leer de manera automática y almacenarla en algún sistema llevaría el control de las cuentas por pagar. 🙂

Bueno la idea está propuesta, espero poder hacer algo aunque sea desarrollar el vocabulario, ya cada vez estoy más lejos de la programación para móviles, pero bueno la idea está propuesta si alguien se anima a colaborar será bienvenid@. Los mantendré informados.