SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Downloaden Sie, um offline zu lesen
PROYECTOS DE SISTEMAS INTELIGENTES       1



                PROYECTOS DE SISTEMAS
                    INTELIGENTES


WEB SEMANTICA APLICADO A UNA AGENCIA DE TURISMO
  PARA BUSQUEDAS DE SITIOS, ENTRETENIMIENTO Y
        DIVERSION EN LAS PLAYAS DEL SUR.




                  INTEGRANTES:
               ALEJOS CAMPOS, CARLOS
                 SANCHEZ BARZOLA, JOSE
                   ORTIZ ALEGRE, LESLIE


                    PROFESOR:
                ING. MIGUEL CASMA S.


                     CICLO: XI


                 AULA: 504 - TUA
                                                                   1

                      2011

                                             Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES        2



I. Resumen Ejecutivo
En la actualidad la Web Semántica está adquiriendo una gran importancia dentro de las TIC,
siendo el sector de turismo uno de sus campos de mayor aplicación, entre otros como el
sector educación, medicina, etc. Donde el elemento principal para la elaboración de un
sistema basado en la Web Semántica es la Ontología.

El proyecto presenta el desarrollo de una Ontología de una agencia de turismo que brinda
servicios en el sur del país, la construcción de la ontología se ha realizado siguiendo la
metodología (Methontology) a través de ella se podrá obtener una mejor perspectivas de
clases y subclases relacionadas de la ontología y sobre todo darle un orden mediante los
pasos que nos brindan.

Esta Ontología ha sido desarrollada el software Protege 3.4.1 ya que esta versión tenemos un
buen dominio del proyecto ya que antes habíamos trabajado con esa versión sin tener ninguna
dificultad.



II. Objetivos y alcance del proyecto
Objetivos del proyecto

    Realizar un sistema basado en ontología y organizar el conocimiento de la agencia de
     turismo en las playas del sur del país.
    Investigar y desarrollar un prototipo utilizando la herramienta de Protege.
    Hacer búsquedas eficientes y sobre todo adecuadas a las necesidades del usuario.



Alcance del proyecto

La información que se brindará solamente abarcara las playas del Sur desde el km 41.5 (Playa
los pulpos Panamericana sur) hasta el Km. 51 (Balneario de San Bartolo). En nuestro
Proyecto llegaremos a implementar la búsqueda de empresas asociadas en la aplicación web
tales como la ubicación de la empresa, categoría de la empresa asociada, tipo de música y
comida que ofrece, etc. Para implementación del buscador usaremos la plataforma de
NetBeans y por ente código JAVA con JSP para la ontología se usara software protege 3.4.1.




                                                                                                   2




                                                                            Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES    3



III. Explicar el fundamento teórico de la técnica de IA (¿Qué es?,
propósitos, problema que resuelve, características).


Introducción

La Web Semántica tiene como objetivo fundamental mejorar el Internet ampliando la
interoperabilidad entre los sistemas informáticos usando “agentes inteligentes”.



Evolución y predicción de la Web




                                                                                         3




                                                                   Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       4


Evolución de la Web y su problema actual

      Sabemos que Internet ha tenido un crecimiento espectacular y continúa imparable.
       Internet ha proporcionado nuevas oportunidades económicas, sociales y tecnológicas.
      La Web es también el mayor repositorio de información y en él, se puede buscar
       información sobre cualquier tema imaginable.
      PROBLEMA: El crecimiento Web continua y acelerada, exceso de información,
       organización, gestión y recuperación de esa información: Edición/publicación de
       contenidos, Accesos y modificación de la información, Integración de recursos
       distribuidos en servicios de información o en servicios Web, Valoración / Confianza
       de contenidos, soluciones habituales  Insuficientes.




                                                                                                 4




                                                                          Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       5


Inicios de la Web Semántica

La Web Semántica es una propuesta realizada por el propio inventor del HTML y fundador
de la W3C, Tim Berners-Lee.

La Web Semántica surge como una extensión de la Web actual dotada de significado, esto es,
un espacio donde la información tendría un significado bien definido, de manera que pudiera
ser interpretada tanto por agentes humanos como por agentes inteligentes.



¿Qué problema resuelve la web semántica?

La web semántica resuelve dos problemas: sobrecarga de información y diversidad de
fuentes de información. El principal problema del HTML es que no logra conectar todos los
datos de una búsqueda. Así, si queremos buscar „Perú PARTIDO DE FUTBOL MAÑANA‟,
cada palabra genera una búsqueda y tendremos cientos de datos de Perú, de partidos y del
mañana.

Con la incorporación de semántica a la Web los resultados de la búsqueda serían exactos,
eficientes y sobre todo más adecuados a las necesidades del usuario, por supuesto, se
mantienen los principios fundamentales tales como descentralización y compartición de
información.



Definición formal:

La Web Semántica es una extensión de la Web actual en la que la información se presenta
con un significado bien definido, permitiendo a los ordenadores y a las personas trabajar
conjuntamente.




                                                                                                  5




                                                                           Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       6


Capas de la Web Semántica




    Unicode:
     Nos permite tener información en la Web Semántica expresada en cualquier idioma.

    URI:
     Las referencias. Cadenas que permiten acceder de forma acertada a cualquier recurso
     de la Web.

    XML (Extensible Markup Lenguaje):
     Ofrece un formato común para el intercambio de documentos.

    NS (namespaces):
     Proporciona un método para cualificar elementos y atributos de nombres usados en
     documentos XML asociándolos con espacios de nombre identificados por referencias
     URIs.

    XML Schema:
     Es un lenguaje para describir la estructura y restringir el contenido de documentos
     XML.
                                                                                                6
    RDF +rdf schema:
     Basada en la capa anterior, define el lenguaje universal con el que podemos expresar
     diferentes ideas en la Web Semántica.


                                                                         Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES     7


    RDF:
     Es un lenguaje que define un modelo de datos para describir recursos mediante
     tripletas sujeto-predicado-objeto.

    RDF Schema:
     Es un vocabulario RDF que nos permite describir recursos mediante una orientación a
     objetos.

    Lenguaje de ontologías:
     Ofrece un criterio para catalogar y clasificar la información.

    Lógica:
     Además de ontologías se precisan reglas de inferencia.

    Pruebas:
     Se intercambiarán "pruebas" escritas en el lenguaje unificador de la Web Semántica.

    Confianza:
     Hasta que no se haya comprobado de forma exhaustiva las fuentes de información, los
     agentes deberían ser desconfiados acerca de lo que leen en la Web Semántica.

    Firma digital:
     Utilizada por los ordenadores y agentes para verificar que la información ha sido
     ofrecida por una fuente de confianza.


Estándares y tecnologías para la Web Semántica




                                                                                                 7




                                                                           Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES    8


Se menciona que para la construcción de la Ontología usaremos las recomendaciones de
los estándares respectivos como por ejemplo:

El uso de la Methontology que es una metodología creada por el Grupo de Ingeniería
Ontológica de la Universidad Politécnica de Madrid (UPM)



Ciclo de vida de METHONTOLOGY




Pasos a seguir son los siguientes:

1. Especificación.- Definir el alcance y granularidad de la ontología.

2. Conceptualización.- Permite organizar y estructurar el conocimiento adquirido mediante
tablas, lenguaje UML, jerarquías etc.

3. Implementación.- Representa la formalización de la Ontología; es decir pasar la
conceptualización de la ontología a un lenguaje como RDF, OWL, etc.

4. Evaluación.- Comprobar el funcionamiento de la ontología.



                                                                                                 8




                                                                           Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       9


Una de las partes más importantes es el Modelo Conceptual y para ello se debe seguir los
siguientes pasos:




5. Finalmente con la validación y verificación de nuestra Ontología, se espera implementar
un Sistema de Información de la Sección y además estar preparados para el futuro con la
llegada de la Web 3.




                                                                                                 9




                                                                         Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES        10


Además se necesitan algunos conceptos básicos que utilizaremos para dicha
implementación.

ONTOLOGIAS

El concepto de Ontología se basa en la descripción del mundo real, similar a la programación
orientado a objetos (POO), por lo que nos permite representarlo por medio de clases,
subclases, propiedades y además nos permite construir relaciones entre ellos además del uso
de reglas a través del cual puedan interactuar y funcionar.

Una Ontología nos proporciona un vocabulario de clases y relaciones para describir un
dominio respectivo. Actualmente existen diferentes lenguajes para el diseño de Ontologías, el
más reciente estándar dado por la W3C es el denominado como OWL.

Una vez ya definido el alcance y la conceptualización se procede a la implementación con el
software respectivo.



Lenguajes de Ontologías Web (OWL)

El lenguaje OWL está diseñado para ser usado en aplicaciones que necesitan procesar el
contenido de la información en lugar de únicamente representar información para los
humanos. El OWL facilita un mejor mecanismo de interoperabilidad de contenido Web que
los mecanismos admitidos por los lenguajes XML, RDF y RDF schemas proporcionando un
vocabulario adicional para describir propiedades y clases, relaciones entre clases con una
semántica formal, Actualmente el OWL forma parte de un conjunto creciente de
recomendaciones del W3C relacionadas con la Web Semántica.



IV. Ventajas y desventaja de la técnica de IA
Ventajas:

      El código es mucho más sencillo de desarrollar y mantener.
      Los buscadores encuentran información relevante más fácilmente.
      Es mucho más sencillo hacer modificaciones al diseño o compartir información.
      Exactitud en la búsqueda de información.
      Interoperabilidad a nivel de infraestructura, sintaxis y semántica.

Desventajas:

      Esfuerzo de desarrollo
      Baja adopción                                                                                 10
      Resistencia al cambio
      “Academicismo”



                                                                             Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES        11



V. Aplicaciones y usos prácticos de las técnicas de IA


Aplicaciones y usos prácticos tenemos en el sector de educación, medicina, a portales
turísticos, la mejora de algunos procesos judiciales, la reparación de automóviles, la
recomendación de contenidos móviles, etc.

La información disponible en Internet, será capaz de atender de forma exacta las demandas
de información por parte de los usuarios en relación, por ejemplo, a reserva de hoteles,
vuelos, médicos, libros, etc.

Por ejemplo el usuario intenta encontrar todos los vuelos a Praga para mañana por la mañana,
obtendría unos resultados exactos sobre su búsqueda. Sin embargo la realidad es otra.




 La figura 1 muestra los resultados inexactos que se obtendrían con el uso de cualquier
