Annotea - Diseño

2 - Diseño

[editar]
Curso gratis creado por Alvaro Herrera. Extraido de: http://www.tejedoresdelweb.com/307/article-5817.html
18 de Octubre de 2005
Requerimientos

En el diseño de Annotea era fundamental construir una infraestura basada en RDF genérico, donde las anotaciones fueran una posible encarnación de esa infraestructura.

A continuación se listan los requerimientos principales de Annotea:

  • Uso de tecnologías abiertas. Existen sistemas de anotación basados en protocolos cerrados, haciéndolos inextensibles. Este uso de tecnología abierta permite la interoperabilidad con otros sistemas de anotación al tiempo que permiten la extensibilidad de los datos que el sistema puede llevar.
  • Los documentos anotados son estructurados. Otros sistemas de anotación permiten anotar cualquier recurso que cuente con una URI. Para simplificar el diseño, se decidió limitar los recursos anotables a aquellos que poseen estructura, es decir, documentos HTML o XML, incluyendo otras anotaciones.
  • Las anotaciones son recursos Web de primera clase, por lo que cada anotación cuenta con una URI.
  • Las anotaciones son fuertemente tipadas. Las anotaciones mismas tienen distintas propiedades. El tipo de una anotación es metadatos sobre la anotación misma; esto permite a los usuarios clasificar las anotaciones al momento de escribirlas.
  • Los tipos de anotaciones pueden ser definidos por los usuarios. Dado que existen diferentes grupos de usuarios, cada uno con diferentes necesidades, este sistema debe permitir que cualquier grupo de usuarios defina su propia taxonomía.
  • Las propiedades deben describirse con un esquema RDF.
  • Las anotaciones se almacenan en bases de datos RDF genéricas, en lugar de tener servidores de anotaciones especializados.
  • No se hacen suposiciones sobre la interfaz de usuario. Annotea no especifica cómo deben presentarse los metadatos al usuario; sin embargo, se predice que se necesita algún tipo de consistencia de interfaz.
  • Pueden existir anotaciones locales o remotas; estas últimas pueden ser compartidas. El servidor de notas es responsable del control de acceso a las notas que almacena.
  • Pueden existir múltiples servidores de anotaciones.

Operación de Annotea

Las anotaciones que se manejan son colecciones de afirmaciones sobre un documento. Pueden ser comentarios, correcciones tipográficas, hipótesis o puntuaciones; lo que se sabe a ciencia cierta es que hay un autor que hace una afirmación sobre un documento o parte de él en algún momento.

Los metadatos de la anotación, descritos como esquema RDF especializado, dan información como la fecha de creación de la anotación, el nombre del autor, el tipo de anotación, la URI del documento anotado, y un Xpointer que especifica la parte del documento que fue anotada. Los metadatos incluyen también la URI del cuerpo de la anotación, que se asume que es un documento XHTML. Los metadatos no dicen nada sobre cómo se presenta la anotación al usuario; esta es una decisión que se deja al diseñador de la aplicación.

Las anotaciones se almacenan en bases de datos RDF genéricas, que son accesibles a través de un servidor HTTP. En el siguiente ejemplo se detalla la interacción entre esos componentes cuando un usuario crea una anotación:

  • 1. El usuario "navega" por un documento.
  • 2. El usuario selecciona algún texto del documento y le indica a su browser que quiere anotarlo.
  • 3. El browser abre una ventana nueva, donde el usuario puede escribir el texto de su anotación y escoger el tipo.
  • 4. El usuario publica la anotación en un servidor de anotaciones. Para esto, el browser genera una descripción RDF de la anotación que incluye los metadatos y el texto y lo envía al servidor, usando el método HTTP POST. El servidor le asigna una URI a la anotación y al cuerpo y responde con una descripción RDF que contiene esas URIs.
  • 5. Si el usuario modifica la anotación, la publicará a la URI que se le asignó.

Nótese que la primera vez que se publica una anotación, ésta no tiene una URI asociada. El servidor de anotaciones asigna dicha URI. Cuando el usuario pida la URI en el futuro, el servidor responderá con los metadatos de la anotación.

Ahora se describe cómo un usuario "navega" por un documento anotado.

  • 1. El usuario "navega" por un documento.
  • 2. El browser consulta cada uno de los servidores de anotación, pidiendo via HTTP GET los metadatos de anotaciones asociados con la URI del documento.
  • 3. Cada servidor responde con una lista de los RDF de los metadatos de anotación. Si el servidor no almacena ninguna anotación relacionada, responde con un código HTTP 404.
  • 4. Para cada lista de anotaciones que recibe, el browser procesa los metadatos, resuelve el XPointer y si es posible marca el texto anotado.
  • 5. Si el usuario hace click en el texto marcado por el browser, éste usa el método HTTP GET para obtener el cuerpo de la anotación especificada en la URI de los metadatos.
  • 6. El browser despliega una ventana mostrando los metadatos y el cuerpo de la anotación.

