PDF DE APOYO
Upcoming SlideShare
Loading in...5
×
 

PDF DE APOYO

on

  • 679 views

EXPOSICION DEL CURSO DE SISTEMAS INTELIGENTE CON EL PROFESOR CASMA

EXPOSICION DEL CURSO DE SISTEMAS INTELIGENTE CON EL PROFESOR CASMA

Statistics

Views

Total Views
679
Views on SlideShare
608
Embed Views
71

Actions

Likes
0
Downloads
11
Comments
0

1 Embed 71

http://www.professionaltraducciones.com 71

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

PDF DE APOYO PDF DE APOYO Document Transcript

  • PROYECTOS DE SISTEMAS INTELIGENTES 1 PROYECTOS DE SISTEMAS INTELIGENTESWEB 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 2I. Resumen EjecutivoEn 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 elsector educación, medicina, etc. Donde el elemento principal para la elaboración de unsistema 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 brindaservicios en el sur del país, la construcción de la ontología se ha realizado siguiendo lametodología (Methontology) a través de ella se podrá obtener una mejor perspectivas declases y subclases relacionadas de la ontología y sobre todo darle un orden mediante lospasos que nos brindan.Esta Ontología ha sido desarrollada el software Protege 3.4.1 ya que esta versión tenemos unbuen dominio del proyecto ya que antes habíamos trabajado con esa versión sin tener ningunadificultad.II. Objetivos y alcance del proyectoObjetivos 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 proyectoLa información que se brindará solamente abarcara las playas del Sur desde el km 41.5 (Playalos pulpos Panamericana sur) hasta el Km. 51 (Balneario de San Bartolo). En nuestroProyecto llegaremos a implementar la búsqueda de empresas asociadas en la aplicación webtales como la ubicación de la empresa, categoría de la empresa asociada, tipo de música ycomida que ofrece, etc. Para implementación del buscador usaremos la plataforma deNetBeans 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 3III. Explicar el fundamento teórico de la técnica de IA (¿Qué es?,propósitos, problema que resuelve, características).IntroducciónLa Web Semántica tiene como objetivo fundamental mejorar el Internet ampliando lainteroperabilidad entre los sistemas informáticos usando “agentes inteligentes”.Evolución y predicción de la Web 3 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 4Evolució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 5Inicios de la Web SemánticaLa Web Semántica es una propuesta realizada por el propio inventor del HTML y fundadorde 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 pudieraser 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 defuentes de información. El principal problema del HTML es que no logra conectar todos losdatos 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 delmañ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, semantienen los principios fundamentales tales como descentralización y compartición deinformación.Definición formal:La Web Semántica es una extensión de la Web actual en la que la información se presentacon un significado bien definido, permitiendo a los ordenadores y a las personas trabajarconjuntamente. 5 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 6Capas 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 8Se menciona que para la construcción de la Ontología usaremos las recomendaciones delos estándares respectivos como por ejemplo:El uso de la Methontology que es una metodología creada por el Grupo de IngenieríaOntológica de la Universidad Politécnica de Madrid (UPM)Ciclo de vida de METHONTOLOGYPasos 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 mediantetablas, lenguaje UML, jerarquías etc.3. Implementación.- Representa la formalización de la Ontología; es decir pasar laconceptualizació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 9Una de las partes más importantes es el Modelo Conceptual y para ello se debe seguir lossiguientes pasos:5. Finalmente con la validación y verificación de nuestra Ontología, se espera implementarun Sistema de Información de la Sección y además estar preparados para el futuro con lallegada de la Web 3. 9 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 10Además se necesitan algunos conceptos básicos que utilizaremos para dichaimplementación.ONTOLOGIASEl concepto de Ontología se basa en la descripción del mundo real, similar a la programaciónorientado 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 usode reglas a través del cual puedan interactuar y funcionar.Una Ontología nos proporciona un vocabulario de clases y relaciones para describir undominio respectivo. Actualmente existen diferentes lenguajes para el diseño de Ontologías, elmá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 elsoftware respectivo.Lenguajes de Ontologías Web (OWL)El lenguaje OWL está diseñado para ser usado en aplicaciones que necesitan procesar elcontenido de la información en lugar de únicamente representar información para loshumanos. El OWL facilita un mejor mecanismo de interoperabilidad de contenido Web quelos mecanismos admitidos por los lenguajes XML, RDF y RDF schemas proporcionando unvocabulario adicional para describir propiedades y clases, relaciones entre clases con unasemántica formal, Actualmente el OWL forma parte de un conjunto creciente derecomendaciones del W3C relacionadas con la Web Semántica.IV. Ventajas y desventaja de la técnica de IAVentajas:  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 11V. Aplicaciones y usos prácticos de las técnicas de IAAplicaciones y usos prácticos tenemos en el sector de educación, medicina, a portalesturísticos, la mejora de algunos procesos judiciales, la reparación de automóviles, larecomendación de contenidos móviles, etc.La información disponible en Internet, será capaz de atender de forma exacta las demandasde 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 cualquierbuscador actual, el cual ofrecería información variada sobre Praga pero que no tiene nada quever con lo que realmente el usuario buscaba. 11 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 12El paso siguiente por parte del usuario es realizar una búsqueda manual entre esas opcionesque aparecen, con la consiguiente dificultad y pérdida de tiempo. Con la incorporación desemá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. Estosresultados ofrecen al usuario la información exacta que estaba buscando. La ubicacióngeográfica desde la que el usuario envía su pregunta es detectada de forma automática sinnecesidad 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 momentodeterminado del día. Todo ello a través de una Web en la que los datos pasan a serinformación llena de significado. El resultado final sería la obtención de forma rápida ysencilla de todos los vuelos a Praga para mañana por la mañana. 12 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 13VI. Construcción de una aplicación utilizando la técnica de IA a unarealidad concreta (solución del problema)DESCRIPCION GENERAL DE LA AGENCIA DE ENTRETENIMIENTO YDIVERSION EN EL SURSERVICIOS (Venta x paquetes)  Paquete Dual  Paquete Familiar  Paquete Solitario  Paquete Corporativo  Paquete Económico  Paquete Grupal  Paquete TuristaCLIENTESTipos 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 ASOCIADASSon aquellas empresas que requieren a la agencia para ofrecer sus servicios a través de lospaquetes 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.)PAGOPor el servicio, puede ser:  Tarjeta de crédito o  Cuenta bancaria 13 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 14Diagrama 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 15DIAGRAMA DE LA ONTOLOGIA TAXONOMIA 15 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 16CLASES Y SUBCLASES 16 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 17PROPIEDADES QUE PRESENTA LA ONTOLOGIAPropiedades:Cada propiedad que se define tiene un dominio y un rango. En nuestro caso tenemos lassiguientes propiedades: PROPIEDAD DOMINIO RANGODepende Pago VentaxPaqueteInverse_of_Requiere Empresas_Asociadas VentaxPaquete JuridicoRealiza Pago NaturalRequiere VentaxPaquete Empresas_Asociadas JuridicoSolicita Servicio Natural 17 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 18RESTRICCIONESDe acuerdo a nuestra ontología definimos algunas reglas en base a nuestra lógica.CLIENTE - JURIDICOCLIENTE – NATURAL 18 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 19EMPRESAS ASOCIADASTodas las Empresas Asociadas (Bares_Previos, Clubes, Discotecas, etc.)PAGO – TIPO DE PAGOSERVICIO – VentaxPaquete 19 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 20INSTANCIASIngresamos atributos como individuos para una clase determinada.CLIENTES – JURIDICO 20 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 21CLIENTE – NATURAL 21 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 22EMPRESAS ASOCIADAS 22 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 23PAGO – TIPO DE PAGO 23 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 24SERVICIO – VentaxPaquete 24 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 25VALIDACION DEL MODELOValidando nuestro proyecto en: http://www.mindswap.org/2003/pellet/demo.shtmlY como resultado tenemos: 25 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 26CONSULTAS SPARQLEmpresas 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  Discotecasprefix 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  Clubesprefix 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 28Clientes  Jurídicoprefix 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.}  Naturalprefix 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 29PAGO  Tipo de Pagoprefix 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 VentaxPaqueteprefix 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 30SERVICIO  VentaxPaqueteprefix 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 31OTRO TIPO DE CONSULTAS  Clientes que pagado tarjeta de crédito y con qué tipo de tarjeta ha pagadoprefix table: <http://www.owl-ontologies.com/Ontology1301858667.owl#>SELECT ?Cliente ?Tarjeta_Credito ?Nro_tarjetaCredito_O_Cuenta?Tipo_TarjetaFROM <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 ?PrecioFROM <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 FiltrosEn 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 33CONEXIÓN CON JENApackage 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_INFmodel = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF );// abrir el archivo con la ontologíajava.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 34model.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 35CONSULTAS: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_INFmodel = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF );// abrir el archivo con la ontologíajava.io.InputStream in = FileManager.get().open( "pc3.owl" );if (in == null) { throw new IllegalArgumentException("Archivo no encontrado");}// leer el archivo RDF/XMLmodel.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 resultadosQueryExecution 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 38ConsultaClienteNatural: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_INFmodel = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF );// abrir el archivo con la ontologíajava.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/XMLmodel.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 resultadosQueryExecution 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; 40import com.hp.hpl.jena.rdf.model.ModelFactory;import com.hp.hpl.jena.util.FileManager; Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 41public 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_INFmodel = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF );// abrir el archivo con la ontologíajava.io.InputStream in = FileManager.get().open( "pc3.owl" );if (in == null) { throw new IllegalArgumentException("Archivo no encontrado");}// leer el archivo RDF/XMLmodel.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 resultadosQueryExecution 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 AEDSDiseño:CODIGO :BusquedaCliente.Javapackage 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.*; 43public class BusquedaCliente {String t; Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 44private 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 45QueryExecution 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 resultadosQueryExecution 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 47CLIENTES.JSPCLIENTE.JSP 47 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 48VII. 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 soloponer una letra busca a todos los correos que empieza con esa letra que ha ingresado albuscador. 48 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 49 49 Web Semantica |
  • PROYECTOS DE SISTEMAS INTELIGENTES 50Implementando 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 51Bú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 52Bú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 53VIII. Conclusiones y Recomendaciones.El proyecto elaborado promueve el turismo en las playas del sur del país a través de una agenciade entretenimiento y diversión, muy aparte de brindar sus paquetes turístico, quiere dar la opciónal cliente o futuro cliente de realizar búsquedas de las empresas asociadas a la agencia y así laspersonas interesada podrán averiguar su ubicación, categoría, precio que ofrece cada empresaasociada a la agencia.Todo esto se obtendrá a partir de la implementación de un buscador semántico al portal de laagencia que a través de esta implementación gestionará mejor la información solicitada por laspersonas interesadas, mediante la construcción de un ontología guiándose de la Methontologymediante una herramienta llamada Protege en la cual se definirá las clases, subclase, instancias ysobre todo las reglas que dependerá del negocio, esta herramienta nos ayudará mucho en laelaboración del OWL que contiene XML y RDF, se podrá tener una información organizada ybúsquedas eficaces.Para la elaboración ontología en la herramienta protege a la hora de validación nos salió erroresque 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 54IX. Lecciones aprendidasEl proyecto fue elaborado por tres personas de lo cual repartimos e intercambiamos roles paraellos y llegamos a una conclusión para este proyecto. Se necesitó un integrante que gestione, otrointegrante 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 consultaSparql de modo consola en la plataforma NetBeans y a través de los blogs nos facilitó el códigojava 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 instanciaborradas, clases y subclases, reglas no asociadas, etc.) del Owl si no al final teniendo comoconsecuencia errores en el Owl.Para llevar al portal nos costó mucho esfuerzo ya que algunas cosas no eran obvias como dicenen algunas webs además no se encuentra mucha información acerca de implementaciónbuscadores semántico en NetBeans con código java y jsp, en este caso para implementarlo en laweb de lo que se ha visto en internet más lo enfocan con php y otras herramientas.X. Referencias bibliográficashttp://www.figmm.uni.edu.pe/Publicaciones/articulopostfinal.pdfhttp://www.cesarcabrera.info/proyectoGrado/http://www.lluiscodina.com/webSemanticaOntologias2007.pdfhttp://arantxa.ii.uam.es/~castells/publications/castells-uclm03.pdfhttp://csrinaldi.blogspot.com/http://www.sedic.es/gt_normalizacion_tutorial_ontologias.pdfhttp://www.aab.es/pdfs/jba15/10-Ontologia_e_inteligencia_artificial.pdfVIDEOS:http://wn.com/Ontologia_en_Prot%C3%A9g%C3%A9_y_RAPhttp://www.youtube.com/watch?v=mtiUxYV4ZQQ&NR=1http://www.youtube.com/watch?v=lYaas93Va8ghttp://wn.com/Ontologia_en_Prot%C3%A9g%C3%A9_y_RAPhttp://www.youtube.com/watch?v=EmK_iuqVyT0&feature=related 54 Web Semantica |