buscador actual, el cual ofrecería información variada sobre Praga pero que no tiene nada que
ver con lo que realmente el usuario buscaba.



                                                                                                     11




                                                                             Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES        12


El paso siguiente por parte del usuario es realizar una búsqueda manual entre esas opciones
que aparecen, con la consiguiente dificultad y pérdida de tiempo. Con la incorporación de
semántica a la Web los resultados de la búsqueda serían exactos.




La figura 2 muestra los resultados obtenidos a través de un buscador semántico. Estos
resultados ofrecen al usuario la información exacta que estaba buscando. La ubicación
geográfica desde la que el usuario envía su pregunta es detectada de forma automática sin
necesidad de especificar el punto de partida, elementos de la oración como "mañana"
adquirirían significado, convirtiéndose en un día concreto calculado en función de un "hoy".



Algo semejante ocurriría con el segundo "mañana", que sería interpretado como un momento
determinado del día. Todo ello a través de una Web en la que los datos pasan a ser
información llena de significado. El resultado final sería la obtención de forma rápida y
sencilla de todos los vuelos a Praga para mañana por la mañana.




                                                                                                    12




                                                                            Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       13



VI. Construcción de una aplicación utilizando la técnica de IA a una
realidad concreta (solución del problema)
DESCRIPCION GENERAL DE LA AGENCIA DE ENTRETENIMIENTO Y
DIVERSION EN EL SUR

SERVICIOS (Venta x paquetes)
   Paquete Dual
   Paquete Familiar
   Paquete Solitario
   Paquete Corporativo
   Paquete Económico
   Paquete Grupal
   Paquete Turista

CLIENTES
Tipos de cliente:
    Jurídico: Son aquellos clientes que están constituido por una empresa.
    Natural: Son aquellas clientes que está constituido por una persona que ejerce
       derechos y cumple obligaciones.

EMPRESAS ASOCIADAS
Son aquellas empresas que requieren a la agencia para ofrecer sus servicios a través de los
paquetes de entretenimiento y diversión q ofrece la agencia a sus clientes.

      Discotecas (VoceSur, CabashSur, El Dragón, Mister Fish, etc.)
      Locales (Aqua Blue, Waka Waka)
      Clubes (Náutico, Cafae, etc.)
      Bares (Brahama2, Free Bar, etc.)
      Hoteles (Surf Camp, Los Delfines, etc.)
      Hostales (Bravo Surf, Surf Inn, casa barco, etc.)
      Restaurantes (Santa Rosa, Sarita, Angelo‟s, etc.)

PAGO
Por el servicio, puede ser:
    Tarjeta de crédito o
    Cuenta bancaria


                                                                                                   13




                                                                           Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                                                                            14


Diagrama de Clases



                                    Hoteles                                               Servicios


                                                                                                                                       Juridica
               Hostales
                                                  Requiere                                                       Solicita



                                                                                                                            Clientes
                                                                                 VentaxPaquete

                          Empresas Asociadas
      Discotecas

                                                                                                                 Realiza
                                                                                                Depende

                                                Inversa_Requiere(ofrecen servicio para)
                                                                                                                                        Natural
      Bares_Previos
                                                                                                          Pago


                                                  Restaurantes

                      Locales


                                       Clubes                                                         Tipo de Pago

                                                                                                                                                              14



                                                                                                                                       Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                     15


DIAGRAMA DE LA ONTOLOGIA TAXONOMIA




                                                                                      15



                                                               Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                     16


CLASES Y SUBCLASES




                                                                                 16



                                                          Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                17


PROPIEDADES QUE PRESENTA LA ONTOLOGIA

Propiedades:
Cada propiedad que se define tiene un dominio y un rango. En nuestro caso tenemos las
siguientes propiedades:




       PROPIEDAD                    DOMINIO                      RANGO
Depende                     Pago                         VentaxPaquete
Inverse_of_Requiere         Empresas_Asociadas           VentaxPaquete
                            Juridico
Realiza                                                  Pago
                            Natural
Requiere                    VentaxPaquete                Empresas_Asociadas
                            Juridico
Solicita                                                 Servicio
                            Natural




                                                                                             17




                                                                      Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                   18


RESTRICCIONES

De acuerdo a nuestra ontología definimos algunas reglas en base a nuestra lógica.

CLIENTE - JURIDICO




CLIENTE – NATURAL




                                                                                                    18




                                                                             Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                  19


EMPRESAS ASOCIADAS




Todas las Empresas Asociadas (Bares_Previos, Clubes, Discotecas, etc.)




PAGO – TIPO DE PAGO




SERVICIO – VentaxPaquete




                                                                                                19




                                                                         Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                     20


INSTANCIAS
Ingresamos atributos como individuos para una clase determinada.

CLIENTES – JURIDICO




                                                                                                     20



                                                                              Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                     21


CLIENTE – NATURAL




                                                                                21



                                                         Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                     22


EMPRESAS ASOCIADAS




                                                                                 22



                                                          Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                     23


PAGO – TIPO DE PAGO




                                                                                  23



                                                           Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                     24


SERVICIO – VentaxPaquete




                                                                                       24



                                                                Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                 25


VALIDACION DEL MODELO

Validando nuestro proyecto en: http://www.mindswap.org/2003/pellet/demo.shtml




Y como resultado tenemos:




                                                                                               25




                                                                        Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES      26


CONSULTAS SPARQL

Empresas Asociadas

    Restaurantes:

prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>
SELECT *
FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>
WHERE {
?Restaurantes table:Tipo_Comida_EA ?Tipo_Comida_EA.
?Restaurantes table:Dias_de_Atencion?Dias_de_Atencion.
?Restaurantes table:Horario_Atencion_EA ?Horario_Atencion_EA.
?Restaurantes table:Telefono_Empresa ?Telefono_Empresa.
} ORDER BY ?Tipo_Comida_EA




    Locales:

prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>
SELECT *
FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>
WHERE {
 ?Locales table:Precio ?Precio.
?Locales table:Adicional_EA ?Adicional_EA.
?Locales table:Descripcion_EA ?Descripcion_EA.
?Locales table:Estado_EA ?Estado_EA.
}
ORDER BY ?Precio




                                                                                               26




                                                                        Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES      27


    Discotecas

prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>
SELECT *
FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>
WHERE {
 ?Discotecas table:Tipo_musica_ofrece_EA ?Tipo_musica_ofrece_EA.
?Discotecas table:Horario_Atencion_EA ?Horario_Atencion_EA.
?Discotecas table:Tipo_Bebidas ?Tipo_Bebidas.
?Discotecas table:Telefono_Empresa ?Telefono_Empresa.
?Discotecas table:Email_Empresa_link ?Email_Empresa_link.
?Discotecas table:Estado_EA ?Estado_EA.
} order by ?Tipo_musica_ofrece_EA




    Clubes

prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>
SELECT *
FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>
WHERE {
?Clubes table:Ubicacion_EA ?Ubicacion_EA.
?Clubes table:Precio ?Precio.
?Clubes table:Horario_Atencion_EA ?Horario_Atencion_EA.
?Clubes table:Dias_de_Atencion ?Dias_de_Atencion.
?Clubes table:Adicional_EA ?Adicional_EA.
?Clubes table:Telefono_Empresa ?Telefono_Empresa.
?Clubes table:Email_Empresa_link ?Email_Empresa_link.
} order by ?Ubicacion_EA




                                                                                               27




                                                                        Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                 28


Clientes

    Jurídico

prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>
SELECT *
FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>
WHERE {
 ?Juridico table:Email_Clie ?Email_Clie.
?Juridico table:Telefono_Empresa ?Telefono_Empresa.
?Juridico table:Nro_Ruc ?Nro_Ruc.
?Juridico table:Realiza ?Realiza.
}




    Natural

prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>
SELECT *
FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>
WHERE {
 ?Natural table:DNI_Pasaporte_clie ?DNI_Pasaporte_clie.
?Natural table:Telefono_Clie ?Telefono_Clie.
?Natural table:Solicita ?Solicita.
?Natural table:Email_Clie ?Email_Clie.
?Natural table:Realiza ?Realiza.
}




                                                                                               28




                                                                        Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES                 29


PAGO

    Tipo de Pago

prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>
SELECT *
FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>
WHERE {
?Tipo_Pago table:Nro_tarjetaCredito_O_Cuenta ?Nro_tarjetaCredito_O_Cuenta.
?Pago table:Depende ?Depende.
}




    Tipo de Pago depende de la VentaxPaquete

prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>
SELECT *
FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>
WHERE {
?Tipo_Pago table:Depende ?Depende.
}




                                                                                               29




                                                                        Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       30


SERVICIO

    VentaxPaquete

prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>
SELECT *
FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>
WHERE {
 ?VentaxPaquete table:Precio ?Precio.
?VentaxPaquete table:Requiere ?Requiere.
}




                                                                                                30




                                                                         Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES         31




OTRO TIPO DE CONSULTAS

    Clientes que pagado tarjeta de crédito y con qué tipo de tarjeta ha pagado

prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>
SELECT ?Cliente ?Tarjeta_Credito ?Nro_tarjetaCredito_O_Cuenta
?Tipo_Tarjeta
FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>
WHERE {
?Cliente table:Realiza ?Realiza.
?Tarjeta_Credito table:Nro_tarjetaCredito_O_Cuenta?Nro_tarjetaCredito_O_Cuenta.
?Tarjeta_Credito table:Tipo_Tarjeta?Tipo_Tarjeta.
}




    Venta por Paquete (Orden)

prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>
SELECT ?VentaxPaquete ?Precio
FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>
WHERE {
?VentaxPaquete table:Precio?Precio.
?VentaxPaquete table:Requiere?Requiere.
}ORDER BY ASC(?Precio) LIMIT 10 OFFSET 20
                                                                                                  31




                                                                           Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       32


    Consultas con Filtros

En este caso buscamos como filtro a “carlosac88”

prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>
SELECT *
FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>
WHERE {
?Natural table:Email_Clie ?Email_Clie.
FILTER regex(?Email_Clie, "^carlosac88")
}




Ahora buscamos como filtro el CLUB “El Bosque”

prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>
SELECT *
FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>
WHERE {
?Clubes table:Ubicacion_EA ?Ubicacion_EA.
Filter(?Clubes = :El_Bosque)
}




                                                                                                 32




                                                                          Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       33



CONEXIÓN CON JENA
package ServicioAgencia;

import com.hp.hpl.jena.ontology.OntClass;

import com.hp.hpl.jena.ontology.OntModel;

