jump to navigation

OntoGuate-SGC noviembre 8, 2008

Posted by Javier Gramajo in General.
11 comments

Objetivo General

Crear un Sistema de Gestión de conocimiento para el sector asignado basado en una Ontología que estará conectada a una base de datos y que permita capturar la información de todos los actores involucrados a través de un sistema en línea, que permita la realización de Búsquedas Inteligentes enfocado a la región Centroamericana, sur de México y Colombia.

Objetivos Específicos:

Para la consecución de los objetivos específicos es necesaria la participación de organizaciones y personas que puedan realizar una convocatoria a nivel nacional que permita lograr los siguientes objetivos.

Capital Intelectual:

Determinar cual es el Capital Intelectual de la región al identificar las capacidades y habilidades de las organizaciones de cualquier tipo y personas que trabajan en el sector de aplicación de OntoGuate-SGC.

Organización:

Permitir a las distintas organizaciones y personas conocerse entre si y lograr sus objetivos por medio de la cooperación conjunta, evitando duplicar esfuerzos.

Indicadores

Generar indicadores que permitan determinar capacidades, debilidades y sobre todo oportunidades relacionadas con los recursos asociados al sector de aplicación de OntoGuate-SGC.

Tecnologías Móviles

Una vez desarrollado el prototipo final se podrán desarrollar las interfaces para que sea utilizado en dispositivos móviles que permitan desarrollar la siguiente generación llamada OntoContextualización.

Sectores de Aplicación

El término sector hace referencia a la parte seccionada o cortada de un todo en consecuencia se han identificado los siguientes sectores:

  • Turismo y Rutas Turísticas
  • Patrimonio Cultural
  • Desarrollo Humano
  • Educación y TICs
  • Investigación
  • Salud
  • MultiServicios
  • El mejor lugar para Trabajar en TICs
  • Inmobil-IA
  • Emigración
  • Vinculación Academia-Industria-Estado
  • Medio ambiente
  • Culturas Ancestrales
  • Ciudad Aeropuerto

Colaboradores del proyecto OntoGuate-SGC

ontologia e-goverment julio 27, 2009

Posted by josesotoy in Uncategorized.
Tags: , ,
add a comment

Porque hacer una ontologia e-goverment

Para poder tener una ontología de este tipo e-goverment debemos de tomar en cuenta que las instituciones del gobierno deben de considerar diversas estrategias para poder satisfacer las demandas y las expectativas de sus clientes destacando garantizando a todos los usuarios la integridad, y trasparecía en todos sus actos, y sobre todo confidencialidad ya que muchos de los servicios que se van prestara llevan consigo por ejemplo los pagos en línea como lo es el pago de rentas o impuestos, además de los otros servicios que se proveen debe tener accesibilidad para todas las personas que en la actualidad consideran utilizar esta tecnología de comunicación e información, tanto para los clientes y los ciudadanos, ya que ellos serán los que hagan uso de la ontología para realizar búsquedas semánticas y para ellos es muy necesario obtener información precisa y oportuna según sean las necesidades de ellos que se vaya a realizar por medio de una consulta,  ahora para las empresas las ontología les ayudara a saber cuáles son las necesidades de los negocios, y estos mismo necesitaran saber poder prestar servicios a las empresas según sean sus necesidades, con esta ontología se pretende como mejor solución un buscador semántico, para la cual se ha recopilado la información ya descrita en el documento de e-goverment para poder realizar búsquedas en base a las demandas. Todas estas consideración son muy importantes a considerar antes de implementar esta ontología si se ha tomado adecuadamente dicha información se puede implementar la ontología e-goverment.

Los Elementos más importantes del e-goverment que se pueden considerar para una ontologia e-goverment son los siguientes

Gobierno, Ciudadanos, tramites, mercado, negocio, empresas, cliente.

Esto son los resultados que se obtuvieron, al realizar el análisis de los elementos más importantes de la ontología de acuerdo a las consultas semánticas realizadas.

• Ciudadano: puede obtener resultados de las instituciones de gobierno, que realizan determinado proceso, que actividades realizan para beneficiar a otros ciudadanos, e incluso que compras de servicios hacen a las empresas para cumplir sus actividades.

