• No results found

al repositorio con errores. En el desarrollo del criterio mencionado, es posible el uso de t´ecnicas de miner´ıa de texto y desambiguaci´on de t´erminos.

A continuaci´on, se describen las soluciones dise˜nadas para cada uno de los problemas planteados.

3.2.

Modelo de datos

Un modelo de datos es un conjunto de conceptos que pueden ser usados para describir la es- tructura de una base de datos: tipos de datos, relaciones y restricciones que deben cumplirse en los datos [Elmasri and Navathe, 2014]. Su finalidad es representar las entidades existentes en la realidad, las propiedades de las entidades, las relaciones entre estas entidades y las restricciones que deben cumplirse, tanto en las entidades como en las relaciones. El modelo de datos debe mantener una relaci´on con la realidad y estar estructurado de forma que sea ´util a los fines bus- cados. A su vez, es com´un que en un modelo de datos se incluyan aspectos din´amicos, los cuales especifican las operaciones que se pueden realizar sobre el modelo. En el contexto de este trabajo el modelo de datos cumple un papel principal. A trav´es de todas las etapas de procesamiento y del c´alculo de indicadores bibliom´etricos se hace uso de los tipos de entidades definidos en el modelo, para almacenar, consultar y transformar los datos obtenidos del repositorio objetivo. Al igual que los dem´as componentes dise˜nados para este trabajo, el modelo de datos fue creado teniendo en cuenta que cada repositorio cuenta con caracter´ısticas particulares. Estas caracter´ıs- ticas, propias de cada repositorio, dificultan la creaci´on de un modelo ´unico que sirva para todos los posibles repositorios objetivos. Es por esto que el modelo de datos contiene las entidades y relaciones identificadas en el dominio de las publicaciones cient´ıficas, definidas de modo abs- tracto teniendo en cuenta que el modelo deber´a ser extendido para adaptarse a cada repositorio objetivo sobre el cual se intente trabajar.

3.2.1. Dominio

El dominio en estudio est´a compuesto de investigadores y los art´ıculos publicados por ellos. Estos art´ıculos son publicados en diferentes medios de difusi´on como revistas cient´ıficas, libros y conferencias. Este domino se analiz´o, informalmente, con el objetivo de derivar un modelo de datos que represente las entidades y relaciones que lo componen.

Los investigadores cuentan con un nombre, un apellido, una o m´as disciplinas que ejercen, un instituto de investigaci´on en el cual trabajan, una determinada categor´ıa a la que pertenecen dentro de su lugar de trabajo y una especialidad, entre otros. Los art´ıculos est´an compuestos de un t´ıtulo, un listado de autores y un resumen del contenido del art´ıculo. A su vez, los art´ıculos son publicados en distintos medios de publicaci´on los cuales cuentan con propiedades particulares. Las revistas cient´ıficas cuentan con un nombre, una editorial que la publica, un a˜no de publicaci´on y un n´umero International Standard Serial Number (ISSN). Similarmente, los libros cuentan con

24 CAP´ITULO 3. CONFECCI ´ON DE BIBLIOM ´ETRICAS

un nombre, una editorial y un a˜no de publicaci´on. Por ´ultimo, las conferencias cient´ıficas cuentan con el nombre de la conferencia, el lugar en el que se desarrolla, el nombre de la instituci´on organizadora y el a˜no en que se realiz´o.

Como se mencion´o previamente, el modelo de datos debe representar las relaciones entre las entidades que lo componen. La principal relaci´on que presenta el dominio es la que se da en- tre investigadores y art´ıculos. Los investigadores poseen art´ıculos de su autor´ıa y los art´ıculos cuentan con un conjunto de autores.

Estos tipos de entidades y sus relaciones conforman un modelo de datos general para representar el dominio compuesto por investigadores y los art´ıculos de su producci´on. Como se ver´a m´as adelante, es necesario un estudio del repositorio de datos objetivo para poder construir un modelo de datos concreto.

3.2.2. Modelo de datos propuesto

Como se mencionaba previamente, una de las caracter´ısticas m´as importantes con la que debe contar el dise˜no de la herramienta es la posibilidad de ser extensible y adaptable a los diferentes repositorios con los que se desee trabajar. El dise˜no del modelo de datos debe tener en cuenta esta caracter´ıstica en el modelado de los tipos de entidades que componen el dominio de la aplicaci´on.

En el dise˜no del modelo de datos se opt´o por utilizar el paradigma orientado a objetos, el cual ofrece flexibilidad frente a sistemas de bases de datos tradicionales. Estos ´ultimos limitan al desarrollador a utilizar s´olo los tipos de datos y el lenguaje de consulta provistos por la base de datos seleccionada. Una caracter´ıstica fundamental de los modelos de datos orientados a objetos es que permiten al desarrollador definir tanto la estructura de los objetos que componen el modelo, como las operaciones que se aplican a estos objetos [Elmasri and Navathe, 2014]. La elecci´on de este paradigma permite desarrollar un modelo de datos que pueda ser adaptado a otros repositorios, distintos al elegido, de forma sencilla y sin la necesidad de una reestructuraci´on total del modelo.