import com.hp.hpl.jena.ontology.OntProperty;

import com.hp.hpl.jena.ontology.OntModelSpec;

import com.hp.hpl.jena.rdf.model.ModelFactory;

import com.hp.hpl.jena.util.FileManager;

import com.hp.hpl.jena.util.iterator.ExtendedIterator;



public class Clase {

    public static void main(String[] args) {

      // TODO code application logic here

      OntModel model = null;



// crear un modelo utilizando como razonador OWL_MEM_RULE_INF

model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF );



// abrir el archivo con la ontología

java.io.InputStream in = FileManager.get().open( "pc3.owl" );

if (in == null) {

    throw new IllegalArgumentException("Archivo no encontrado");

}
                                                                                                       33


// leer el archivo RDF/XML

                                                                                Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       34


model.read(in, "");



//

// El siguiente código muestra un listado con las clases e instancias existentes en el modelo

//

System.out.println( "Clases/Instancias");

System.out.println( "=================");

ExtendedIterator iteratorClasses = model.listClasses();

while ( iteratorClasses.hasNext() ){

     OntClass ontClass = (OntClass) iteratorClasses.next();

     System.out.println( ontClass );



     ExtendedIterator iteratorInstances = ontClass.listInstances();

     while ( iteratorInstances.hasNext() ){

     System.out.println( "t"+iteratorInstances.next() );

     }

     System.out.println("");

}

     }

}




                                                                                                          34




                                                                                   Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       35




CONSULTAS:

ConsultaClienteJuridico:

package ServicioAgencia;

import com.hp.hpl.jena.ontology.OntModel;

import com.hp.hpl.jena.ontology.OntModelSpec;

import com.hp.hpl.jena.query.QueryExecution;

import com.hp.hpl.jena.query.QueryExecutionFactory;

import com.hp.hpl.jena.query.QueryFactory;

import com.hp.hpl.jena.query.ResultSet;

import com.hp.hpl.jena.query.ResultSetFormatter;

import com.hp.hpl.jena.rdf.model.ModelFactory;

import com.hp.hpl.jena.util.FileManager;



public class ConsultaClienteJuridico {                                                           35

  public static void main(String[] args) {

    // TODO code application logic here
                                                                          Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       36




     OntModel model = null;

//String ns = "http://www.example.com/PruebasOntology.owl";



// crear un modelo utilizando como razonador OWL_MEM_RULE_INF

model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF );



// abrir el archivo con la ontología

java.io.InputStream in = FileManager.get().open( "pc3.owl" );

if (in == null) {

     throw new IllegalArgumentException("Archivo no encontrado");

}



// leer el archivo RDF/XML

model.read(in, "");



//

// El siguiente código ejecuta una consulta sparql que

// devuelve todas las canciones cuyo autor es Elvis Presley

//



String queryString =

       "prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>"+
                                                                                                       36
"SELECT *"+

"FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>"+


                                                                                Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       37


"WHERE" +

         " {"+

"?Juridico table:Solicita ?Solicita. "+

    "?Juridico table:Realiza ?Realiza. "+

    "?Juridico table:Nro_Ruc ?Nro_Ruc. "+

"?Juridico table:Email_Clie ?Email_Clie. "+

"?Juridico table:Telefono_Empresa?Telefono_Empresa."+

    "}";

         com.hp.hpl.jena.query.Query query = QueryFactory.create(queryString);

// Ejecutar la consulta y obtener los resultados

QueryExecution qe = QueryExecutionFactory.create(query, model);

try {

    ResultSet results = qe.execSelect();

    ResultSetFormatter.out(System.out, results, query) ;

} finally { qe.close() ; }

     }

}




                                                                                                         37




                                                                                  Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       38




ConsultaClienteNatural:

package ServicioAgencia;

import com.hp.hpl.jena.ontology.OntModel;

import com.hp.hpl.jena.ontology.OntModelSpec;

import com.hp.hpl.jena.query.QueryExecution;

import com.hp.hpl.jena.query.QueryExecutionFactory;

import com.hp.hpl.jena.query.QueryFactory;

import com.hp.hpl.jena.query.ResultSet;

import com.hp.hpl.jena.query.ResultSetFormatter;

import com.hp.hpl.jena.rdf.model.ModelFactory;

import com.hp.hpl.jena.util.FileManager;

public class ConsultaClienteNatural {

    public static void main(String[] args) {

      // TODO code application logic here

     OntModel model = null;

String ns = "http://www.example.com/PruebasOntology.owl";

// crear un modelo utilizando como razonador OWL_MEM_RULE_INF

model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF );

// abrir el archivo con la ontología

java.io.InputStream in = FileManager.get().open( "pc3.owl" );

if (in == null) {
                                                                                                   38
    throw new IllegalArgumentException("Archivo no encontrado");

}


                                                                            Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       39


// leer el archivo RDF/XML

model.read(in, "");

//

// El siguiente código ejecuta una consulta sparql que

//

String queryString =

          "prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>"+

"SELECT *"+

"FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>"+

"WHERE" +

          " {"+

         "?Natural table:Realiza ?Realiza. "+

         "?Natural table:Solicita ?Solicita. "+

         "?Natural table:Email_Clie ?Email_Clie. "+

         "?Natural table:Telefono_Clie ?Telefono_Clie. "+

         "?Natural table:DNI_Pasaporte_clie ?DNI_Pasaporte_clie. "+

"} order by?Realiza";

          com.hp.hpl.jena.query.Query query = QueryFactory.create(queryString);

// Ejecutar la consulta y obtener los resultados

QueryExecution qe = QueryExecutionFactory.create(query, model);

try {

     ResultSet results = qe.execSelect();

     ResultSetFormatter.out(System.out, results, query) ;
                                                                                                          39
} finally { qe.close() ; }

     }


                                                                                   Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       40


}




ConsultaEA:

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/



package ServicioAgencia;



import com.hp.hpl.jena.ontology.OntModel;

import com.hp.hpl.jena.ontology.OntModelSpec;

import com.hp.hpl.jena.query.QueryExecution;

import com.hp.hpl.jena.query.QueryExecutionFactory;

import com.hp.hpl.jena.query.QueryFactory;

import com.hp.hpl.jena.query.ResultSet;

import com.hp.hpl.jena.query.ResultSetFormatter;
                                                                                                    40
import com.hp.hpl.jena.rdf.model.ModelFactory;

import com.hp.hpl.jena.util.FileManager;

                                                                             Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       41


public class ConsultaEA {

     /**

     * @param args the command line arguments

     */

     public static void main(String[] args) {

       // TODO code application logic here

       OntModel model = null;

String ns = "http://www.example.com/PruebasOntology.owl";

// crear un modelo utilizando como razonador OWL_MEM_RULE_INF

model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF );



// abrir el archivo con la ontología

java.io.InputStream in = FileManager.get().open( "pc3.owl" );

if (in == null) {

     throw new IllegalArgumentException("Archivo no encontrado");

}

// leer el archivo RDF/XML

model.read(in, "");

//

// El siguiente código ejecuta una consulta sparql que

// devuelve todas las canciones cuyo autor es Elvis Presley

//

String queryString =
                                                                                                       41
       "prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>"+

"SELECT *"+


                                                                                Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       42


"FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>"+

"WHERE" +

         " {"+

// "?Restaurantes table:Tipo_Comida_EA ?Tipo_Comida_EA. "+

//"?Hotel table:Categoria_EA ?Categoria_EA . "+

"?Discotecas table:Tipo_musica_ofrece_EA ?Tipo_musica_ofrece_EA. "+

    /*"?Clubes table:Precio ?Precio. "+

    "?Clubes table:Ubicacion_EA ?Ubicacion_EA. "+ */

"}";

         com.hp.hpl.jena.query.Query query = QueryFactory.create(queryString);

// Ejecutar la consulta y obtener los resultados

QueryExecution qe = QueryExecutionFactory.create(query, model);



try {

    ResultSet results = qe.execSelect();

    ResultSetFormatter.out(System.out, results, query) ;

} finally { qe.close() ; }

     }

}




                                                                                                         42




                                                                                  Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       43


                           IMPLEMENTACION VIA WEB AEDS

Diseño:




CODIGO :

BusquedaCliente.Java

package ServicioAgencia;



import ServicioAgencia.Formato.*;

import com.hp.hpl.jena.ontology.*;

import com.hp.hpl.jena.query.*;

import com.hp.hpl.jena.rdf.model.*;

import com.hp.hpl.jena.util.*;


                                                                                          43
public class BusquedaCliente {

String t;


                                                                   Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       44


private Formateo f=null;



public String cj(String var, String tipo){

    System.out.print("nnn holaaa: "+tipo+"nnn");

    ResultSet results;

    OntModel model = null;

    model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF );

java.io.InputStream in = FileManager.get().open( "http://localhost:8084/aeds_web/pc3.owl" );

if (in == null) {

    throw new IllegalArgumentException("Archivo no encontrado");

}

model.read(in, "");

String queryString ="prefix table: <http://www.owl-
ontologies.com/Ontology1301858667.owl#>"+

"SELECT * "+

"FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>"+

"WHERE" +

       " {"+

"?Juridico table:Email_Clie ?Email_Clie. "+

"FILTER regex(?Email_Clie, '^"+var+"')"+

"}";



com.hp.hpl.jena.query.Query query = QueryFactory.create(queryString);
                                                                                                       44

// Ejecutar la consulta y obtener los resultados


                                                                                Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES          45


QueryExecution qe = QueryExecutionFactory.create(query, model);



try {

    results = qe.execSelect();

 t=ResultSetFormatter.asXMLString( results,"http://www.w3.org/TR/rdf-sparql-
XMLres/result-to-html.xsl");

} finally { qe.close() ; }

f=new Formateo();

String s =f.tabuladorXML(f.eliminaOrigen(t));

return s;

}



public String cn(String var, String tipo){

    ResultSet results;

    OntModel model = null;

    model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF );

java.io.InputStream in = FileManager.get().open( "http://localhost:8084/aeds_web/pc3.owl" );

if (in == null) {

    throw new IllegalArgumentException("Archivo no encontrado");

}

model.read(in, "");

String queryString="prefix table: <http://www.owl-
ontologies.com/Ontology1301858667.owl#>"+

"SELECT * "+
                                                                                                      45
"FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>"+

"WHERE" +

                                                                               Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       46