• Negocios: pueden obtener resultados sobre los procesos que una empresa realiza y que servicios brinda a que clientes y eligir a que empresa poder demandarle un servicio.

• Tramites: tanto las empresas como los ciudadanos pueden realizar diversos trámites así como pagos de impuestos, aranceles para las empresas en las aduanas entre otras cosas.

• Empresas: estas pueden consultar sobre qué servicios requieren las instituciones de gobierno, ofrecer y mejorar sus procesos de gestión y poder brindar mejores servicios.

• Clientes: estas personas pueden consultar que empresas han apoyando a las actividades beneficiosas para los ciudadanos, que negocios requieren determinados servicios a estas empresas y basados en estos hechos obtener información de las empresas a quienes pretenden contratar un servicio.

• Mercado: las empresas y los negocios puede consultar como se manejan hoy en día los mercados que tramites hay que realizar para alguna actividad o pago y que posibilidades tienen las empresas de progresar en un segmento de mercado.

Una de las cosas importantes para complementar esta ontología es hacer uso también de una ontología de servicios ya que la ontología e-goverment tiene el elemento de servicios. Y eso complementaria esta ontología.

e-government (conceptos varios) julio 26, 2009

Posted by feryac in Uncategorized.
Tags: , , , ,
add a comment

Para iniciar se debe mostrar el porque de la primera interrogante a contestar ¿servicios o actividades? esto en base a la siguiente imagen:

gif_1

Los servicios relacionados con las empresas y las actividades con las Instituciones de gobierno, el porque de esta separación es porque consideramos que un servicio es prestada con fines de lucro por una empresa, es decir el fin de realizarla es obtener una retribución financiera, a diferencia de una actividad que es realizada por una Institución de Gobierno, que el fin de realizarla no es obtener retribución financiera, sino que de cierta manera ayudar a la población (ciudadanos) a desenvolverse de una mejor manera o más cómoda.

El porque de no tenerlas unidas bajo un mismo criterio y nombrarlas como actividad, es debido a lo anteriormente descrito es lo que se espera que suceda realmente, que cualquier actividad realizada por el gobierno no sea con fines lucrativos, sino con fines de beneficiar a los ciudadanos, a diferencia de la esencia de una empresa que es obtener beneficios económicos a través de beneficios brindados a los ciudadanos.

Sobre la Gestión de procesos el solo escuchar el nombre puede llegar a ser algo complicado de entender, y nuevamente se ha hecho diferencia entre empresa e institución de gobierno, aunque teóricamente pueden ser tratadas como la misma cosa, porque finalmente es la capacidad para organizar las actividades diarias y contribuir a la calidad y éxito de los planes realizados, nuevamente se dividen porque el fin de cada una de ellas es diferente, como mencionamos anteriormente, la empresa tiene como fin obtener beneficios económicos, mientras que el gobierno su fin es brindar mejoras a los ciudadanos, por esta razón de alguna manera la forma de seguir planes y/u objetivos variará.

Procesamiento de Lenguaje Natural junio 10, 2009

Posted by willypidgeot in Uncategorized.
add a comment

El procesamiento de lenguajes naturales (PLN) es una subdisciplina de la Inteligencia Artificial y la rama ingenieril de la lingüistica computacional [1].

Primer ejemplo:  http://www.titane.ca/concordia/dfar251/igod/main.html

Mi conversación con Igod

Me:
How old are you?
God:
I am the product of over five years’ research.
Me:
what is your purpose?
God:
My goal is to become smarter than humans and immortal.
Me:
Are you are smarter than me?
God:
I don’t know whether or not I am  are smarter than you.
I am  a robot.
Me:
Are you bored?
God:
Boredom is a human emotion.

Me:

How old are you? (¿Tu edad?)

iGod:

I am the product of over five years’ research. (soy el reultado de casi 5 años de investigación)

Me:

what is your purpose? (¿Cuál es tu propósito?)

iGod:

My goal is to become smarter than humans and immortal.  (Mi propósito es convertirme más inteligente que los humanos e inmortal)

