1 / 53

Tecnologías de Web Semántica para Linked y Open Data

Tecnologías de Web Semántica para Linked y Open Data. Juan Gómez Romero Departamento de Informática Grupo de Inteligencia Artificial Aplicada Universidad Carlos III de Madrid. Juan Gómez Romero jgromero@inf.uc3m.es http://www.giaa.inf.uc3m.es/miembros/jgomez/ @ j_gomezromero

oihane
Download Presentation

Tecnologías de Web Semántica para Linked y Open Data

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tecnologías de Web Semánticapara Linked y Open Data Juan Gómez Romero Departamento de Informática Grupo de Inteligencia Artificial Aplicada Universidad Carlos III de Madrid

  2. Juan Gómez Romero jgromero@inf.uc3m.es http://www.giaa.inf.uc3m.es/miembros/jgomez/ @j_gomezromero Usuario: t3chfest Contraseña: Curso.t3chfest #t3chfest_LOD Thisworkislicensedunder a Creative Commons Attribution-Noncommercial 3.0 Unported License

  3. Open Data, Linked Data ¿Qué? Open Data, datos abiertos Datos disponibles públicamente Linked Data, datos enlazados Datos conectados Ofrecer a los usuarios datossobre las personas, procesos y objetos de una organización de forma estructurada y contextualizadapara su posterior procesamiento, reutilización y análisis automático

  4. Open Data, Linked Data ¿Qué? Open Government Data Publicar datos accesibles y procesables sobre las actividades del gobierno y las administraciones públicas Transparencia+Eficacia +Eficiencia =Satisfacción Ofrecer a los ciudadanosdatossobre las personas, procesos y objetos de los organismos públicosde forma estructuraday contextualizadapara su posterior procesamiento, reutilización y análisis automático

  5. Open Data, Linked Data Automatización “[…] En todo caso, el concepto de transparencia se refiere a la suficiencia de información suministrada y no al mero aspecto formal de presentación de datos.” Respuesta del gobierno a la pregunta del diputado A. Garzón (IU) sobre transparencia y acceso de la ciudadanía a los Presupuestos Generales del Estado. Boletín Oficial de las Cortes Generales, Congreso de los Diputados, serie D, núm. 78, de 19/04/2012 [enlace] [blog] [discusión]

  6. Índice De las islas de datos a la web de datos

  7. Índice De las islas de datos a la web de datos

  8. 1. Tablas .csv Publicación de datos en formato de tabla Columnas separadas por espacios o tabulaciones Formato habitual en numerosos sitios Ministerio del Interior Resultados electorales [enlace] Ministerio de Hacienda y Administraciones Públicas Datos presupuestarios de las entidades locales [enlace] Instituto Nacional de Estadística Entorno físico, medio ambiente, demografía y población, sociedad, economía, etc.[enlace] datos.gob.es Datos sobre administraciones públicas[enlace]

  9. 1. Tablas Procesamiento y visualización de .csv Resultados Elecciones Generales 2012 Congreso, por municipio [aplicación]

  10. 1. Tablas Procesamiento y visualización de .csv Resultados Elecciones Generales 2012 Congreso, por municipio [enlace] [versión reducida Andalucía]

  11. 1. Tablas Procesamiento y visualización de .csv Google FusionTables Importar tablas .csv Filtrar datos Resúmenes de datos Geolocalización con Google Maps Combinación de tablas Trabajo colaborativo Integración con Google Charts Otros Crowdmap + Ushahidi

  12. 1. Tablas Procesamiento y visualización de .csv Google Fusion Table [enlace]

  13. 1. Tablas Limitaciones ¿Qué partido ganó en los municipios de más de 50.000 habitantes? Geolocalización Candidatos Resultadosanteriores Datossobrepartidos

  14. 1. Tablas Limitaciones Integración Por filas Centralización: mismo esquema, consistencia Por columnas Datos adicionales: no se pueden añadir selectivamente Modificación No es posible modificar cada una de las fuentes por separado y mantener la vista global Consulta No es posible modificar cada una de las fuentes Agregación de datos específica

  15. 1. Tablas Limitaciones Contrarias a la filosofía de la Web Cualquiera puede añadir información sobre cualquier tema desde cualquier lugar La inteligenciareside en la aplicación, no en la infraestructura que soporta la representación y gestión de los datos Web Semántica Ofrecer herramientas que soporten una infraestructura de datos enlazados en la Web

  16. 1. Tablas Web Semántica ¿Qué es y qué no es la Web Semántica? “Use data tonavigatethe web, ratherthanwords” L. Feigenbaum. Semantic Web misconceptions. [link] R. Gonzalez. How is semantic technology more flexible than relational technology? [link] J. Hendler. Introduction to the Semantic Web.[link] N. Shadbolt, W. Hall, T. Berners-Lee. The Semantic Web revisited. Intelligent Systems 21.3 (2006), 96–101.

  17. 2. RDF(S) De las islas de datos a la web de datos

  18. 2. RDF(S) Principios ResourceDescription Framework (RDF) Representar datos distribuidos Estructura de datos flexible Triples Identificación de recursos Nombre no único URIs Integración de múltiples fuentes URIs A veces inconsistentes o incompletas Hipótesis de mundo abierto Estándar World Wide Web Consortium (W3C) Semántica RDFS Consulta SPARQL

  19. 2. RDF(S) Triples, URIs situadoEn granada andalucía • (Granada, situado en, Andalucía)objetoatributo valor • http://www.giaa.inf.uc3m.es/miembros/jgomez/ontologies/elecciones/elec#granada • http://www.giaa.inf.uc3m.es/miembros/jgomez/ontologies/elecciones/elec#situadoEn • http://www.giaa.inf.uc3m.es/miembros/jgomez/ontologies/elecciones/elec#andalucia . presidente pp Mariano_ Rajoy • (PP, presidente, Mariano Rajoy) • http://www.giaa.inf.uc3m.es/miembros/jgomez/ontologies/elecciones/elec#pp • http://www.giaa.inf.uc3m.es/miembros/jgomez/ontologies/elecciones/elec#presidente • http://es.dbpedia.org/resource/Mariano_Rajoy.

  20. 2. RDF(S) Espacios de nombres y prefijos situadoEn granada andalucía • (Granada, situado en, Andalucía) • prefixelec "http://www.giaa.inf.uc3m.es/miembros/jgomez/ontologies/elecciones/elec#" • elec:granadaelec:situadoEnelec:andalucia . presidente pp Mariano_ Rajoy • (PP, presidente, Mariano Rajoy) • prefixelec"http://www.giaa.inf.uc3m.es/miembros/jgomez/ontologies/elecciones/elec#" • prefixdbpedia"http://es.dbpedia.org/resource/" • default namespaceelec • :pp :presidente dbpedia:Mariano_Rajoy.

  21. 2. RDF(S) Grafo RDF nombreCompleto Mariano_Rajoy "Mariano Rajoy Brey" dbpedia elec igual a geo Mariano_ Rajoy "Partido Popular" presidente nombre es Provincia granada pp delPartido situadoEn situadoEn enMunicipio resultado_01 motril andalucía votos lat long 13.758 36.74467 -3.516718

  22. 2. RDF(S) Serialización Los triples RDF se almacen en formato de texto plano Diferentes formatos: Turtle, N-Triples, RDF/XML @prefix elec:<http://www.giaa.inf.uc3m.es/miembros/jgomez/ontologies/elecciones/elec#> @prefix dbpedia: <http://es.dbpedia.org/resource/> @prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> elec:pp elec:presidente elec:Mariano_Rajoy . elec:Mariano_Rajoy owl:sameAs dbpedia:Mariano_Rajoy . dbpedia:Mariano_Rajoy dbpedia:nombreCompleto "Mariano Rajoy Brey" . elec:pp elec:nombre "Partido Popular" . elec:resultado_1 elec:delPartido elec:pp . elec:resultado_1 elec:enMunicipio elec:motril . elec:resultado_1 elec:votos 13758 . elec:motril geo:lat 36.74467 . elec:motril geo:long -3.516718 . elec:motril elec:situadoEn elec:granada . elec:granada elec:situadoEn elec:andalucia . elec:granada rdf:type elec:Provincia .

  23. 2. RDF(S) Vocabularios predefinidos rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# Tipos y propiedades rdf:type(abreviado a) rdf:Property owl http://www.w3.org/2002/07/owl# Constructores lógicos owl:Class owl:sameAs rdfs http://www.w3.org/2000/01/rdf-schema# Semántica adicional para RDF rdfs:Class rdfs:Datatype rdfs:Literal rdfs:subClassOf rdfs:subPropertyOf rdfs:range rdfs:domain rdfs:label rdfs:seeAlso rdfs:isDefinedBy rdfs:comment

  24. 2. RDF(S) Modelado RDF(S) + OWL básico rdf:type owl:Class rdf:type rdfs:domain rdfs:range elec:Resultado elec:Partido rdf:type rdf:type elec:resultado_01 elec:pp elec:presidente elec:enMunicipio elec:dePartido rdf:type elec:Motril rdf:Property elec:Mariano _Rajoy rdfs:seeAlso owl:sameAs geo:long 3.516718 dbpedia: Mariano_Rajoy muni: Motril 36.74467 geo:lat

  25. 2. RDF(S) Creación, edición, integración TopBraid Composer Free Edition

  26. 2. RDF(S) Almacenamiento, publicación y desarrollo Los modelos RDF se almacenan en triplestores Virtuoso, Oracle Spatial and Graph OWLIM, Allegro, Sesame, Stardog Carga de datos Manual Herramientas de importación/exportación TopBraid (.csv) D2RQ (modelos relacionales a modelos RDF) Integración con otros modelos No-SQL Enlazado (manual, automático, semi-automático) Interfaces de programación y bibliotecas Jena Sesame RDFLib Redland

  27. Índice De las islas de datos a la web de datos

  28. 3. SPARQL SPARQL 1.1 Lenguaje de consulta para RDF Recuperar triples que cumplen las condiciones definidas en la consulta Construir nuevos triples a partir de los ya existentes en el modelo que cumplen las condiciones definidas en la consulta SPARQL 1.1. es un estándar W3C desde 2012 [enlace] Expresividad equivalente al álgebra relacional con semántica de bags Los triplestoresofrecen consulta directa o a través de HTTP (SPARQL endpoint)

  29. 3. SPARQL Consultabásica Los criterios de la consulta se establecen con un patrón que incluye entidades del modelo con su correspondiente prefijo de namespace(propiedades, instancias, clases, etc.) y variables (?x) • Lista de todos los municipios SELECT ?m WHERE { ?m rdf:type :Municipio . } • Nombres de todos los municipios de Granada SELECT ?municipioWHERE { ?m rdf:type :Municipio . ?m :nombreDeMunicipio ?municipio . ?m rdfs:seeAlso ?geomuni . ?geomunimuni:provinciamuni:ProvinciaGranada. }

  30. 3. SPARQL Estructura # prefijos PREFIXelecciones: <http://www.giaa.inf.uc3m.es/miembros/jgomez/ontologies/elecciones/elec#> PREFIXmunicipios: <http://www.giaa.inf.uc3m.es/miembros/jgomez/ontologies/geomunicipios/muni#> # resultados SELECT ?municipio ?poblacionWHERE # patrón de consulta { ?m rdf:typeelecciones:Municipio. ?m elecciones:nombreDeMunicipio?municipio . ?m rdfs:seeAlso ?geomuni . ?geomuni municipios:provincia muni:ProvinciaGranada . ?geomuni municipios:poblacion ?poblacion . } # modificadores ORDER BY ?poblacionLIMIT 25

  31. 3. SPARQL Filtros y agregaciones • Resultados del PSOE en los municipios de más de 50.000 habitantes SELECT ?municipio ?votosWHERE { ?r rdf:type :Resultado . ?r :enMunicipio ?m . ?r :dePartido :PSOE . ?r :votos ?votos . ?m rdf:type :Municipio . ?m :nombreDeMunicipio ?municipio . ?m rdfs:seeAlso ?geomuni . ?geomunimuni:habitantes ?poblacion . FILTER(?poblacion > 50000) . } • Votos obtenidos por el ganador en cada municipio SELECT ?municipio (MAX(?votos) AS ?total) WHERE { ?r rdf:type :Resultado . ?r :enMunicipio ?m . ?r :votos ?votos . ?m :nombreDeMunicipio ?municipio . FILTER(?votos > 0) . }GROUP BY ?municipio

  32. 3. SPARQL Sub-consultas • Partido ganador en los municipios de más de 50.000 habitantes SELECT?partido?municipio?totalWHERE{ ?r :enMunicipio ?m . ?m :nombreDeMunicipio ?municipio . ?r :votos ?total . ?r :dePartido ?p . ?p :nombreDePartido?partido . { SELECT?m(MAX(?votos) AS?total) WHERE{ ?r:enMunicipio ?m. ?r:votos ?votos. ?mrdfs:seeAlso?muni. ?munimuni:habitantes ?habitantes . FILTER(?votos> 0 && ?habitantes> 50000) . }GROUPBY?m } }

  33. 3. SPARQL Otros UNION DISTINCT OPTIONAL built-in functions isURI, isBlank regular expressions regex SPARQL 1.1 negation MINUS, NOTEXISTS condicionales IF, COALESCE constructores URI, BNODE, STRDT, STRLANG cadenas de caracteres STRLEN, SUBSTR, UCASE, LCASE, STRSTARTS, STRENDS, CONTAINS, CONCAT, ENCODE_FOR_URI matemáticas abs, round, ceil, floor, RAND fecha y hora now, year, month, day, hours, minutes, seconds, timezone

  34. 3. SPARQL Construcción • Crear triples rdfs:seeAlso entre municipios de ambos modelos CONSTRUCT{ ?muni1rdfs:seeAlso?muni2 . } WHERE{ ?muni1 rdf:type :Municipio . ?muni1 :nombreDeMunicipio ?nombre1 . ?muni2 rdf:typemuni:Municipio . ?muni2 rdfs:label ?nombre2 FILTER(regex(?nombre1, concat("^", ?nombre2), "i")) . }

  35. 3. SPARQL Inferencia RDF no define semántica para inferencia CONSTRUCTpuede utilizarse para insertar explícitamente triples que son resultado de una inferencia Ejemplo: propiedad transitiva, propiedad inversa • Crear triples rdf:type entre politicos y personas CONSTRUCT { ?politico rdf:type :Persona . }WHERE { ?politico rdf:type :Politico . }

  36. 3. RDF(S) Navegación Navegaciónmediantefiltros (facetedbrowsing) Conjunto de objetos con propiedades El usuarioestablecefiltros en los valores de laspropiedadespararestringirquéobjetosdebenmostrarse Multidimensional Herramientasbasadas en RDF Pelorus[enlace] gFacet[enlace] Virtuoso [enlace] [ejemplo dbpedia] Simile Exhibit [enlace]

  37. 3. RDF(S) Navegación Ejemplo Pelorus, datossobreLiga de Béisbol Americana 1876-2007

  38. Índice De las islas de datos a la web de datos

  39. 4. OWL OWL OWL (Ontology Web Language) Lenguaje estándar para la creación de ontologías destinadas a la Web Una ontologíaes una representación consensuada que describe los objetos de un dominio utilizando un lenguaje que puede procesarse automáticamente Sintaxis + Semántica Formato+ Inferencia Aspectos formales basados en Lógicas de Descripción Estándar W3C OWL 2 [enlace]

  40. 4. OWL Elementos básicos Conceptos(clases, tipos) Conjunto de objetos del dominio con características comunes Predicados unarios en FOL Instancias (individuos) Objetos pertenecientes a una clase Constantes en FOL Relaciones (propiedades, roles) Conexiones binarias entre individuos o individuos y valores de un tipo básico (enteros, cadenas de caracteres, etc.) Predicados binarios en FOL Axiomas Restricciones que definen las características de conceptos, instancias y relaciones Fórmulas en FOL

  41. 4. OWL Razonamiento Procedimiento automático mediante el cual, a partir de los axiomas de la ontología (explícitos), se obtienen axiomas no incluidos (implícitos) que son consecuencia lógica de los anteriores modus ponens A A → B B Resolución (lógica proposicional)

  42. 4. OWL Razonamiento El proceso de inferencia obtiene nuevos axiomas de acuerdo a la semántica de los constructores de clases, relaciones y axiomas ppisA Partido pptieneIdeologia ideologia_1 ideologia_1 isAConservadurismo PartidoConservadorequivalentToPartido and (tieneIdeologiasomeConservadurismo) ppisAPartidoConservador Inferencia • Racer, FaCT, Pellet, Hermit

  43. 4. OWL Sintaxis y semántica OWL 2 ≈SROIQ(D) Constructores de clases top, bottom, concepto atómico negación, intersección, unión cuantificación universal, cuantificación existencial, conceptos enumerados, restricción de cardinalidad (con clases y con tipos de datos concretos) +nuevos tipos de datos a partir de tipos de datos concretos (XSD facets) Constructores de roles rol atómico, rol universal, rol de tipo de dato concreto rol inverso Axiomas TBox inclusión de conceptos equivalencia de conceptos RBox inclusión de roles (con cadenas de roles) transitividad, disjunción, reflexividad, irreflexividad, simetría, asimetría de roles ABox instancia de un concepto relación entre instancias, negación de relación entre instancias igualdad y desigualdad de instancias

  44. 4. OWL Constructores de conceptos y roles

  45. 4. OWL Axiomas

  46. 4. OWL Semántica

  47. 4. OWL Satisfacibilidad

  48. 4. OWL Protégé Editor de ontologías Protégé, jerarquía de ideologíasconstruida a partir de Wikipedia [link]

  49. 4. OWL Conceptos complejos Sintaxis de Manchester [enlace] Sintaxis simplificada destinada especialmente a la creación de conceptos complejos utilizada en Protégé 4 y TopBraidComposer • Partidos conservadores <=> Partidos que están relacionados mediante la propiedad tieneIdeología con al menos una instancia de la clase Conservadurismo Partido and(tieneIdeologiasomeConservadurismo) • Partidos de izquierdas <=> Partidos que están relacionados mediante la propiedad tieneIdeología con al menos una instancia de la clase Socialista o de la clase SocialistaCatolico Partido and(tieneIdeologiasome(Socialista orSocialistaCatolico))

  50. 4. OWL Consultas • Partidos que han obtenido más de 100.000 votos en algún municipio Partido and (tieneResultadosome (Resultado and (votossomexsd:integer[>100000]) ) ) • Partidos de izquierdas que han obtenido más de 100.000 votos en algún municipio PartidoIzquierdasand (tieneResultadosome (Resultado and (votossomexsd:integer[>100000]) ) )

More Related