        " {"+

"?Natural table:Solicita ?Solicita. "+

"FILTER regex(?Solicita, '^"+var+"')"+

"}";




com.hp.hpl.jena.query.Query query = QueryFactory.create(queryString);



// Ejecutar la consulta y obtener los resultados

QueryExecution qe = QueryExecutionFactory.create(query, model);



try {

    results = qe.execSelect();

 t=ResultSetFormatter.asXMLString( results,"http://www.w3.org/TR/rdf-sparql-
XMLres/result-to-html.xsl");

} finally { qe.close() ; }

f=new Formateo();

String s =f.tabuladorXML(f.eliminaOrigen(t));

return s;

}

    }




                                                                                                  46




                                                                           Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       47


CLIENTES.JSP




CLIENTE.JSP




                                                             47




                                      Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES           48



VII. Explicación general del sistema inteligente (software)


                       PRUEBA DE LA APLICACIÓN WEB AEDS

                                 (Buscador del archivo Owl)

Buscador de Cliente por correo electrónico no es necesario escribir el correo completo con solo
poner una letra busca a todos los correos que empieza con esa letra que ha ingresado al
buscador.




                                                                                                       48




                                                                               Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES       49




                                              49




                       Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES        50




Implementando 4 opciones de Búsqueda:
      Por Ubicación de la Empresa Asociada (Destino a donde se quiera ir)
      Por Tipo de Música (El tipo de Música que se quiera escuchar en las discotecas)
      Por Tipo de Comida (El tipo de Comida que se desea)
      Por Categoría (Para búsqueda de qué tipo de establecimiento se desea ir)




                                                                                                 50




                                                                          Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES         51


Búsqueda de Las Empresas Asociadas en “San Bartolo”




Búsqueda del tipo de Música en determinadas Discotecas del Sur, por ejemplo “Regge”




                                                                                                   51




                                                                            Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES          52


Búsqueda de los tipos de comida que sirven en los Restaurantes, por ejemplo: “Buffet”




Búsqueda de los establecimientos según su categoría, por ejemplo: “Hotel”




                                                                                                      52




                                                                               Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES            53



VIII. Conclusiones y Recomendaciones.

El proyecto elaborado promueve el turismo en las playas del sur del país a través de una agencia
de entretenimiento y diversión, muy aparte de brindar sus paquetes turístico, quiere dar la opción
al cliente o futuro cliente de realizar búsquedas de las empresas asociadas a la agencia y así las
personas interesada podrán averiguar su ubicación, categoría, precio que ofrece cada empresa
asociada a la agencia.

Todo esto se obtendrá a partir de la implementación de un buscador semántico al portal de la
agencia que a través de esta implementación gestionará mejor la información solicitada por las
personas interesadas, mediante la construcción de un ontología guiándose de la Methontology
mediante una herramienta llamada Protege en la cual se definirá las clases, subclase, instancias y
sobre todo las reglas que dependerá del negocio, esta herramienta nos ayudará mucho en la
elaboración del OWL que contiene XML y RDF, se podrá tener una información organizada y
búsquedas eficaces.

Para la elaboración ontología en la herramienta protege a la hora de validación nos salió errores
que al final lo resolvimos:

   1. No acepta “ñ” en los campos: por ejemplo discoteca “La cabaña”.
   2. No respetamos el orden de la Methontology en algunos aspectos: Se puso primero las
      instancias, luego las reglas y era al revés.
   3. No utilizamos los validadores por cada cambio que se hacía, grave error, basta que borres
      una instancia, una clase, una regla después todo el programa sale “Error”.
   4. Owl generado antes de modificarlo se debe guardar otro para que a la hora de modificar
      el Owl original no se dañe.




                                                                                                          53




                                                                                 Web Semantica |
PROYECTOS DE SISTEMAS INTELIGENTES            54



IX. Lecciones aprendidas

El proyecto fue elaborado por tres personas de lo cual repartimos e intercambiamos roles para
ellos y llegamos a una conclusión para este proyecto. Se necesitó un integrante que gestione, otro
integrante que programe y un integrante investigador.

Mediante este proyecto aprendimos usar la herramienta protege versión 3.4.1 que nos facilitó
hacer el código Owl; a través de la librería Jena nos facilitó exportar datos y hacer las consulta
Sparql de modo consola en la plataforma NetBeans y a través de los blogs nos facilitó el código
java de conexión y de las consultas en modo consola.

Se llegó a implementar el buscador semántico pero a un nivel básico uno de los factores fueron:
El tiempo que perdimos en la validación ya que no lo hicimos por modificación (ya sea instancia
borradas, clases y subclases, reglas no asociadas, etc.) del Owl si no al final teniendo como
consecuencia errores en el Owl.

Para llevar al portal nos costó mucho esfuerzo ya que algunas cosas no eran obvias como dicen
en algunas webs además no se encuentra mucha información acerca de implementación
buscadores semántico en NetBeans con código java y jsp, en este caso para implementarlo en la
web de lo que se ha visto en internet más lo enfocan con php y otras herramientas.

X. Referencias bibliográficas

http://www.figmm.uni.edu.pe/Publicaciones/articulopostfinal.pdf
http://www.cesarcabrera.info/proyectoGrado/
http://www.lluiscodina.com/webSemanticaOntologias2007.pdf
http://arantxa.ii.uam.es/~castells/publications/castells-uclm03.pdf
http://csrinaldi.blogspot.com/
http://www.sedic.es/gt_normalizacion_tutorial_ontologias.pdf
http://www.aab.es/pdfs/jba15/10-Ontologia_e_inteligencia_artificial.pdf

VIDEOS:
http://wn.com/Ontologia_en_Prot%C3%A9g%C3%A9_y_RAP
http://www.youtube.com/watch?v=mtiUxYV4ZQQ&NR=1
http://www.youtube.com/watch?v=lYaas93Va8g
http://wn.com/Ontologia_en_Prot%C3%A9g%C3%A9_y_RAP
http://www.youtube.com/watch?v=EmK_iuqVyT0&feature=related
                                                                                                          54




                                                                                 Web Semantica |

Weitere ähnliche Inhalte

Was ist angesagt?

Desarrollo de un agente buscador inteligente de metadatos
Desarrollo de un agente buscador inteligente  de metadatosDesarrollo de un agente buscador inteligente  de metadatos
Desarrollo de un agente buscador inteligente de metadatosHugo Banda
 
Taller como mejorar la busqueda de informacion en internet con metadatos
Taller como mejorar la busqueda de informacion en internet con metadatosTaller como mejorar la busqueda de informacion en internet con metadatos
Taller como mejorar la busqueda de informacion en internet con metadatosPhilippe Boland
 
PresentacióN De La Tesis
PresentacióN De La TesisPresentacióN De La Tesis
PresentacióN De La TesisGEOVAN21
 
LA WEB DIAPOSITIVAS
LA WEB DIAPOSITIVASLA WEB DIAPOSITIVAS
LA WEB DIAPOSITIVASanactejeda
 
Relación de una Web Semántica CIS-UNL
Relación de una Web Semántica CIS-UNLRelación de una Web Semántica CIS-UNL
Relación de una Web Semántica CIS-UNLAndreita Armijos C
 

Was ist angesagt? (6)

Desarrollo de un agente buscador inteligente de metadatos
Desarrollo de un agente buscador inteligente  de metadatosDesarrollo de un agente buscador inteligente  de metadatos
Desarrollo de un agente buscador inteligente de metadatos
 
SemanticWebBuilder
SemanticWebBuilderSemanticWebBuilder
SemanticWebBuilder
 
Taller como mejorar la busqueda de informacion en internet con metadatos
Taller como mejorar la busqueda de informacion en internet con metadatosTaller como mejorar la busqueda de informacion en internet con metadatos
Taller como mejorar la busqueda de informacion en internet con metadatos
 
PresentacióN De La Tesis
PresentacióN De La TesisPresentacióN De La Tesis
PresentacióN De La Tesis
 
LA WEB DIAPOSITIVAS
LA WEB DIAPOSITIVASLA WEB DIAPOSITIVAS
LA WEB DIAPOSITIVAS
 
Relación de una Web Semántica CIS-UNL
Relación de una Web Semántica CIS-UNLRelación de una Web Semántica CIS-UNL
Relación de una Web Semántica CIS-UNL
 

Andere mochten auch

Fgr fondo de pensiones pdvsa
Fgr fondo de pensiones pdvsaFgr fondo de pensiones pdvsa
Fgr fondo de pensiones pdvsaIsmael Garcia
 
Reconsideração Google
Reconsideração GoogleReconsideração Google
Reconsideração Googlemiguelsilvar
 
EL MAESTRO ARCADIO ZUBIETA VIVE POR SIEMPRE
EL MAESTRO ARCADIO ZUBIETA VIVE POR SIEMPREEL MAESTRO ARCADIO ZUBIETA VIVE POR SIEMPRE
EL MAESTRO ARCADIO ZUBIETA VIVE POR SIEMPREZuniga Agustin
 
математик а
математик аматематик а
математик аshuree53
 

Andere mochten auch (8)

Incotermscamaras 120131075914-phpapp01
Incotermscamaras 120131075914-phpapp01Incotermscamaras 120131075914-phpapp01
Incotermscamaras 120131075914-phpapp01
 
Fgr fondo de pensiones pdvsa
Fgr fondo de pensiones pdvsaFgr fondo de pensiones pdvsa
Fgr fondo de pensiones pdvsa
 
Educacion Virtual
Educacion VirtualEducacion Virtual
Educacion Virtual
 
Primer aniversari mogas
Primer aniversari mogasPrimer aniversari mogas
Primer aniversari mogas
 
TNS mobile life_ 2012
TNS mobile life_ 2012TNS mobile life_ 2012
TNS mobile life_ 2012
 
Reconsideração Google
Reconsideração GoogleReconsideração Google
Reconsideração Google
 
EL MAESTRO ARCADIO ZUBIETA VIVE POR SIEMPRE
EL MAESTRO ARCADIO ZUBIETA VIVE POR SIEMPREEL MAESTRO ARCADIO ZUBIETA VIVE POR SIEMPRE
EL MAESTRO ARCADIO ZUBIETA VIVE POR SIEMPRE
 
математик а
математик аматематик а
математик а
 

Ähnlich wie PDF DE APOYO

TecnologíAs Y Herramientas De La Web SemáNtica
TecnologíAs Y Herramientas De La Web SemáNticaTecnologíAs Y Herramientas De La Web SemáNtica
TecnologíAs Y Herramientas De La Web SemáNticaJavier Capa
 