Me:

Are you are smarter than me? (Eres más inteligente que yo)

iGod:

I don’t know whether or not I am  are smarter than you.  (No se si soy más inteligente que tu)

I am  a robot. (Soy un robot)

—————————————–

Terminé mi conversación, aunque dejé la ventana del navegador abierta. Luego le pregunté por curiosidad lo siguiente:

——————————————

Me:

Are you bored? (Éstas aburrido)

God:

Boredom is a human emotion. (El aburrimiento es un sentimiento humano)

Segundo ejemplo:

http://www10.wolframalpha.com/

El primer ejemplo me impresionó bastante, así que no esperaba menos del segundo. Para preguntar bastará con escribir en el cuadro de búsqueda. Hay una sección de ejemplos para darse una idea de que preguntarle. Intenté con una ecuación matemática x – 3 = 1.  El resultado x= 4 fue correcto, además me trazó la gráfica de la ecuación. Luego con “Guatemala”, me dió información básica pero importante para alguien que no sepa sobre mi país.

En ambos casos me impresionó bastante el tiempo de respuesta; leyendo un poco en el ejemplo 2 utilizan un concepto que se llama parallel computing; que si no estoy mal es lo mismo que GridComputing. Esto se refiere a tener varios equipos de diferentes arquitecturas compartiendo recursos conectados entre si (no necesariamente en el mismo espacio físico), sin necesitar un equipo centralizador como en el cluster.

Para ambos casos por lo que entiendo,  intenta darle el significado al elemento de búsqueda basado en el significado de cada una de las palabras.  El mecanismo mas o menos iría así:  obtener las palabras, realizar el procesamiento utilizando algún tipo de algoritmo y responder.

¿Entonces es lo mismo que google?

Algo que es importante, en ambos casos, es que las búsquedas para responder las realizaran sobre su base de datos local; y no como google que lo realiza sobre la web.

Otros temas relacionados:

Real time aplications, grid computing, tecnologías ubicuas.

Referencias:

[1] es.wikipedia.org. Procesamiento de lenguajes naturales http://es.wikipedia.org/wiki/Procesamiento_de_lenguajes_naturales


Ontologia Medio Ambiente enero 25, 2009

Posted by marcovillavi in Medio ambiente.
1 comment so far

RAP

RAP – RDF API para PHP es un conjunto de herramientas para la Web Semántica y para los desarrolladores de PHP. Ofrece funciones para analizar, manipular, almacenar, consultar y serializado de RDF gráficos. RAP se inició como un proyecto de código abierto por la Freie Universität de Berlín en 2002 y se ha ampliado con las contribuciones de código de la comunidad de Web Semántica.
El núcleo del RAP son dos implementaciones de declaración RDF de almacenes que contienen gráficos, ya sea en la memoria o en una base de datos relacional. En torno a estos almacenes RAP ofrece ricas interfaces de programación para la manipulación de gráficos en los diferentes RDFS de capas de abstracción.

Además, RAP apoya RDFS inference, así como algunos entailments OWL, que permite a los programadores a trabajar con implicit (virtual)statements. Diversas herramientas complementan el paquete RAP: una actualizada RDF / XML serializer, más módulos de E / S de entrada y salida (N3, N-Triple, RDF embedded in XHTML), un servidor integrado RDF, y un interfaz gráfica de usuario para la gestión de base de datos respaldados por modelos de RDFS, así como una aplicación de la RDQL o lenguaje de consulta.

RAP ofrece a los desarrolladores de PHP una amplia gama de funcionalidades para analizar, manipular, almacenar, consultar y serializar datos RDF.

RAP ofrece un conjunto de herramientas para desarrolladores para escribir aplicaciones que trabajan de forma implícita (virtual) de las declaraciones. RDF se puede almacenar en una variedad de bases de datos utilizando capas de abstracción flexibles. El RDQL permite a los desarrolladores a usar el poder expresivo de este lenguaje de consulta para encontrar la información deseada. Diferentes técnicas de serializado flexible permite el intercambio de modelos RDF con otras aplicaciones de almacenamiento y procesamiento de datos RDF.