Las entidades derivadas del repositorio, modeladas bajo el paradigma orientado a objetos, son almacenadas en una base de datos relacional. El Cap´ıtulo 4 describe como se utiliz´o el framework Hibernate 1 para vincular el modelo de datos con la base de datos relacional.

El problema de contar con un modelo de datos que sea capaz de adaptarse a cualquier repositorio semiestructurado que se desee se resolvi´o a trav´es de la creaci´on de un m´odulo abstracto donde se definen las clases del modelo. Las clases de este m´odulo de alto nivel representan las principales entidades identificadas en el dominio. Este m´odulo abstracto, si bien define las entidades que se consideran fundamentales en el dominio, debe ser extendido en un m´odulo concreto por cada repositorio objetivo con el cual se desee trabajar. En estas extensiones se incorporan las caracter´ısticas particulares del repositorio objetivo tales como atributos, entidades o relaciones

1

3.2. MODELO DE DATOS 25 no consideradas por el m´odulo de m´as alto nivel. La Figura 3.2 muestra un diagrama de m´odulos donde el m´odulo que contiene las clases del modelo de datos abstracto se extendi´o para adaptarse a dos repositorios distintos.

Figura 3.2: M´odulos del modelo de datos

Figura 3.3:Modelo de datos abstracto

Los tipos de entidades del modelo abstracto se muestran en la Figura 3.3. Este diagrama de clases muestra las entidades, atributos y relaciones que componen el modelo. A continuaci´on se describen los detalles de cada una de las clases que componen este modelo.

Media: La clase Media contiene los datos de un medio de publicaci´on. A pesar que esta clase almacena informaci´on general de un medio de publicaci´on, ciertos medios contienen informaci´on adicional que debe ser considerada. Tal es el caso de las revistas de divulga- ci´on cient´ıfica modeladas en la claseJournalMedia, las conferencias modeladas en la clase ConferenceMedia y los libros modelados en la clase BookMedia.

26 CAP´ITULO 3. CONFECCI ´ON DE BIBLIOM ´ETRICAS

ˆ code: C´odigo ISSN. Este c´odigo est´a presente para los medios de publicaci´on del tipo revista y ciertos cap´ıtulos de libro.

ˆ name: T´ıtulo del medio de publicaci´on.

JournalMedia: Subclase deMedia. Contiene la informaci´on correspondiente a un medio de publicaci´on del tipo revista de difusi´on cient´ıfica.

ˆ impactFactor: Factor de impacto de la revista. El factor de impacto de una revista es una estimaci´on del promedio de citas durante un determinado intervalo de tiem- po [De Bellis, 2009].

ˆ publisher: Nombre de la editorial por la cual se public´o la revista.

ˆ shortName: Abreviaci´on del nombre de la revista. Cada revista tiene un nombre ´unico de este tipo.

ConferenceMedia: Subclase de Media. Contiene la informaci´on correspondiente a una con- ferencia o reuni´on cient´ıfica.

ˆ institution: Nombre de la instituci´on organizadora de la conferencia. ˆ place: Nombre de la ciudad y pa´ıs donde se llev´o a cabo la conferencia.

BookMedia: Subclase de Media. Contiene la informaci´on correspondiente a un libro. ˆ publisher: Nombre de la editorial por la cual se public´o el libro.

Article: Esta clase almacena la informaci´on correspondiente a un art´ıculo. Los autores del art´ıculo se almacenan como referencias a la clase Researcher. Las cardinalidades de la relaci´on que se muestra en el diagrama indican que uno o m´as investigadores participan de la autor´ıa de un art´ıculo y que un investigador puede participar de la autor´ıa de cero o m´as art´ıculos.

El medio de publicaci´on del art´ıculo se almacena como una referencia a una instancia de la clase Media. El tipo del medio determina el tipo del art´ıculo. Es decir, cuando el campo mediareferencia a una instancia deConferenceMedia, el art´ıculo en cuesti´on fue presentado en una conferencia. Cuando la referencia es hacia una instancia de BookMedia el art´ıculo est´a representando un cap´ıtulo de un libro. Finalmente, cuando el medio referenciado es una instancia de la claseJournalMedia,el art´ıculo fue presentado en una revista de divulgaci´on cient´ıfica.

ˆ title: T´ıtulo del art´ıculo.

ˆ authors: Conjunto de autores del art´ıculo. Los elementos de este conjunto referencian a instancias de la claseResearcher.

ˆ page: P´agina donde aparece el art´ıculo. Solo tiene valor cuando el tipo de medio asociado, referenciado por el campomedia, es una instancia de las clasesJournalMedia o BookMedia.

3.3. OBTENCI ´ON DE DATOS 27