Monografia ontologias - Primera Aproximación
Monografia ontologias - Primera AproximaciónMonografia ontologias - Primera Aproximación
Monografia ontologias - Primera AproximaciónMarcos Umaño
 
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...Mundo Contact
 
Evolucion de la web
Evolucion de la webEvolucion de la web
Evolucion de la webDiegoHuera
 
Red semántica 3.0 NAJS
Red semántica 3.0 NAJSRed semántica 3.0 NAJS
Red semántica 3.0 NAJSNormaRenggli
 
Introducción a la programación de la Web Semántica
Introducción a la programación de la Web Semántica Introducción a la programación de la Web Semántica
Introducción a la programación de la Web Semántica Taniana Rodriguez
 
La Web 3.0 y la Educación
La Web 3.0 y la EducaciónLa Web 3.0 y la Educación
La Web 3.0 y la EducaciónJesus Escalante
 
Tecnologia web 3
Tecnologia web 3Tecnologia web 3
Tecnologia web 3DJcuroCix
 
Tecnologia web 3
Tecnologia web 3Tecnologia web 3
Tecnologia web 3DJcuroCix
 
EVOLUCIÓN DE LA WEB
EVOLUCIÓN DE LA WEBEVOLUCIÓN DE LA WEB
EVOLUCIÓN DE LA WEBlore96p
 

Ähnlich wie PDF DE APOYO (20)

TecnologíAs Y Herramientas De La Web SemáNtica
TecnologíAs Y Herramientas De La Web SemáNticaTecnologíAs Y Herramientas De La Web SemáNtica
TecnologíAs Y Herramientas De La Web SemáNtica
 
Monografia ontologias - Primera Aproximación
Monografia ontologias - Primera AproximaciónMonografia ontologias - Primera Aproximación
Monografia ontologias - Primera Aproximación
 
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...
La nuevas tendencias de comunicación con el ciudadano. Estrategia en Web: Por...
 
La web semantica
La web semanticaLa web semantica
La web semantica
 
web semantica
web semanticaweb semantica
web semantica
 
Web Semanticammj
Web SemanticammjWeb Semanticammj
Web Semanticammj
 
Internet
InternetInternet
Internet
 
Web semantica
Web semanticaWeb semantica
Web semantica
 
Evolucion de la web
Evolucion de la webEvolucion de la web
Evolucion de la web
 
Red semántica 3.0 NAJS
Red semántica 3.0 NAJSRed semántica 3.0 NAJS
Red semántica 3.0 NAJS
 
Introducción a la programación de la Web Semántica
Introducción a la programación de la Web Semántica Introducción a la programación de la Web Semántica
Introducción a la programación de la Web Semántica
 
Evolucion dela web
Evolucion dela webEvolucion dela web
Evolucion dela web
 
Web semantica
Web semanticaWeb semantica
Web semantica
 
La Web 3.0 y la Educación
La Web 3.0 y la EducaciónLa Web 3.0 y la Educación
La Web 3.0 y la Educación
 
Tecnologia web 3
Tecnologia web 3Tecnologia web 3
Tecnologia web 3
 
Tecnologia web 3
Tecnologia web 3Tecnologia web 3
Tecnologia web 3
 
Web semántica y web 2.0
Web semántica y web 2.0Web semántica y web 2.0
Web semántica y web 2.0
 
EVOLUCIÓN DE LA WEB
EVOLUCIÓN DE LA WEBEVOLUCIÓN DE LA WEB
EVOLUCIÓN DE LA WEB
 
WEB's
WEB'sWEB's
WEB's
 
WEB's
WEB's WEB's
WEB's
 

Kürzlich hochgeladen

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 

Kürzlich hochgeladen (11)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