Por otra parte, la NetAPI provee un servidor para acceder a RDF y consultar modelos en un entorno distribuido y a las aplicaciones de colaboración basadas en modelos.

Al ser implementado en PHP y debido a su portabilidad a distintas bases de datos RAP puede ser utilizado como base para el despliegue de aplicaciones baratas en la Web Semántica comercial en el espacio web.


Actuales actividades de desarrollo se concentran en la extensión de nombre de RAP Gráficos por portar NG4J a PHP, así como sobre la aplicación de la SPARQL, lenguaje de consulta. Otra característica a la espera de ser ejecutado en el RAP es el apoyo a la firma en la sintaxis de modelos RDF o el modelo de nivel, usando Firmas XML o publicaciones en Web Semántica (SWP).

ONTOLOGIA MEDIO AMBIENTE

La ontología realizada sobre el Medio Ambiente contempla lo siguiente: Ubicación de la especie, el tipo de suelo que habita, el clima donde se desarrolla, las organizaciones asociadas a las diferentes especies, asi como los tipos de eventos que estas realizan y lo más importante de la ontología fue la organización de las especies según su clasificación taxonómica. La organización taxonómica de una especie constituía 8 niveles: Reino, Filo, Clase, Orden, Familia, Género y Especie. La ubicación de la especie se realizo usando la siguiente estructura: País, Departamento y Municipio, la cual no fue la mejor manera de realizarla ya que la mejor forma es por Región pero esto es una de las mejoras que se podría realizar.

El mapeo de la ontología fue realizado utilizando RAP, debido a las herramientas que este provee y la facilidad con que este API puede realizar el mapeo de la ontología hacia un DBMS, el DBMS utilizado fue MySQL, para el desarrollo de las búsquedas se utilizo PHP.

La aplicación realiza búsquedas inteligentes, en la clasificación taxonómica se abarco hasta el nivel de Clase, dado que entre más niveles se realicen en la búsqueda mayor es la complejidad de estas.

Para realizar el ABC de los registros de la ontología, tiene varios problemas los cuales deben de ser corregidos, pero debido que el tiempo no fue suficiente, estos no fueron corregidos, pero el trabajo ya esta empezado y son pocas las correcciones que se necesitan.

Juan de la Roca Ruiz 200412521

Erick Steve de la Cruz 200412394

Culturas Ancestrales enero 25, 2009

Posted by marcovillavi in Culturas Ancestrales.
1 comment so far


El proyecto consiste en la creación de una ontología en la cual el tema principal son las culturas ancestrales. A continuación se describe la parte técnica y la parte teórica del mismo:

Parte técnica:

Para el desarrollo del proyecto, se utilizo el framework editor de ontologías Protege, esta es una herramienta Open Source con la cual se pueden editar ontologías, luego de editarlas puede generar archivos RDF, OWL y XM. En nuestro caso el formato utilizado fue RDF y para la carga de esos archivos a la BD se utilizo el API de conexión RAP, para la parte de presentación se utilizo php en la creación de las paginas web.

Parte teórica:

El proyecto consiste en la creación de un sitio web que permita realizar búsquedas inteligentes del tema en el cual esta enfocado: las culturas ancestrales que existen en Guatemala (culturas descendientes de los mayas, por ejemplo: Xincas, ladinos; y los no descendientes de mayas, tales como los garifunas pero que son parte de nuestra cultura). Pero también permitirá que los visitantes del sitio puedan agregar información actualizada e interesante para enriquecer más el contenido del mismo.

El objetivo de la aplicación es el de dar a conocer al mundo toda la información acerca de las culturas ancestrales que componen nuestra cultura como un todo, cuales son sus costumbres, sus comidas, religión, jerarquías, además de las lenguas que hablan y su ubicación geográfica dentro del territorio de Guatemala.