En el ejemplo, se divide el proceso de bajada de anotaciones en dos partes. En la primera, el browser automáticamente baja los metadatos de las anotaciones relacionadas con un documento. Luego, y sólo si el usuario lo pide explícitamente, el browser descarga los cuerpos de las anotaciones. La razón de esto es reducir la cantidad de datos transferidos; en un documento muy anotado, enviar las anotaciones completas puede consumir y el usuario puede no estar interesado en los textos de todas las anotaciones.

Nótese que una vez que una anotación se publica en un servidor, se convierte en una anotación compartida, esto es, cualquier usuario con los permisos apropiados puede ver las anotaciones del servidor. Por el momento se espera que el servidor HTTP se preocupará de controlar el acceso a las anotaciones usando los mecanismos de autentificación HTTP estándares.

También es posible almacenar las anotaciones localmente, en el computador del usuario, siempre y cuando el browser permita simular una respuesta a la consulta inicial.

Esquema RDF para anotaciones

La característica más importante de una anotación es que soporta las necesidades de grupos colaborativos que van evolucionando. Por ejemplo, un sistema para clasificar nuevas tecnologías necesitará expandir sus tipos de anotación para clasificar ciertas características de la tecnología que revisan. Otro grupo puede querer comenzar con un conjunto de tipos e irlo evolucionando conforme su trabajo se va modificando. Los usuarios de Annotea pueden querer definir nuevos tipos de anotaciones a medida que van acostumbrándose al sistema. El grupo también puede agregar relaciones a otros objetos que son específicos del trabajo del grupo. RDF provee soporte para estas necesidades.

RDF provee un modelo simple pero muy flexible para describir propiedades de un recurso Web cualquiera. En su nivel más simple, provee tripletes de recurso, propiedad y valor. Un triplete indica que un recurso(cualquier recurso web asociado a una URI) tiene una propiedadcon un determinado valor(un string, posiblemente con marcas XML, o una URI de otro recurso Web).

El tipo de una anotación es definida por el usuario, declarando clases adicionales de anotación. Esas clases son parte del modelo RDF y pueden ser descritas en el Web en un esquema RDF. La superclase general de anotación se llama Annotation(en realidad, su nombre es ). Se han definido varias subclases de ejemplo, en un esquema RDF separado, cuyo espacio de nombres es . De la misma forma, otros grupos pueden crear nuevas subclases. También se pueden agregar de manera simple nuevas propiedades a las clases de anotaciones.

Las anotaciones son afirmaciones hechas por usuarios que consisten como partes principales de: a) el cuerpo de la anotación, que contiene el contenido gráfico o textual de la anotación, b) el link al documento anotado con una dirección dentro del documento, c) la identificación de la persona que hace la anotación y d) otros metadatos relacionados con la anotación.

El esquema RDF que define las propiedades de la anotación consiste del nombre de la propiedad y su explicación en lenguaje natural. El tipo es una de las clases básicas (Advice, Change, Comment, Example, Explanation, Question, SeeAlso), o algún otro tipo de anotación definido en otro lugar. La propiedad annotatesalmacena el enlace al documento, bodyes el enlace al contenido, y dc:creatora quien hace la anotación.

Contextdefine exactamente la posición del documento donde está anclada la anotación, usando XPointer para definir las posiciones dentro de documentos XML. Esto funciona bien para documentos invariantes, pero para documentos que pasan por revisiones o cambian por algún motivo, es fácil acabar con anotaciones huérfanas (es decir, sin una posición del texto válida como referencia) o que apuntan a posiciones erróneas. Para prevenir la pérdida innecesaria de punteros, se sugiere buscar el más cercano a un padre del objeto anotado para usarlo como punto de partida al camino XPointer. Afortunadamente, muchos documentos tienen al menos en sus niveles principales. Apuntar a detalles más finos después del puede hacerse por otros mecanismos provistos por XPointer, como patrones textuales.

Los metadatos adicionales incluyen la fecha de creación y hora de última modificación, y el uso de relatedpara agregar relaciones con otros objetos. Se pueden agregar otros metadatos a la anotación cuando el grupo lo necesita.
[editar]

1 opinión

Annotea.

He hecho un gran descubrimiento al ingresar a este sitio. El curso es de mucha calidad.

Cursos gratis relacionados con 'Annotea'

Annotea es un proyecto que pretende mejorar un ambiente colaborativo a través del uso de... Más »

Autor y licencia de 'Annotea'


Curso gratis de Alvaro Herrera. Extraido de: http://www.tejedoresdelweb.com/307/article-5817.html CopyLeft
Los contenidos de este sitio pueden ser reproducidos solamente bajo estas condiciones. La licencia está respaldada con el registro de propiedad intelectual número 97.125 en Chile y otros países.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.