PDF DE APOYO

  • 1. PROYECTOS DE SISTEMAS INTELIGENTES 1 PROYECTOS DE SISTEMAS INTELIGENTES WEB SEMANTICA APLICADO A UNA AGENCIA DE TURISMO PARA BUSQUEDAS DE SITIOS, ENTRETENIMIENTO Y DIVERSION EN LAS PLAYAS DEL SUR. INTEGRANTES: ALEJOS CAMPOS, CARLOS SANCHEZ BARZOLA, JOSE ORTIZ ALEGRE, LESLIE PROFESOR: ING. MIGUEL CASMA S. CICLO: XI AULA: 504 - TUA 1 2011 Web Semantica |
  • 2. PROYECTOS DE SISTEMAS INTELIGENTES 2 I. Resumen Ejecutivo En la actualidad la Web Semántica está adquiriendo una gran importancia dentro de las TIC, siendo el sector de turismo uno de sus campos de mayor aplicación, entre otros como el sector educación, medicina, etc. Donde el elemento principal para la elaboración de un sistema basado en la Web Semántica es la Ontología. El proyecto presenta el desarrollo de una Ontología de una agencia de turismo que brinda servicios en el sur del país, la construcción de la ontología se ha realizado siguiendo la metodología (Methontology) a través de ella se podrá obtener una mejor perspectivas de clases y subclases relacionadas de la ontología y sobre todo darle un orden mediante los pasos que nos brindan. Esta Ontología ha sido desarrollada el software Protege 3.4.1 ya que esta versión tenemos un buen dominio del proyecto ya que antes habíamos trabajado con esa versión sin tener ninguna dificultad. II. Objetivos y alcance del proyecto Objetivos del proyecto  Realizar un sistema basado en ontología y organizar el conocimiento de la agencia de turismo en las playas del sur del país.  Investigar y desarrollar un prototipo utilizando la herramienta de Protege.  Hacer búsquedas eficientes y sobre todo adecuadas a las necesidades del usuario. Alcance del proyecto La información que se brindará solamente abarcara las playas del Sur desde el km 41.5 (Playa los pulpos Panamericana sur) hasta el Km. 51 (Balneario de San Bartolo). En nuestro Proyecto llegaremos a implementar la búsqueda de empresas asociadas en la aplicación web tales como la ubicación de la empresa, categoría de la empresa asociada, tipo de música y comida que ofrece, etc. Para implementación del buscador usaremos la plataforma de NetBeans y por ente código JAVA con JSP para la ontología se usara software protege 3.4.1. 2 Web Semantica |
  • 3. PROYECTOS DE SISTEMAS INTELIGENTES 3 III. Explicar el fundamento teórico de la técnica de IA (¿Qué es?, propósitos, problema que resuelve, características). Introducción La Web Semántica tiene como objetivo fundamental mejorar el Internet ampliando la interoperabilidad entre los sistemas informáticos usando “agentes inteligentes”. Evolución y predicción de la Web 3 Web Semantica |
  • 4. PROYECTOS DE SISTEMAS INTELIGENTES 4 Evolución de la Web y su problema actual  Sabemos que Internet ha tenido un crecimiento espectacular y continúa imparable. Internet ha proporcionado nuevas oportunidades económicas, sociales y tecnológicas.  La Web es también el mayor repositorio de información y en él, se puede buscar información sobre cualquier tema imaginable.  PROBLEMA: El crecimiento Web continua y acelerada, exceso de información, organización, gestión y recuperación de esa información: Edición/publicación de contenidos, Accesos y modificación de la información, Integración de recursos distribuidos en servicios de información o en servicios Web, Valoración / Confianza de contenidos, soluciones habituales  Insuficientes. 4 Web Semantica |
  • 5. PROYECTOS DE SISTEMAS INTELIGENTES 5 Inicios de la Web Semántica La Web Semántica es una propuesta realizada por el propio inventor del HTML y fundador de la W3C, Tim Berners-Lee. La Web Semántica surge como una extensión de la Web actual dotada de significado, esto es, un espacio donde la información tendría un significado bien definido, de manera que pudiera ser interpretada tanto por agentes humanos como por agentes inteligentes. ¿Qué problema resuelve la web semántica? La web semántica resuelve dos problemas: sobrecarga de información y diversidad de fuentes de información. El principal problema del HTML es que no logra conectar todos los datos de una búsqueda. Así, si queremos buscar „Perú PARTIDO DE FUTBOL MAÑANA‟, cada palabra genera una búsqueda y tendremos cientos de datos de Perú, de partidos y del mañana. Con la incorporación de semántica a la Web los resultados de la búsqueda serían exactos, eficientes y sobre todo más adecuados a las necesidades del usuario, por supuesto, se mantienen los principios fundamentales tales como descentralización y compartición de información. Definición formal: La Web Semántica es una extensión de la Web actual en la que la información se presenta con un significado bien definido, permitiendo a los ordenadores y a las personas trabajar conjuntamente. 5 Web Semantica |
  • 6. PROYECTOS DE SISTEMAS INTELIGENTES 6 Capas de la Web Semántica  Unicode: Nos permite tener información en la Web Semántica expresada en cualquier idioma.  URI: Las referencias. Cadenas que permiten acceder de forma acertada a cualquier recurso de la Web.  XML (Extensible Markup Lenguaje): Ofrece un formato común para el intercambio de documentos.  NS (namespaces): Proporciona un método para cualificar elementos y atributos de nombres usados en documentos XML asociándolos con espacios de nombre identificados por referencias URIs.  XML Schema: Es un lenguaje para describir la estructura y restringir el contenido de documentos XML. 6  RDF +rdf schema: Basada en la capa anterior, define el lenguaje universal con el que podemos expresar diferentes ideas en la Web Semántica. Web Semantica |
  • 7. PROYECTOS DE SISTEMAS INTELIGENTES 7  RDF: Es un lenguaje que define un modelo de datos para describir recursos mediante tripletas sujeto-predicado-objeto.  RDF Schema: Es un vocabulario RDF que nos permite describir recursos mediante una orientación a objetos.  Lenguaje de ontologías: Ofrece un criterio para catalogar y clasificar la información.  Lógica: Además de ontologías se precisan reglas de inferencia.  Pruebas: Se intercambiarán "pruebas" escritas en el lenguaje unificador de la Web Semántica.  Confianza: Hasta que no se haya comprobado de forma exhaustiva las fuentes de información, los agentes deberían ser desconfiados acerca de lo que leen en la Web Semántica.  Firma digital: Utilizada por los ordenadores y agentes para verificar que la información ha sido ofrecida por una fuente de confianza. Estándares y tecnologías para la Web Semántica 7 Web Semantica |
  • 8. PROYECTOS DE SISTEMAS INTELIGENTES 8 Se menciona que para la construcción de la Ontología usaremos las recomendaciones de los estándares respectivos como por ejemplo: El uso de la Methontology que es una metodología creada por el Grupo de Ingeniería Ontológica de la Universidad Politécnica de Madrid (UPM) Ciclo de vida de METHONTOLOGY Pasos a seguir son los siguientes: 1. Especificación.- Definir el alcance y granularidad de la ontología. 2. Conceptualización.- Permite organizar y estructurar el conocimiento adquirido mediante tablas, lenguaje UML, jerarquías etc. 3. Implementación.- Representa la formalización de la Ontología; es decir pasar la conceptualización de la ontología a un lenguaje como RDF, OWL, etc. 4. Evaluación.- Comprobar el funcionamiento de la ontología. 8 Web Semantica |
  • 9. PROYECTOS DE SISTEMAS INTELIGENTES 9 Una de las partes más importantes es el Modelo Conceptual y para ello se debe seguir los siguientes pasos: 5. Finalmente con la validación y verificación de nuestra Ontología, se espera implementar un Sistema de Información de la Sección y además estar preparados para el futuro con la llegada de la Web 3. 9 Web Semantica |
  • 10. PROYECTOS DE SISTEMAS INTELIGENTES 10 Además se necesitan algunos conceptos básicos que utilizaremos para dicha implementación. ONTOLOGIAS El concepto de Ontología se basa en la descripción del mundo real, similar a la programación orientado a objetos (POO), por lo que nos permite representarlo por medio de clases, subclases, propiedades y además nos permite construir relaciones entre ellos además del uso de reglas a través del cual puedan interactuar y funcionar. Una Ontología nos proporciona un vocabulario de clases y relaciones para describir un dominio respectivo. Actualmente existen diferentes lenguajes para el diseño de Ontologías, el más reciente estándar dado por la W3C es el denominado como OWL. Una vez ya definido el alcance y la conceptualización se procede a la implementación con el software respectivo. Lenguajes de Ontologías Web (OWL) El lenguaje OWL está diseñado para ser usado en aplicaciones que necesitan procesar el contenido de la información en lugar de únicamente representar información para los humanos. El OWL facilita un mejor mecanismo de interoperabilidad de contenido Web que los mecanismos admitidos por los lenguajes XML, RDF y RDF schemas proporcionando un vocabulario adicional para describir propiedades y clases, relaciones entre clases con una semántica formal, Actualmente el OWL forma parte de un conjunto creciente de recomendaciones del W3C relacionadas con la Web Semántica. IV. Ventajas y desventaja de la técnica de IA Ventajas:  El código es mucho más sencillo de desarrollar y mantener.  Los buscadores encuentran información relevante más fácilmente.  Es mucho más sencillo hacer modificaciones al diseño o compartir información.  Exactitud en la búsqueda de información.  Interoperabilidad a nivel de infraestructura, sintaxis y semántica. Desventajas:  Esfuerzo de desarrollo  Baja adopción 10  Resistencia al cambio  “Academicismo” Web Semantica |
  • 11. PROYECTOS DE SISTEMAS INTELIGENTES 11 V. Aplicaciones y usos prácticos de las técnicas de IA Aplicaciones y usos prácticos tenemos en el sector de educación, medicina, a portales turísticos, la mejora de algunos procesos judiciales, la reparación de automóviles, la recomendación de contenidos móviles, etc. La información disponible en Internet, será capaz de atender de forma exacta las demandas de información por parte de los usuarios en relación, por ejemplo, a reserva de hoteles, vuelos, médicos, libros, etc. Por ejemplo el usuario intenta encontrar todos los vuelos a Praga para mañana por la mañana, obtendría unos resultados exactos sobre su búsqueda. Sin embargo la realidad es otra. La figura 1 muestra los resultados inexactos que se obtendrían con el uso de cualquier buscador actual, el cual ofrecería información variada sobre Praga pero que no tiene nada que ver con lo que realmente el usuario buscaba. 11 Web Semantica |
  • 12. PROYECTOS DE SISTEMAS INTELIGENTES 12 El paso siguiente por parte del usuario es realizar una búsqueda manual entre esas opciones que aparecen, con la consiguiente dificultad y pérdida de tiempo. Con la incorporación de semántica a la Web los resultados de la búsqueda serían exactos. La figura 2 muestra los resultados obtenidos a través de un buscador semántico. Estos resultados ofrecen al usuario la información exacta que estaba buscando. La ubicación geográfica desde la que el usuario envía su pregunta es detectada de forma automática sin necesidad de especificar el punto de partida, elementos de la oración como "mañana" adquirirían significado, convirtiéndose en un día concreto calculado en función de un "hoy". Algo semejante ocurriría con el segundo "mañana", que sería interpretado como un momento determinado del día. Todo ello a través de una Web en la que los datos pasan a ser información llena de significado. El resultado final sería la obtención de forma rápida y sencilla de todos los vuelos a Praga para mañana por la mañana. 12 Web Semantica |
  • 13. PROYECTOS DE SISTEMAS INTELIGENTES 13 VI. Construcción de una aplicación utilizando la técnica de IA a una realidad concreta (solución del problema) DESCRIPCION GENERAL DE LA AGENCIA DE ENTRETENIMIENTO Y DIVERSION EN EL SUR SERVICIOS (Venta x paquetes)  Paquete Dual  Paquete Familiar  Paquete Solitario  Paquete Corporativo  Paquete Económico  Paquete Grupal  Paquete Turista CLIENTES Tipos de cliente:  Jurídico: Son aquellos clientes que están constituido por una empresa.  Natural: Son aquellas clientes que está constituido por una persona que ejerce derechos y cumple obligaciones. EMPRESAS ASOCIADAS Son aquellas empresas que requieren a la agencia para ofrecer sus servicios a través de los paquetes de entretenimiento y diversión q ofrece la agencia a sus clientes.  Discotecas (VoceSur, CabashSur, El Dragón, Mister Fish, etc.)  Locales (Aqua Blue, Waka Waka)  Clubes (Náutico, Cafae, etc.)  Bares (Brahama2, Free Bar, etc.)  Hoteles (Surf Camp, Los Delfines, etc.)  Hostales (Bravo Surf, Surf Inn, casa barco, etc.)  Restaurantes (Santa Rosa, Sarita, Angelo‟s, etc.) PAGO Por el servicio, puede ser:  Tarjeta de crédito o  Cuenta bancaria 13 Web Semantica |
  • 14. PROYECTOS DE SISTEMAS INTELIGENTES 14 Diagrama de Clases Hoteles Servicios Juridica Hostales Requiere Solicita Clientes VentaxPaquete Empresas Asociadas Discotecas Realiza Depende Inversa_Requiere(ofrecen servicio para) Natural Bares_Previos Pago Restaurantes Locales Clubes Tipo de Pago 14 Web Semantica |
  • 15. PROYECTOS DE SISTEMAS INTELIGENTES 15 DIAGRAMA DE LA ONTOLOGIA TAXONOMIA 15 Web Semantica |
  • 16. PROYECTOS DE SISTEMAS INTELIGENTES 16 CLASES Y SUBCLASES 16 Web Semantica |
  • 17. PROYECTOS DE SISTEMAS INTELIGENTES 17 PROPIEDADES QUE PRESENTA LA ONTOLOGIA Propiedades: Cada propiedad que se define tiene un dominio y un rango. En nuestro caso tenemos las siguientes propiedades: PROPIEDAD DOMINIO RANGO Depende Pago VentaxPaquete Inverse_of_Requiere Empresas_Asociadas VentaxPaquete Juridico Realiza Pago Natural Requiere VentaxPaquete Empresas_Asociadas Juridico Solicita Servicio Natural 17 Web Semantica |
  • 18. PROYECTOS DE SISTEMAS INTELIGENTES 18 RESTRICCIONES De acuerdo a nuestra ontología definimos algunas reglas en base a nuestra lógica. CLIENTE - JURIDICO CLIENTE – NATURAL 18 Web Semantica |
  • 19. PROYECTOS DE SISTEMAS INTELIGENTES 19 EMPRESAS ASOCIADAS Todas las Empresas Asociadas (Bares_Previos, Clubes, Discotecas, etc.) PAGO – TIPO DE PAGO SERVICIO – VentaxPaquete 19 Web Semantica |
  • 20. PROYECTOS DE SISTEMAS INTELIGENTES 20 INSTANCIAS Ingresamos atributos como individuos para una clase determinada. CLIENTES – JURIDICO 20 Web Semantica |
  • 21. PROYECTOS DE SISTEMAS INTELIGENTES 21 CLIENTE – NATURAL 21 Web Semantica |
  • 22. PROYECTOS DE SISTEMAS INTELIGENTES 22 EMPRESAS ASOCIADAS 22 Web Semantica |
  • 23. PROYECTOS DE SISTEMAS INTELIGENTES 23 PAGO – TIPO DE PAGO 23 Web Semantica |
  • 24. PROYECTOS DE SISTEMAS INTELIGENTES 24 SERVICIO – VentaxPaquete 24 Web Semantica |
  • 25. PROYECTOS DE SISTEMAS INTELIGENTES 25 VALIDACION DEL MODELO Validando nuestro proyecto en: http://www.mindswap.org/2003/pellet/demo.shtml Y como resultado tenemos: 25 Web Semantica |
  • 26. PROYECTOS DE SISTEMAS INTELIGENTES 26 CONSULTAS SPARQL Empresas Asociadas  Restaurantes: prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#> SELECT * FROM <http://www.owl-ontologies.com/Ontology1301858667.owl> WHERE { ?Restaurantes table:Tipo_Comida_EA ?Tipo_Comida_EA. ?Restaurantes table:Dias_de_Atencion?Dias_de_Atencion. ?Restaurantes table:Horario_Atencion_EA ?Horario_Atencion_EA. ?Restaurantes table:Telefono_Empresa ?Telefono_Empresa. } ORDER BY ?Tipo_Comida_EA  Locales: prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#> SELECT * FROM <http://www.owl-ontologies.com/Ontology1301858667.owl> WHERE { ?Locales table:Precio ?Precio. ?Locales table:Adicional_EA ?Adicional_EA. ?Locales table:Descripcion_EA ?Descripcion_EA. ?Locales table:Estado_EA ?Estado_EA. } ORDER BY ?Precio 26 Web Semantica |
  • 27. PROYECTOS DE SISTEMAS INTELIGENTES 27  Discotecas prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#> SELECT * FROM <http://www.owl-ontologies.com/Ontology1301858667.owl> WHERE { ?Discotecas table:Tipo_musica_ofrece_EA ?Tipo_musica_ofrece_EA. ?Discotecas table:Horario_Atencion_EA ?Horario_Atencion_EA. ?Discotecas table:Tipo_Bebidas ?Tipo_Bebidas. ?Discotecas table:Telefono_Empresa ?Telefono_Empresa. ?Discotecas table:Email_Empresa_link ?Email_Empresa_link. ?Discotecas table:Estado_EA ?Estado_EA. } order by ?Tipo_musica_ofrece_EA  Clubes prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#> SELECT * FROM <http://www.owl-ontologies.com/Ontology1301858667.owl> WHERE { ?Clubes table:Ubicacion_EA ?Ubicacion_EA. ?Clubes table:Precio ?Precio. ?Clubes table:Horario_Atencion_EA ?Horario_Atencion_EA. ?Clubes table:Dias_de_Atencion ?Dias_de_Atencion. ?Clubes table:Adicional_EA ?Adicional_EA. ?Clubes table:Telefono_Empresa ?Telefono_Empresa. ?Clubes table:Email_Empresa_link ?Email_Empresa_link. } order by ?Ubicacion_EA 27 Web Semantica |
  • 28. PROYECTOS DE SISTEMAS INTELIGENTES 28 Clientes  Jurídico prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#> SELECT * FROM <http://www.owl-ontologies.com/Ontology1301858667.owl> WHERE { ?Juridico table:Email_Clie ?Email_Clie. ?Juridico table:Telefono_Empresa ?Telefono_Empresa. ?Juridico table:Nro_Ruc ?Nro_Ruc. ?Juridico table:Realiza ?Realiza. }  Natural prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#> SELECT * FROM <http://www.owl-ontologies.com/Ontology1301858667.owl> WHERE { ?Natural table:DNI_Pasaporte_clie ?DNI_Pasaporte_clie. ?Natural table:Telefono_Clie ?Telefono_Clie. ?Natural table:Solicita ?Solicita. ?Natural table:Email_Clie ?Email_Clie. ?Natural table:Realiza ?Realiza. } 28 Web Semantica |
  • 29. PROYECTOS DE SISTEMAS INTELIGENTES 29 PAGO  Tipo de Pago prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#> SELECT * FROM <http://www.owl-ontologies.com/Ontology1301858667.owl> WHERE { ?Tipo_Pago table:Nro_tarjetaCredito_O_Cuenta ?Nro_tarjetaCredito_O_Cuenta. ?Pago table:Depende ?Depende. }  Tipo de Pago depende de la VentaxPaquete prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#> SELECT * FROM <http://www.owl-ontologies.com/Ontology1301858667.owl> WHERE { ?Tipo_Pago table:Depende ?Depende. } 29 Web Semantica |
  • 30. PROYECTOS DE SISTEMAS INTELIGENTES 30 SERVICIO  VentaxPaquete prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#> SELECT * FROM <http://www.owl-ontologies.com/Ontology1301858667.owl> WHERE { ?VentaxPaquete table:Precio ?Precio. ?VentaxPaquete table:Requiere ?Requiere. } 30 Web Semantica |
  • 31. PROYECTOS DE SISTEMAS INTELIGENTES 31 OTRO TIPO DE CONSULTAS  Clientes que pagado tarjeta de crédito y con qué tipo de tarjeta ha pagado prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#> SELECT ?Cliente ?Tarjeta_Credito ?Nro_tarjetaCredito_O_Cuenta ?Tipo_Tarjeta FROM <http://www.owl-ontologies.com/Ontology1301858667.owl> WHERE { ?Cliente table:Realiza ?Realiza. ?Tarjeta_Credito table:Nro_tarjetaCredito_O_Cuenta?Nro_tarjetaCredito_O_Cuenta. ?Tarjeta_Credito table:Tipo_Tarjeta?Tipo_Tarjeta. }  Venta por Paquete (Orden) prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#> SELECT ?VentaxPaquete ?Precio FROM <http://www.owl-ontologies.com/Ontology1301858667.owl> WHERE { ?VentaxPaquete table:Precio?Precio. ?VentaxPaquete table:Requiere?Requiere. }ORDER BY ASC(?Precio) LIMIT 10 OFFSET 20 31 Web Semantica |
  • 32. PROYECTOS DE SISTEMAS INTELIGENTES 32  Consultas con Filtros En este caso buscamos como filtro a “carlosac88” prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#> SELECT * FROM <http://www.owl-ontologies.com/Ontology1301858667.owl> WHERE { ?Natural table:Email_Clie ?Email_Clie. FILTER regex(?Email_Clie, "^carlosac88") } Ahora buscamos como filtro el CLUB “El Bosque” prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#> SELECT * FROM <http://www.owl-ontologies.com/Ontology1301858667.owl> WHERE { ?Clubes table:Ubicacion_EA ?Ubicacion_EA. Filter(?Clubes = :El_Bosque) } 32 Web Semantica |
  • 33. PROYECTOS DE SISTEMAS INTELIGENTES 33 CONEXIÓN CON JENA package ServicioAgencia; import com.hp.hpl.jena.ontology.OntClass; import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntProperty; import com.hp.hpl.jena.ontology.OntModelSpec; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.util.FileManager; import com.hp.hpl.jena.util.iterator.ExtendedIterator; public class Clase { public static void main(String[] args) { // TODO code application logic here OntModel model = null; // crear un modelo utilizando como razonador OWL_MEM_RULE_INF model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF ); // abrir el archivo con la ontología java.io.InputStream in = FileManager.get().open( "pc3.owl" ); if (in == null) { throw new IllegalArgumentException("Archivo no encontrado"); } 33 // leer el archivo RDF/XML Web Semantica |
  • 34. PROYECTOS DE SISTEMAS INTELIGENTES 34 model.read(in, ""); // // El siguiente código muestra un listado con las clases e instancias existentes en el modelo // System.out.println( "Clases/Instancias"); System.out.println( "================="); ExtendedIterator iteratorClasses = model.listClasses(); while ( iteratorClasses.hasNext() ){ OntClass ontClass = (OntClass) iteratorClasses.next(); System.out.println( ontClass ); ExtendedIterator iteratorInstances = ontClass.listInstances(); while ( iteratorInstances.hasNext() ){ System.out.println( "t"+iteratorInstances.next() ); } System.out.println(""); } } } 34 Web Semantica |
  • 35. PROYECTOS DE SISTEMAS INTELIGENTES 35 CONSULTAS: ConsultaClienteJuridico: package ServicioAgencia; import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModelSpec; import com.hp.hpl.jena.query.QueryExecution; import com.hp.hpl.jena.query.QueryExecutionFactory; import com.hp.hpl.jena.query.QueryFactory; import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.query.ResultSetFormatter; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.util.FileManager; public class ConsultaClienteJuridico { 35 public static void main(String[] args) { // TODO code application logic here Web Semantica |
  • 36. PROYECTOS DE SISTEMAS INTELIGENTES 36 OntModel model = null; //String ns = "http://www.example.com/PruebasOntology.owl"; // crear un modelo utilizando como razonador OWL_MEM_RULE_INF model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF ); // abrir el archivo con la ontología java.io.InputStream in = FileManager.get().open( "pc3.owl" ); if (in == null) { throw new IllegalArgumentException("Archivo no encontrado"); } // leer el archivo RDF/XML model.read(in, ""); // // El siguiente código ejecuta una consulta sparql que // devuelve todas las canciones cuyo autor es Elvis Presley // String queryString = "prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>"+ 36 "SELECT *"+ "FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>"+ Web Semantica |
  • 37. PROYECTOS DE SISTEMAS INTELIGENTES 37 "WHERE" + " {"+ "?Juridico table:Solicita ?Solicita. "+ "?Juridico table:Realiza ?Realiza. "+ "?Juridico table:Nro_Ruc ?Nro_Ruc. "+ "?Juridico table:Email_Clie ?Email_Clie. "+ "?Juridico table:Telefono_Empresa?Telefono_Empresa."+ "}"; com.hp.hpl.jena.query.Query query = QueryFactory.create(queryString); // Ejecutar la consulta y obtener los resultados QueryExecution qe = QueryExecutionFactory.create(query, model); try { ResultSet results = qe.execSelect(); ResultSetFormatter.out(System.out, results, query) ; } finally { qe.close() ; } } } 37 Web Semantica |
  • 38. PROYECTOS DE SISTEMAS INTELIGENTES 38 ConsultaClienteNatural: package ServicioAgencia; import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModelSpec; import com.hp.hpl.jena.query.QueryExecution; import com.hp.hpl.jena.query.QueryExecutionFactory; import com.hp.hpl.jena.query.QueryFactory; import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.query.ResultSetFormatter; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.util.FileManager; public class ConsultaClienteNatural { public static void main(String[] args) { // TODO code application logic here OntModel model = null; String ns = "http://www.example.com/PruebasOntology.owl"; // crear un modelo utilizando como razonador OWL_MEM_RULE_INF model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF ); // abrir el archivo con la ontología java.io.InputStream in = FileManager.get().open( "pc3.owl" ); if (in == null) { 38 throw new IllegalArgumentException("Archivo no encontrado"); } Web Semantica |
  • 39. PROYECTOS DE SISTEMAS INTELIGENTES 39 // leer el archivo RDF/XML model.read(in, ""); // // El siguiente código ejecuta una consulta sparql que // String queryString = "prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>"+ "SELECT *"+ "FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>"+ "WHERE" + " {"+ "?Natural table:Realiza ?Realiza. "+ "?Natural table:Solicita ?Solicita. "+ "?Natural table:Email_Clie ?Email_Clie. "+ "?Natural table:Telefono_Clie ?Telefono_Clie. "+ "?Natural table:DNI_Pasaporte_clie ?DNI_Pasaporte_clie. "+ "} order by?Realiza"; com.hp.hpl.jena.query.Query query = QueryFactory.create(queryString); // Ejecutar la consulta y obtener los resultados QueryExecution qe = QueryExecutionFactory.create(query, model); try { ResultSet results = qe.execSelect(); ResultSetFormatter.out(System.out, results, query) ; 39 } finally { qe.close() ; } } Web Semantica |
  • 40. PROYECTOS DE SISTEMAS INTELIGENTES 40 } ConsultaEA: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package ServicioAgencia; import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModelSpec; import com.hp.hpl.jena.query.QueryExecution; import com.hp.hpl.jena.query.QueryExecutionFactory; import com.hp.hpl.jena.query.QueryFactory; import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.query.ResultSetFormatter; 40 import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.util.FileManager; Web Semantica |
  • 41. PROYECTOS DE SISTEMAS INTELIGENTES 41 public class ConsultaEA { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here OntModel model = null; String ns = "http://www.example.com/PruebasOntology.owl"; // crear un modelo utilizando como razonador OWL_MEM_RULE_INF model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF ); // abrir el archivo con la ontología java.io.InputStream in = FileManager.get().open( "pc3.owl" ); if (in == null) { throw new IllegalArgumentException("Archivo no encontrado"); } // leer el archivo RDF/XML model.read(in, ""); // // El siguiente código ejecuta una consulta sparql que // devuelve todas las canciones cuyo autor es Elvis Presley // String queryString = 41 "prefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>"+ "SELECT *"+ Web Semantica |
  • 42. PROYECTOS DE SISTEMAS INTELIGENTES 42 "FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>"+ "WHERE" + " {"+ // "?Restaurantes table:Tipo_Comida_EA ?Tipo_Comida_EA. "+ //"?Hotel table:Categoria_EA ?Categoria_EA . "+ "?Discotecas table:Tipo_musica_ofrece_EA ?Tipo_musica_ofrece_EA. "+ /*"?Clubes table:Precio ?Precio. "+ "?Clubes table:Ubicacion_EA ?Ubicacion_EA. "+ */ "}"; com.hp.hpl.jena.query.Query query = QueryFactory.create(queryString); // Ejecutar la consulta y obtener los resultados QueryExecution qe = QueryExecutionFactory.create(query, model); try { ResultSet results = qe.execSelect(); ResultSetFormatter.out(System.out, results, query) ; } finally { qe.close() ; } } } 42 Web Semantica |
  • 43. PROYECTOS DE SISTEMAS INTELIGENTES 43 IMPLEMENTACION VIA WEB AEDS Diseño: CODIGO : BusquedaCliente.Java package ServicioAgencia; import ServicioAgencia.Formato.*; import com.hp.hpl.jena.ontology.*; import com.hp.hpl.jena.query.*; import com.hp.hpl.jena.rdf.model.*; import com.hp.hpl.jena.util.*; 43 public class BusquedaCliente { String t; Web Semantica |
  • 44. PROYECTOS DE SISTEMAS INTELIGENTES 44 private Formateo f=null; public String cj(String var, String tipo){ System.out.print("nnn holaaa: "+tipo+"nnn"); ResultSet results; OntModel model = null; model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF ); java.io.InputStream in = FileManager.get().open( "http://localhost:8084/aeds_web/pc3.owl" ); if (in == null) { throw new IllegalArgumentException("Archivo no encontrado"); } model.read(in, ""); String queryString ="prefix table: <http://www.owl- ontologies.com/Ontology1301858667.owl#>"+ "SELECT * "+ "FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>"+ "WHERE" + " {"+ "?Juridico table:Email_Clie ?Email_Clie. "+ "FILTER regex(?Email_Clie, '^"+var+"')"+ "}"; com.hp.hpl.jena.query.Query query = QueryFactory.create(queryString); 44 // Ejecutar la consulta y obtener los resultados Web Semantica |
  • 45. PROYECTOS DE SISTEMAS INTELIGENTES 45 QueryExecution qe = QueryExecutionFactory.create(query, model); try { results = qe.execSelect(); t=ResultSetFormatter.asXMLString( results,"http://www.w3.org/TR/rdf-sparql- XMLres/result-to-html.xsl"); } finally { qe.close() ; } f=new Formateo(); String s =f.tabuladorXML(f.eliminaOrigen(t)); return s; } public String cn(String var, String tipo){ ResultSet results; OntModel model = null; model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF ); java.io.InputStream in = FileManager.get().open( "http://localhost:8084/aeds_web/pc3.owl" ); if (in == null) { throw new IllegalArgumentException("Archivo no encontrado"); } model.read(in, ""); String queryString="prefix table: <http://www.owl- ontologies.com/Ontology1301858667.owl#>"+ "SELECT * "+ 45 "FROM <http://www.owl-ontologies.com/Ontology1301858667.owl>"+ "WHERE" + Web Semantica |
  • 46. PROYECTOS DE SISTEMAS INTELIGENTES 46 " {"+ "?Natural table:Solicita ?Solicita. "+ "FILTER regex(?Solicita, '^"+var+"')"+ "}"; com.hp.hpl.jena.query.Query query = QueryFactory.create(queryString); // Ejecutar la consulta y obtener los resultados QueryExecution qe = QueryExecutionFactory.create(query, model); try { results = qe.execSelect(); t=ResultSetFormatter.asXMLString( results,"http://www.w3.org/TR/rdf-sparql- XMLres/result-to-html.xsl"); } finally { qe.close() ; } f=new Formateo(); String s =f.tabuladorXML(f.eliminaOrigen(t)); return s; } } 46 Web Semantica |
  • 47. PROYECTOS DE SISTEMAS INTELIGENTES 47 CLIENTES.JSP CLIENTE.JSP 47 Web Semantica |
  • 48. PROYECTOS DE SISTEMAS INTELIGENTES 48 VII. Explicación general del sistema inteligente (software) PRUEBA DE LA APLICACIÓN WEB AEDS (Buscador del archivo Owl) Buscador de Cliente por correo electrónico no es necesario escribir el correo completo con solo poner una letra busca a todos los correos que empieza con esa letra que ha ingresado al buscador. 48 Web Semantica |
  • 49. PROYECTOS DE SISTEMAS INTELIGENTES 49 49 Web Semantica |
  • 50. PROYECTOS DE SISTEMAS INTELIGENTES 50 Implementando 4 opciones de Búsqueda: Por Ubicación de la Empresa Asociada (Destino a donde se quiera ir) Por Tipo de Música (El tipo de Música que se quiera escuchar en las discotecas) Por Tipo de Comida (El tipo de Comida que se desea) Por Categoría (Para búsqueda de qué tipo de establecimiento se desea ir) 50 Web Semantica |
  • 51. PROYECTOS DE SISTEMAS INTELIGENTES 51 Búsqueda de Las Empresas Asociadas en “San Bartolo” Búsqueda del tipo de Música en determinadas Discotecas del Sur, por ejemplo “Regge” 51 Web Semantica |
  • 52. PROYECTOS DE SISTEMAS INTELIGENTES 52 Búsqueda de los tipos de comida que sirven en los Restaurantes, por ejemplo: “Buffet” Búsqueda de los establecimientos según su categoría, por ejemplo: “Hotel” 52 Web Semantica |
  • 53. PROYECTOS DE SISTEMAS INTELIGENTES 53 VIII. Conclusiones y Recomendaciones. El proyecto elaborado promueve el turismo en las playas del sur del país a través de una agencia de entretenimiento y diversión, muy aparte de brindar sus paquetes turístico, quiere dar la opción al cliente o futuro cliente de realizar búsquedas de las empresas asociadas a la agencia y así las personas interesada podrán averiguar su ubicación, categoría, precio que ofrece cada empresa asociada a la agencia. Todo esto se obtendrá a partir de la implementación de un buscador semántico al portal de la agencia que a través de esta implementación gestionará mejor la información solicitada por las personas interesadas, mediante la construcción de un ontología guiándose de la Methontology mediante una herramienta llamada Protege en la cual se definirá las clases, subclase, instancias y sobre todo las reglas que dependerá del negocio, esta herramienta nos ayudará mucho en la elaboración del OWL que contiene XML y RDF, se podrá tener una información organizada y búsquedas eficaces. Para la elaboración ontología en la herramienta protege a la hora de validación nos salió errores que al final lo resolvimos: 1. No acepta “ñ” en los campos: por ejemplo discoteca “La cabaña”. 2. No respetamos el orden de la Methontology en algunos aspectos: Se puso primero las instancias, luego las reglas y era al revés. 3. No utilizamos los validadores por cada cambio que se hacía, grave error, basta que borres una instancia, una clase, una regla después todo el programa sale “Error”. 4. Owl generado antes de modificarlo se debe guardar otro para que a la hora de modificar el Owl original no se dañe. 53 Web Semantica |
  • 54. PROYECTOS DE SISTEMAS INTELIGENTES 54 IX. Lecciones aprendidas El proyecto fue elaborado por tres personas de lo cual repartimos e intercambiamos roles para ellos y llegamos a una conclusión para este proyecto. Se necesitó un integrante que gestione, otro integrante que programe y un integrante investigador. Mediante este proyecto aprendimos usar la herramienta protege versión 3.4.1 que nos facilitó hacer el código Owl; a través de la librería Jena nos facilitó exportar datos y hacer las consulta Sparql de modo consola en la plataforma NetBeans y a través de los blogs nos facilitó el código java de conexión y de las consultas en modo consola. Se llegó a implementar el buscador semántico pero a un nivel básico uno de los factores fueron: El tiempo que perdimos en la validación ya que no lo hicimos por modificación (ya sea instancia borradas, clases y subclases, reglas no asociadas, etc.) del Owl si no al final teniendo como consecuencia errores en el Owl. Para llevar al portal nos costó mucho esfuerzo ya que algunas cosas no eran obvias como dicen en algunas webs además no se encuentra mucha información acerca de implementación buscadores semántico en NetBeans con código java y jsp, en este caso para implementarlo en la web de lo que se ha visto en internet más lo enfocan con php y otras herramientas. X. Referencias bibliográficas http://www.figmm.uni.edu.pe/Publicaciones/articulopostfinal.pdf http://www.cesarcabrera.info/proyectoGrado/ http://www.lluiscodina.com/webSemanticaOntologias2007.pdf http://arantxa.ii.uam.es/~castells/publications/castells-uclm03.pdf http://csrinaldi.blogspot.com/ http://www.sedic.es/gt_normalizacion_tutorial_ontologias.pdf http://www.aab.es/pdfs/jba15/10-Ontologia_e_inteligencia_artificial.pdf VIDEOS: http://wn.com/Ontologia_en_Prot%C3%A9g%C3%A9_y_RAP http://www.youtube.com/watch?v=mtiUxYV4ZQQ&NR=1 http://www.youtube.com/watch?v=lYaas93Va8g http://wn.com/Ontologia_en_Prot%C3%A9g%C3%A9_y_RAP http://www.youtube.com/watch?v=EmK_iuqVyT0&feature=related 54 Web Semantica |