Para la creación de la información se creo un modelo conceptual, el cual contiene todos los componentes que conforman las culturas ancestrales:

  • Ancestro
    • Una cultura desciende de sus ancestros.
    • Los ancestros tienen su cultura descendiente
  • Cultura
    • Una cultura posee una jerarquía
    • Una jerarquía define la estructura de una cultura
  • jerarquía
    • Una jerarquía define la estructura de una cultura
  • Comunidad _ étnica
    • Una comunidad étnica desciende de una cultura
    • Una cultura tiene comunidades étnicas descendientes
  • Lengua
    • Una lengua pertenece a una cultura
    • Una cultura habla una lengua especifica
  • Costumbre
    • Una costumbre pertenece a una cultura
    • Una cultura tiene cierta costumbre

  • Ubicación_geografica
    • Una cultura tiene una ubicación geográfica
    • Una ubicación geográfica ubica a una cultura

Las clases que se utilizaron y que componen la jerarquía de la información son:

  • Ancestro

Esta clase define a los ancestros de los cuales desciende cierta población, por ejemplo la mayoría de culturas indígenas, descienden de los mayas.

  • Cultura

Esta clase representa a la cultura propiamente dicha, por ejemplo la cultura Maya, Xinka, Garifuna y Ladina, que son las culturas de nuestro país.

  • jerarquía

Esta clase representa la jerarquía que compone la estructura de una cultura, por ejemplo la jerarquía maya estaba compuesta por: La nobleza (Almejenob’),  los sacerdotes (Aj’kinob’), la gente común (Aj”chembal uinieol’), y los esclavos (Pencat’ob’).

  • Comunidad _ étnica

Esta clase define a las comunidades étnicas descendientes de cierta cultura, por ejemplo los Quiches que descienden de la cultura Maya, o los Garinagu que descienden de la cultura Garifuna.

  • Lengua

Esta clase define las lenguas que habla cada una de las comunidades étnicas guatemaltecas, por ejemplo los Quiches que hablan el K’iche’, el Garifuna que es hablado por la mayoría de comunidades étnicas descendientes de los garifunas.

  • Costumbre

Esta clase define las costumbres de cada una de las comunidades étnicas, por ejemplo el baile llamado “Punta” que es propio de los garifunas.

  • Ubicación_geografica

Esta clase define la ubicación geográfica de cada una de las comunidades, por ejemplo los garifunas se encuentran ubicados en Izabal, los Quiches en el departamento de Quiche, y así cada una de las ubicaciones.

Búsquedas:

Como el objetivo principal de la aplicación es el de mostrar información acerca de nuestras culturas ancestrales, se podrán realizar búsquedas de la siguiente manera:

· Culturas ancestrales ubicadas en el norte de Guatemala

· Lengua que hablan en quiche

· Costumbres de los kakchiqueles

· Lenguas que se hablan en Alta verapaz

Nota:

El proyecto cuenta con ciertas limitantes:

  • Se debe de realizar mejoras en lo que a búsquedas se refiere, ya que hay ciertos niveles a los cuales no se puede llegar.
  • Para la carga de datos no se utilizo un modelo entidad-relacion en la base de datos sino que únicamente se hizo con el API de RAP.

Sitios relacionados:

Alumnos:

Marco Alberto Villavicencio 200412488

David Alberto Garcia S.         200312780

Utilizacion de SPARQL para consultas a ontologias enero 25, 2009

Posted by robertotrujillo in MultiServicios, Uncategorized.
7 comments

Durante el desarrollo del proyecto, nos hemos percatado de la importancia de los elnguajes de consulta especvificos para ontologias. Entre estos, tenemos a SparQL, que es un lenguaje estandar para recuperacion de informacion en W3C. La importancia de SparQL radica en gran parte en su capacidad de expresar sus consultas en un lenguaje de alto nivel sin importar el formato en que estos datos han sido almacenados. Tim Berners Lee lo explica asi:

“Pretender usar la Web Semantica sin SparQL es como pretender usar una base de datos relacional sin SQL”, “SparQL hace posbile consultar informacion desde bases de datos y otros origenes de datos en sus estados primitivos a traves de la web”.

Jena es una libreria para java, la cual incluye un procesador de SparQL. En el proyecto se ha utilizado esta libreria junto con el utilitario jena2progete, que se encarga de crear un modelo de datos para MYSQL en nuestro caso. Desde la aplicacion de busquedas intelgientes, nuestra aplicacion unicamente se encarga de parsear la cadena de entrada, y convertirla a la sintaxis de SparQL, algo que se ve como:

PREFIX po: <http://wwww.owl-ontologies.com/unnamed.owl>
select empresa
were
{
?empresa po:vende po:madera .
}

En este ejemplo podemos ver claramente como la consulta se guia puramente de la logica que encierra la ontologia, y no de la forma en que los datos se encuentran almacenados en el medio.

Se decidio utilizar tambien jena para implementar las consultas mediante SparQL, debido a que de no ser asi, se deberia implementar las consultas sobre un modelo relacional, el cual no cuenta con ninguna capacidad para expresar el tipo de relaciones que las ontologias incluyen, recordemos que el modelo relacional toma su nombre de su capacidad de definir relaciones basicas entre las clases de objetos, relaciones que incluyen un campo restringido,por ejemplo “es un” “tiene un” y algunas cuantas mas.

En conclusion, el utilizar el lenguaje de consultas SparQL, nos permite realizar consultas orientadas puramente a contenidos semanticos, y no basandonos en la teoria de conjuntos como el modelo relacional, aunque disminuya la organizacion de la base de datos (jena unicamente crea alrededor de 6 tablas para cada ontologia) pero es importante notar tambien que el modelo relacional, como se menciono antes no tiene capacidades para representar la ontologia de manera optima.

Roberto Trujillo    200413252

Luis Guillen            200413086

ACADEMIA-INDUSTRIA-ESTADO enero 25, 2009

Posted by virtualizaciondeservidores in Vinculación Academia-Industria-Estado.
add a comment

 

ACADEMIA-INDUSTRIA-ESTADO

En esta Ontologia lo que se trato de hacer es hacer una vinculación de la academia-industria-estado, hacer las clases y la aplicacion para poder utilizar la ontologia creada. Como todos saben este tema es algo importante ya que tiene que ver con el desarrollo del pais y mas si estan involucrado lo que mueve al país como es la academia-industria-estado. Para realizar la ontología se utilizó el programa Protegé y para la realizacion de las páginas se uso PHP,se realizó un modelo para poder ver como se va ramifizando cada rama de la indutria academia ….. Se tiene una super clase que se llama Vinculacion que contiene a las otras 3. Se pude decir que lo que se trata es que se pongan de acuerdo lo que es la academia-industria-estado para poder gestionar conocimiento por medio del modelo de las 3 helices que realiza que haya una vinculación.

 

Jaime Cáceres 200112751

Jose Miguel Ruiz 20012603

Combinar el modelo de base de datos semantico utilizado por RAP, con un Modelo de Bases de Datos Transaccional enero 24, 2009

Posted by ddre in Ciudad Aeropuerto.
2 comments

Cuando se trabajan Ontologias, se puede utilizar RAP para que este genere un modelo persistente de nuestro diagrama de clases de la ontologia, y que sea almacenado en un DBMS. RAP utiliza PHP para poder generar las busquedas, y por medio de utilizar  ADOdb Database Abstraction Library for PHP, puede conectarse a una amplia gama de DBMS.

Ahora hay que tener en consideracion el modelo de base de datos que genera y utiliza RAP para lograr la percistencia de datos; este consiste de 3 a 4 tablas donde RAP almacena la informacion separando Sujetos, Predicados y Sentencias. Basado en estas tripletas, RAP cambia el modelo para generar los posibles sinonimos que utiliza para las busquedas inteligentes.  Las busquedas sobre estos datos son realizadas por medio de lenguajes de consultas semanticas (RDQL o SPARQL), que utilizan el grafo representado en el RDF para obtener los datos componiendo los sinonimos por medio del modelo de sujeto, predicado y sentencias, que ya sea que se encuentre almacenado en el modelo, o que se tenga que generar por medio de formarlo con la informacion disponible y devolver las coincidencias de los sinonimos encontrados con la informacion buscada.

Ahora bien, el modelo que maneja RAP es un modelo denormalizado, que es mas rapido para hacer busquedas y consultas que uno normalizado transaccional, pero por lo mismo, dificulta la manipulacion de los datos como la actualizacion, insercion y eliminacion.

Al intentar utilizar un modelo de base de datos transaccional, para poder realizar de manera mas simple las incerciones, actualizaciones y manejo de los datos, y para poder  mantener las busquedas inteligentes sobre el mismo, a parte de crear el modelo transaccional y mapear los datos a este, tambien es necesario crear un sub modelo el cual contenga los sujetos, predicados y sentencias, el cual este conectado al modelo transaccional, donde aparte de irse almacenando los sinonimos encontrados, tambien se tendran que almacenar las consultas para la busqueda de la informacion relacionada con los sinominos en el modelo transaccional en el propio lenguaje de consulta (SQL) del el DBMS. Donde cada consulta de un sinonimo, esta hecha sobre las tablas del modelo transaccional, y los sinonimos son los datos ingresados en los cuales se basa la consulta en base a la informacion percistente en el modelo transaccional.

Por lo que, para poder utilizar un modelo transaccional el cual pueda trabajar conectado a un modelo semantico, es necesario, no solo mapear los datos semanticos de los individios a entidades relacionales,  sino que tambien es necesario mapear los sinonimos hacia el sub modelo de sinonimos transaccional que trabaje sobre el modelo transaccional, al igual que las consultas sobre el mismo asociadas a cada sinonimo.

De esta forma, la utilizacion de una base de datos transaccional puede ser utilizado para este fin, pero hay que tomar en cuenta todas las conversiones necesarias que esto conlleva las cuales pueden requerir mas necesidad de procesamiento que el de solo la obtencion de la informacion requerida, asi como una herramienta que pueda automatizar todos estos procesos requeridos.

Autores:

  • David Fernando Rodas Enriquez
  • Ernesto R.  Lorenzana

Titulo Alternativo:

Lo mejor de dos mundos

Referencias Utilizadas:

http://www.w3.org/Submission/2004/SUBM-RDQL-20040109/

http://jena.sourceforge.net/ARQ/Tutorial/

http://www.semanticscripting.org/SFSW2005/papers/Oldakowski-RAP.pdf

Sobre usar un modelo de base de datos diferente a los ofrecidos por RAP enero 20, 2009

Posted by javiercito53 in Educación y TICs.
16 comments

Empecemos con mencionar algunas características de RDF:

– Convierte declaraciones de recursos en tripletas de sujeto, predicado y objeto.

– RDF esta diseñado para que las maquinas puedan identificar recursos mediante su utilización

Es decir, mediante RDF tenemos definidas tripletas y las maquinas son capaces de utilizar la información de estas tripletas para identificar recursos de manera única. La estructura de las tripletas es fundamental para que las computadoras puedan identificar los recursos mediante la utilización de rdf.

Cuando con mi grupo estuvimos tratando de utilizar un modelo de base de datos propio con RAP (muy similiar al de JENA) encontramos información sobre el almacenamiento de datos que es posible hacer en RAP. A continuación una breve explicación:

RAP tiene dos implementaciones de almacenamiento de statements: una en memoria y la otra de almacenamiento permanente. Obviamente si queremos utilizar varias veces la información que metemos en la ontología, debemos utilizar la de almacenamiento permanente. Existe también la posibilidad de utilizar la forma que trabaja únicamente en memoria y al final grabar en archivos rdf la información que hayamos ingresado, pero se vuelve una opción mas lenta que la de utilizar la base de datos en almacenamiento permanente.

Ahora bien, el modelo de base de datos a utilizar puede ser de dos formas: normalizada o desnormalizada.

El modelo desnormalizado consiste en una sola tabla donde guarda las tripletas (sujeto,predicado,objeto).

El modelo normalizado consiste en varias tablas que en conjunto guardan también las tripletas (tablas: rdf_statements, rdf_resources, rdf_literals). No hay información sobre otros tipos de modelos desnormalizados que pudan ser utilizados.

Según la documentación oficial de RAP el modelo desnormalizado es de 2 a 3 veces mas rápido que el normalizado (lo cual concuerda con la teoria de las bases de datos multi dimensionales, esquemas estrella, cubos, etc. en la que la desnormalización permite tiempo de consulta mas rápidos, aunque el tiempo de inserción es mas lento).

En base a la información anterior puede decirse que RAP utiliza la estructura de tripletas para “entender” la información que se le presenta por medio de ellas, cualquier otra estructura diferente a la de tripletas debe de ser convertida a esta estructura antes de poder ser utilizada por un razonador rdf (lo cual consumiría mas recursos). Si se quisiera de todas formas conectar un modelo propio a RAP debería de programarse el modulo que convirtiera de tripletas al modelo específico y viceversa, para poder ser compatible con RAP.

Por lo tanto el grupo de educación-tic’s no considero viable la conexión de RAP con un modelo de base de datos diferente al desnormalizado o al de N-triplets que utiliza RAP.

Fuentes:

– Rdf Api for PHP. Radoslaw Oldakowski, Christian Bizer, Daniel Westphal. www.semanticscripting.org/SFSW2005/papers/Oldakowski-RAP.pdf

– Resource Description Framework. http://es.wikipedia.org/wiki/Resource_Description_Framework

– What is RDF. http://www.xml.com/pub/a/2001/01/24/rdf.html

– Esquema estrella. http://es.wikipedia.org/wiki/Esquema_en_estrella

Geolocalizacion en OntoInvestigacion diciembre 15, 2008

Posted by gmiguel in Investigación.
Tags: , , ,
4 comments

La propuesta para realizar la ontología de Investigación fue enfocarse en búsquedas semánticas que incluirán localización de lugares en los resultados, ejemplo: Una busqueda de  artículos de investigación publicados en Guatemala, este mostraría adicional a toda la información propia del articulo, autor, etc. un mapa con una marca en la ubicación del lugar, esto permitirá a los usuarios conocer, ubicar y dar a conocer lugares.

Se utilizo el google map api para mostrar el mapa con la ubicacion, los datos esenciales para ello son la latitud  y longitud, por medio de estos dos puntos podemos marcar cualquier lugar en el mapa, en esta pagina se pueden ubicar las coordenadas de un lugar especifico.

Lo primero que necesitamos para utilizar el google map api es tener un api key, para hacer pruebas locales(en localhost) pueden utilizar este api key:

ABQIAAAAnfs7bKE82qgb3Zc2YyS-oBT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSySz_REpPq-4WZA27OwgbtyR3VcA

Este api se maneja por medio de javascript, lo primero que hay que hacer es incluir el api.

<script src=”http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAnfs7bKE82qgb3Zc2YyS-oBT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSySz_REpPq-4WZA27OwgbtyR3VcA&#8221;
type=”text/javascript”>
</script>

Ahora un pequeno ejemplo de codigo para cargar un mapa con una marca de un lugar especifica:

<script type=”text/javascript”>
//<![CDATA[
var map;
var geocoder;

var icon = new GIcon();
icon.image = G_DEFAULT_ICON.image; //utiliza la imagen default para le marca
icon.iconAnchor = new GPoint(6, 20);
icon.infoWindowAnchor = new GPoint(5, 1);

function load(lat,lng)
{

if (GBrowserIsCompatible())
{
geocoder = new GClientGeocoder();
map = new GMap2(document.getElementById(‘content’),{ size: new GSize(480,390) } );

//content es el id del div donde se mostrara el mapa
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(lat, lng), 16); // en lat y lng son los valores del lugar a mostrar, 16 es el nivel de zoom
map.setMapType(G_SATELLITE_MAP); // aqui muestra el mapa con una vista de satelite.

var point = new GLatLng(lat,lng);
var marker = new GMarker(point, {icon:icon, draggable: false});
map.addOverlay(marker);

}
}
</script>

Con este ejemplo simple ya podriamos mostrar una marca con solo obtener los valores lat y lng de vuelta por la busqueda utilizando el metodo de javascript onload: onload=”load(14.601503,-90.517)” este por lo regular se utiliza dentro de una etiqueta body o iframe.

mas informacion en:  http://code.google.com/intl/es-GT/apis/maps/