SlideShare uma empresa Scribd logo
1 de 135
Baixar para ler offline
Curso Integración
 Web Semántica
   Casos Prácticos
   24 Octubre 2011
     Jose María Álvarez Rodríguez
     WESO-Universidad de Oviedo
    E-mail: josem.alvarez@weso.es
     WWW: http://josemalvarez.es
Producción

Publicación

Consumo
Producción
   Selección
   Modelado
Enriquecimiento
  Generación
¿Qué dataset vamos a
        generar?
Noménclator 2010 de entidades de
    población de Asturias

        Formato: MSExcel
       Fuente: www.sadei.es
              Ejemplo:
http://purl.org/weso/nomenclator/
¿Qué datasets
vamos a reutilizar?
             http://datacatalogs.org/



               http://sindice.com/




                   http://ckan.net
¿Qué vocabularios
       vamos a reutilizar?
       prefix.cc
namespace lookup for RDF   http://prefix.cc
      developers



    Búsqueda de prefijos
     para vocabularios y
           datasets
¿Qué definiciones
 necesitamos?
    RDFS
    SKOS
    OWL
     …
Enriquecimiento




>   K      Z      :
Servicios

    SPARQL Endpoint
     Servicios Web



   K         Z      :
Generación

      Scripts
Programa+API RDF
 Herramientas ETL
Mapeadores a RDF
Receta
•       Elegir el dataset a RDFizar
•       Analizar los datos a convertir
•       Buscar cómo modelar estos datos
    •      Reutilizar vocabularios + Nuevas
           definiciones
•       Enriquecer
    •      Con qué datasets tengo/debo/quiero
           enlazar y qué operación
    •      Servicios de acceso a esos datasets
•       Herramientas de generación
    •      Validen los datos generados
    •      Datos estáticos o dinámicos
    •      Provenance…
    •      Descripción del dataset generado
En nuestro caso…
Mi Receta
•       Noménclator 2010 de Asturias
•       Formato MSExcel, Códigos, Descripciones
        textuales, jerarquía de entidades y datos
        estadísticos
    •      SKOS, Dublin Core, SCOVO, Cube+SDMX,
           Organizations Ontology, FOAF, NUTS, etc.
    •      DBPedia-SPARQL-Reconciliar
    •      Google Maps API-REST WS-Buscar
•       Google Refine+ RDF extension
    •      Valida RDF de salida
    •      Datos estáticos
    •      Provenance, licencia…
    •      Descripción del dataset generado
Objetivo
            E
 




        




   Linked Data
Noménclator Asturias
      2010
Noménclator
          Fuente:
  http://www.sadei.es/ -
      Aplicaciones de
 Consulta- Noménclator
   2010 - Más datos -
         Entidades
Ver fichero: recursos/nomen2010/entidades2010.xls
Análisis del dataset
• Códigos
 •   Concejo+Parroquia+Entidad
• Jerarquía de entidades
• Etiquetas para cada
  entidad de población
  (es,ast)
• Datos estadísticos
Modelado de datos
         (ver más adelante en concreto)

• Códigos +Jerarquía de
  entidades (taxonomía)+
  Etiquetas para cada
  entidades de población –


  SKOS-XL+DC
http://www.w3.org/TR/skos-reference/skos-xl.html
Estadísticas con The RDF Data Cube vocabulary
                   (sesión 2)




                   http://publishing-statistical-
   data.googlecode.com/svn/trunk/specs/src/main/html/cube.html
Enriquecimiento
• DBPedia
 •   Entidades de población: http://dbpedia.org/page/Allande
 •   Endpoint SPARQL

• Georeferenciación
 •   Google Maps Api
 •   Servicio REST
 •   Basic Geo (WGS84 lat/long) Vocabulary:
     http://www.w3.org/2003/01/geo/
 •   NUTS…(a nivel de Comunidad Autónoma)
Herramientas
• Google Refine
 •   http://code.google.com/p/google-refine/
 •   Descomprimir en un directorio
 •   Ver fichero: software/herremientas/google-refine-
     2.1-r2136.zip

• RDF extension Google
  Refine
 •   http://lab.linkeddata.deri.ie/2010/grefine-rdf-extension/
 •   Ver fichero: software/herremientas/grefine-rdf-
     extension-0.5.3
 •   Descomprimir e introducir dentro de “…google-refine-
     2.1-r2136webappextensions”
Extensión Grefine-RDF
Trabajando con Google Refine
Consola de Google Refine




     URL Navegador:
   http://localhost:3333
Crear un proyecto

Nombre de proyecto
         +
 Fichero de Datos
Comprobamos que tenemos la
      extensión RDF
Preparación de los
      datos
  Cambiamos los nombres de las
   columnas para referenciarlas
Borramos las primeras filas (no son
              datos)
Borramos las últimas filas (son datos
           de la entidad)
 Borramos las 3 últimas columnas
           (repetidas)
Marcamos con Flag las filas a
          borrar
Seleccionamos Facet
Ordenamos por Flag (true)
Remove All matching rows !!!
Last-Previous-Flag-Borrar…
Datos “Limpios”
Modelado de datos
• Definir la taxonomía de tipo
  de entidades con SKOS
• Generar esqueleto RDF para
  aplicar a cada entidad
… veamos un ejemplo!
…Recordando
   (principios Linked Data)…
1. Usar URIs para identificar las
   cosas
2. Usar URIs HTTP
3. Ofrecer información sobre los
   recursos usando RDF
4. Incluir enlaces a otros URIs
…Recordando
             (referencias)…

1.   http://linkeddatabook.com/editions/1.0/

2.   http://www.w3.org/DesignIssues/LinkedDat
     a.html

3.   http://www.w3.org/TR/swbp-vocab-pub/

4.   http://www.w3.org/2009/08/skos-
     reference/skos.html
Taxonomía de tipo de
Entidad de Población
                   
                 
                    s
                  
       W
                 
                 W
                  s
                 W
             h
Taxonomía de tipo de
   Entidad de Población en
            SKOS
Concejo rdf:type skos:Concept .

Parroquia rdf:type skos:Concept ;
            skos:broaderTransitive Concejo;

Lugar rdf:type skos:Concept ;
        skos:broaderTransitive Parroquia;
…
  Cada entidad tendrá un tipo que
 será un skos:Concept y un base
          uri definitions
Esqueleto de una entidad de población
   d                 s
                       Yh/ZM^
   W                      Eh^
   
   E                 
   E                 
   d                
   ^
   


   d
   ,
   D
   d   s
   s           W
   s           E W
…en RDF…
W               s



               
               
                       




        d




…definimos este esqueleto
con Google Refine+RDF…
…y las estadísticas
          en RDF?
Estrategia…
Paso 1-Modelar, generar… las entidades de
población-RDF
Paso 2-Enriquecer las entidades de población-
RDF
Paso 3-Modelar, generar…las estadísticas por
separado-RDF
…a preparar un poco más
          los datos…
•    Quitar un “carácter extraño” de los
     códigos de Concejo, Parroquia y Entidad
     (mirar el código con unicode(value) si es 32 entonces trim sino
     substring)
•    Cambiar los nombres como “Castro, El” a
     “El Castro” tanto en su versión normal
     como tradicional
•    Preparar los nombres del tipo de
     “Entidad”
toTitlecase(value.split(,).reverse().join( ))
Cambiamos la Base URI…
Añadimos prefijos:
skos,skos-xl y dc
Borramos los mapeos que no
        interesan
Buscamos las propiedades que
   decidimos al modelar…
Salida previa…
URIs para cada recurso




2010/+value+/+cells[Cod_Parroquia].value+/
           +cells[Cod_Entidad].value
Lang en los labels…
Crear URI para tipo de entidad…
http://localhost/nomenclator/definitions/+repla
          ceChars(value,áéíóú,aeiou)
Crear dc:identifier…




value+_+cells[Cod_Parroquia].value+_+cells[
              Cod_Entidad].value)
Generando skos:broader…partimos de la
       columna “Cod_Concejo”

if(cells[Cod_Entidad].value == 00,
if(cells[Cod_Parroquia].value ==
00,http://nuts.psi.enakting.org/id/
ES12,http://localhost/nomenclator/as
turias/2010/+cells[Cod_Concejo].val
ue+/00/00
),
http://localhost/nomenclator/asturias
/2010/+cells[Cod_Concejo].value+/
+cells[Cod_Parroquia].value+/00
))
Versión del RDF Skeleton
Nuestro ejemplo en Turtle…


http://localhost/nomenclator/asturias/2010/5
3/08/02
  skosxl:prefLabel “Llanuces@es , Chanuces@ast ;
  rdfs:label “Llanuces@es , Chanuces@ast ;
  a http://localhost/nomenclator/definitions/Lugar ;
  dc:identifier “53_08_02 ;
  skos:broaderTransitive
  http://localhost/nomenclator/asturias/2010/53/08/0
  0 .
Añadir lat/long
 consultando
Google Maps..
Partimos de la columna
   “Nombre_clean”
“Add column by fetching URLs”
Parámetros
• Throttle delay: 100ms+ 0,5 seg. Por petición * 7878
  (20-30 mins)
• URL:
  http://maps.googleapis.com/maps/api/geoc
  ode/json?sensor=falseaddress= +
  escape(value+,+value+, Asturias,
  Spain,url)

  Respuesta en JSON (extraer lat y
 long) y creamos nuevas columnas:
“Add column based on this column”
Partimos de la columna
       “Google Maps”

     Columna “Lat”
with(value.parseJson().results[0].ge
ometry.location, pair, pair.lat)


     Columna “Long”
 with(value.parseJson().results[0].ge
 ometry.location, pair, pair.lng)
Editamos el RDF skeleton..
Añadimos las propiedades…
Generar RDF final de las
Entidades de Población
¿Es necesario
publicar datos para
   consultar en
     SPARQL?
-Cargar RDF por
 programa (ej: JENA)
-Utilizar un procesador
      SPARQL local
ARQ
•     Descargar y descomprimir:
•     http://sourceforge.net/projects/jena/files/ARQ/
•     Ver Fichero:
      curso/software/herramientas/arq-2.8.8.zip
•     Fijar variable ARQROOT
    •     SET
          arqroot=c:UsersCursoDesktopcursos
          oftwareherramientasARQ-2.8.8“
•     Ejecutar en cmd:
•     %ARQROOT%batarq.bat --query
      “file_query” --data “file_data”
ARQ
    •   Ver fichero: curso/recursos/queries/1.qr
    •   Ejecutar:




•       Interesante porque tiene extensiones (algunas
        presentes ya en SPARQL 1.1
Algunas
    consultas en
      SPARQL
Ver ficheros: curso/recursos/queries/*.qr
Consultas sencillas
A. «Obtener el código y el nombre de los
   concejos en castellano»
B. «Obtener el código y el nombre de todas las
   entidades de población de un concejo»
C. «Obtener el código y nombre todas las
   ciudades de un concejo»
D. «Obtener el código y nombre de todas las
   ciudades y lugares de un
^d /^d/Ed t,Z

A                                 


      /dZ

      ^d /^d/Ed t,Z

B     /dZ
                       d
                                  



      /dZ


     ^d /^d/Ed t,Z

B1   /dZ
                              



     /dZ
     /dZ
^d /^d/Ed t,Z

C    /dZ
                                                 


     /dZ
                                             

     /dZ



    ^d /^d/Ed          t,Z
                                             
    /dZ

    /dZ

D   /dZ
                                     
                                         


    /dZ

    KZZ z
Y ahora…a
publicar los
   datos
Infraestructura

     s
                    d



    ^W ZY   d
Instalación Apache

•    Descarga:
     http://httpd.apache.org/
•    Instalación
     típica como
     servicio

•    Ver fichero: curso/software/servidores/httpd-
     2.2.21-win32-x86-openssl-0.9.8r.exe
Instalación Apache
          Tomcat
•   Descarga: http://tomcat.apache.org/download-60.cgi
•   Versión 6.x
•   Descomprimir fichero .zip
•   Configurar mod_jk y Apache
    HTTP
•   Ver fichero:
    curso/software/servidores/apache-tomcat-
    6.0.33-windows-x86.zip
Prueba…
Instalación Virtuoso
•    Descarga:
     http://download.openlinksw.com/virtwiz/
•    Ver fichero:
     curso/software/servidores/ntvpz2zz.exe
•    Necesidad de registro para evaluación
•    Versión: ·Multi-Threaded Universal
     Server (Commercial Edition) for
     OpenLink Virtuoso 6.2
•    Instalación Completa y sin registro
•    Instalación Connectivity Suite
Arrancando…




http://localhost:8890/
User: dba password: dba
Subiendo ficheros
Graphs
Prueba “query” SPARQL
^d t,Z

/D/d
SPARQL endpoint:
http://localhost:8890/sparql
Otros paquetes: fct e isparql
Text Search en fct…”Llanuces”
       (utiliza rdfs:label)
URI lookup en fct…
Algunas estadísticas hasta
         ahora…
Configuración “cool uris”

• Eliminar el nº de puerto de las
  URIs y que se puedan
  referenciar
 •   Crear proxy inverso con Apache HTTP
 •   http://docs.openlinksw.com/virtuoso/webserver.
     html
• Mod_jk (Conexión con
  Tomcat)
 •   Para desplegar un linked data front-end
Configuración Apache HTTP
•   Paramos el servidor
•   Editamos el Archivo: C:Program FilesApache Software
    FoundationApache2.2conf httpd.conf (ver
    archivo)
•   Habilitamos los módulos de proxy (quitar #)
•   Habilitamos la carga de configuración de los Vhosts:
    Include conf/extra/httpd-vhosts.conf
•   Editamos el fichero de vhosts: C:Program FilesApache
    Software FoundationApache2.2confextra (ver
    archivo)
•   Arrancamos el servidor
•   Copiar ficheros de configuración de: curso/conf/apache
Configuración Apache HTTP-
              mod_jk
•    Documentación oficial:
     http://tomcat.apache.org/connectors-
     doc/generic_howto/quick.html
•    Descarga:
•    http://apache.rediris.es//tomcat/tomcat-
     connectors/jk/binaries/windows/tomcat-connectors-1.2.32-
     windows-i386-httpd-2.2.x.zip
•    Ver fichero: curso/software/servidores/tomcat-
     connectors-1.2.32-windows-i386-httpd-2.2.x.zip
•  Copiar “mod_jk” a “C:Program FilesApache
   Software FoundationApache2.2modules”
• Crear fichero “worker.properties”
• Configurar módulo según documentación
• Añadir punto de montaje a aplicación en TOMCAT
worker.properties
# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009


Ubicación: C:Program FilesApache
Software FoundationApache2.2conf
Configurar módulo en
             httpd.conf
# Load mod_jk module
# Update this path to match your modules location
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
# Update this path to match your conf directory location (put
workers.properties next to httpd.conf)
JkWorkersFile c:/Temp/workers.properties
# Where to put jk shared memory
# Update this path to match your local state directory or logs
directory
JkShmFile     C:/Temp/mod_jk.shm
# Where to put jk logs
# Update this path to match your logs directory location (put
mod_jk.log next to access_log)
JkLogFile     C:/Temp/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel    info
# Select the timestamp log format
JkLogStampFormat [%a %b %d %H:%M:%S %Y]
Configurar módulo en
   httpd-vhosts.conf


 JkMount   /nomenclator/* worker1



Nuestra aplicación de Pubby
 se llamará nomenclator y
      estará en TOMCAT
Linked Data Front-end
•     Pubby
    •   http://www4.wiwiss.fu-berlin.de/pubby/
    •   http://www4.wiwiss.fu-
        berlin.de/pubby/download/pubby-0.3.3.zip
    •   Ver fichero:
        curso/software/herramientas/pubby-
        0.3.3.zip
•     ELDA
    •   http://elda.googlecode.com/hg/deliver-
        elda/src/main/docs/index.html
•     WESO-DESH
    •   http://code.google.com/p/weso-desh/
Pubby
• Servlet con negociación de
  contenido y queries DESCRIBE de
  SPARQL
• ANT para construir nuestra propia
  webapp
• Configuración del dataset
• Despliegue en TOMCAT
• Mapeo con APACHE
¿Cómo funciona Pubby?
Apache ANT
•   Descargar y descomprimir:
    http://apache.rediris.es//ant/binaries/apache-
    ant-1.8.2-bin.zip
•   Ver Fichero:
    curso/software/desarrollo/apache-
    ant-1.8.2-bin.zip
•   Ir a Equipo-Propiedades…
•   Crear variable ANT_HOME
•   Configurar PATH de Windows
•   Comprobar en consola comando: ant
Construir
       nomenclator.war
• Editar el fichero config.ttl en
  pubby-0.3.3webappWEB-INF
• Editar el fichero build.xml en
  pubby-0.3.3, cambiar el
  nombre generado:
property name=myapp   value=nomenclator/
property name=war        value=${basedir}/${myapp}.war /


• Empaquetar y Desplegar: ant war
config.ttl
 conf:dataset [
        conf:sparqlEndpoint http://localhost/sparql;
        conf:sparqlDefaultGraph
http://localhost/nomenclator/asturias/2010;
        conf:datasetBase http://localhost/nomenclator/;
        conf:datasetURIPattern asturias/2010/.*;
        conf:webResourcePrefix ;
        conf:fixUnescapedCharacters (),'!$*+;=@;
        #conf:metadataTemplate metadata.ttl;
        meta:pubbyUser http://purl.org/weso;
        meta:pubbyOperator http://purl.org/weso;
        meta:endpointUser http://purl.org/weso;
        meta:endpointOperator http://purl.org/weso;
    ];


…Personalizar “metadata.ttl”
Acceso mediante Pubby
• http://localhost/nomenclator/
…hasta ahora tenemos..


        s
                       d




       ^W ZY   d
…más linked data..

Enlace con DBPedia
 Reconciliación de
     entidades
    Estadísticas
Modelado Desempleo

   Nuevo proyecto con Google Refine
                Fuente:
http://www.sepe.es/contenido/estadistica
s/datos_estadisticos/municipios/index.ht
                   ml


 Ver fichero: recursos/sepe/Desempleo-Sept-2011-
                  Asturias.xls
Reconciliar con DBPedia
Seleccionar dbo:Place
Algunos “matching” a
      mano…
Otros editando RDF…
1.  http://dbpedia.org/page/El_Franco
2.  http://dbpedia.org/page/Lena,_Asturias
3.  http://dbpedia.org/page/Muros_de_Nal%C3%B3n
4.  http://dbpedia.org/page/On%C3%ADs
5.  http://dbpedia.org/page/Quir%C3%B3s
6.  http://dbpedia.org/page/Las_Regueras
7.  http://dbpedia.org/page/San_Mart%C3%ADn_del_Re
    y_Aurelio
8. http://dbpedia.org/page/San_Mart%C3%ADn_de_Os
    cos
9. http://dbpedia.org/page/Villaviciosa,_Asturias
10. http://dbpedia.org/page/Soto_del_Barco

Ver fichero: recursos/rdf/mapeo-concejos-dbpedia.ttl
Enlazamos con la DBPedia




   Propiedad: owl:sameAs
Valor: cell.recon.match.id
Reconciliar con nuestro
      Noménclator
• Preparar los nombres de
  los concejos
• Crear consulta SPARQL
• Añadir nueva columna
  “Fetching web Service”
Consulta en SPARQL

SELECT * where{
?concejo rdf:type
      http://localhost/nomenclator/definitions/Conc
ejo.
?concejo rdfs:label ?label.
      FILTER (lang(?label)=es
             and str(?label)=Allande)
}
value.split(td)[1].split(/td)[0]
Y por qué a mano?…

Problemas en la codificación
de las consultas en SPARQL

Algoritmos de Reconcialición
Con la DBPedia fallaron 18 con nuestro servicio 20: Quirós, Las
                        Regueras, etc.
Lo están intentando
            resolver…
• http://events.linkeddata.org/ldow2011/papers/ldow2
  011-paper11-maali.pdf
• https://github.com/samuraraujo/SERIMI-RDF-
  Interlinking
• http://disi.unitn.it/~p2p/OM-011/oaei11_paper15.pdf


    Les vamos a dar un buen
       caso de prueba…
RDF Skeleton
Generar RDF del Enlace con la
          DBPedia
Mezclamos los ficheros
            RDF
       (sólo tripletas)
• 1º Dataset con las entidades de población ya
  publicado en Virtuoso
• 2º Dataset con los enlaces a la DBPedia
• 3º Dataset con los enlaces manuales a la DBPedia


            Nomen-full.ttl
Publicamos en Virtuoso
Finalmente publicamos las
      definiciones

          Ver fichero:
curso/recursos/rdf/nomenclato
      r-definitions.ttl
…Y todo este
 despliegue
 siempre a
   mano?
TALIS Platform
           http://www.talis.com/platform/



      LOD2 STACK
http://lod2.eu/BlogPost/677-first-release-of-the-lod2-
                     stack.html



          BCN Chile
         http://www.slideshare.net/jelabra
              (Presentación I-Semantics 2011)
Checklist
•   Producción de Linked Data
•   Enriquecimiento
•   Reconciliación de entidades
•   Publicación de datos
•   Infraestructura para
    repositorio de RDF
•   …
¿Nuestro
dataset puede
ser una nueva
  burbuja?
• There must be resolvable http:// (or https://) URIs.
• They must resolve, with or without content negotiation, to RDF data
  in one of the popular RDF formats (RDFa, RDF/XML, Turtle, N-
  Triples).
• The dataset must contain at least 1000 triples. (Hence, your FOAF
  file most likely does not qualify.)
• The dataset must be connected via RDF links to a dataset that is
  already in the diagram. This means, either your dataset must use
  URIs from the other dataset, or vice versam. We arbitrarily require
  at least 50 links.
• Access of the entire dataset must be possible via RDF crawling, via
  an RDF dump, or via a SPARQL endpoint.
Curso Integración Web
     Semántica
  …Estadísticas, Consumo,
 Introducción OWL+Ejemplo,
   Debate+Conclusiones…

        Jose María Alvarez Rodríguez
        WESO-Universidad de Oviedo
       E-mail: josem.alvarez@weso.es
        WWW: http://josemalvarez.es

Mais conteúdo relacionado

Mais procurados

Mais procurados (16)

SPARQL
SPARQLSPARQL
SPARQL
 
RDA (Pilar Tejero López)
RDA (Pilar Tejero López)RDA (Pilar Tejero López)
RDA (Pilar Tejero López)
 
23 sparql
23 sparql23 sparql
23 sparql
 
Data crunching con Spark
Data crunching con SparkData crunching con Spark
Data crunching con Spark
 
Video 5 base de datos
Video 5  base de datosVideo 5  base de datos
Video 5 base de datos
 
Linked data con R
Linked data con RLinked data con R
Linked data con R
 
Base de datos
Base de datosBase de datos
Base de datos
 
RDA y el proceso de catalogación
RDA y el proceso de catalogaciónRDA y el proceso de catalogación
RDA y el proceso de catalogación
 
16 Alternativas XML
16 Alternativas XML16 Alternativas XML
16 Alternativas XML
 
Diseño de Ontologías: Protégé - OWL: SPARQL
Diseño de Ontologías: Protégé - OWL: SPARQLDiseño de Ontologías: Protégé - OWL: SPARQL
Diseño de Ontologías: Protégé - OWL: SPARQL
 
Actividad 3, funcionamientos de una herramienta semántica
Actividad 3, funcionamientos de una herramienta semánticaActividad 3, funcionamientos de una herramienta semántica
Actividad 3, funcionamientos de una herramienta semántica
 
RDA Autoridades: fundamentos, identificación de entidades, relaciones (Ricard...
RDA Autoridades: fundamentos, identificación de entidades, relaciones (Ricard...RDA Autoridades: fundamentos, identificación de entidades, relaciones (Ricard...
RDA Autoridades: fundamentos, identificación de entidades, relaciones (Ricard...
 
Lenguaje de recuperación de datos en la web (sparql)
Lenguaje de recuperación de datos en la web (sparql)Lenguaje de recuperación de datos en la web (sparql)
Lenguaje de recuperación de datos en la web (sparql)
 
Desarrollo actual de RDA (Pilar Tejero López)
Desarrollo actual de RDA (Pilar Tejero López)Desarrollo actual de RDA (Pilar Tejero López)
Desarrollo actual de RDA (Pilar Tejero López)
 
"Creación de bases de datos en SQL Server"
"Creación de bases de datos en SQL Server" "Creación de bases de datos en SQL Server"
"Creación de bases de datos en SQL Server"
 
LRM: Library Reference Model (Ricardo Santos Muñoz)
LRM: Library Reference Model (Ricardo Santos Muñoz)LRM: Library Reference Model (Ricardo Santos Muñoz)
LRM: Library Reference Model (Ricardo Santos Muñoz)
 

Semelhante a Curso integración Web Semántica

The Web of Data
The Web of DataThe Web of Data
The Web of Databetabeers
 
Parte 2. web semantica eva mendez - argentina - 301009
Parte 2. web semantica   eva mendez - argentina - 301009Parte 2. web semantica   eva mendez - argentina - 301009
Parte 2. web semantica eva mendez - argentina - 301009izrxrzi
 
Websemantica 1218250849453303 9
Websemantica 1218250849453303 9Websemantica 1218250849453303 9
Websemantica 1218250849453303 9Negra Morales
 
Curso Integración Web Semántica Estadísticas
Curso Integración Web Semántica EstadísticasCurso Integración Web Semántica Estadísticas
Curso Integración Web Semántica EstadísticasWESO (Oviedo Semantic Web)
 
Jorge lopez web_apps
Jorge lopez web_appsJorge lopez web_apps
Jorge lopez web_appseccutpl
 
Herramientas para linked data
Herramientas para linked dataHerramientas para linked data
Herramientas para linked dataIván Ruiz-Rube
 
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios EstándarROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios EstándarDiego López-de-Ipiña González-de-Artaza
 
Linked Data In Use (Cursos de Verano UPM 2011)
Linked Data In Use (Cursos de Verano UPM 2011)Linked Data In Use (Cursos de Verano UPM 2011)
Linked Data In Use (Cursos de Verano UPM 2011)Guillermo Álvaro Rey
 
Charla 9a Jornada de Usuarios Ex-Libris, 30 de septiembre de 2014
Charla 9a Jornada de Usuarios Ex-Libris, 30 de septiembre de 2014Charla 9a Jornada de Usuarios Ex-Libris, 30 de septiembre de 2014
Charla 9a Jornada de Usuarios Ex-Libris, 30 de septiembre de 2014Christian Sifaqui
 
Aplicaciones de la web semántica
Aplicaciones de la web semánticaAplicaciones de la web semántica
Aplicaciones de la web semánticaDiego Berrueta
 
La recolección de metadatos desde la perspectiva de Europeana, de Andrés Vied...
La recolección de metadatos desde la perspectiva de Europeana, de Andrés Vied...La recolección de metadatos desde la perspectiva de Europeana, de Andrés Vied...
La recolección de metadatos desde la perspectiva de Europeana, de Andrés Vied...DIGIBIS
 

Semelhante a Curso integración Web Semántica (20)

The Web of Data
The Web of DataThe Web of Data
The Web of Data
 
Curs 1.6. Datos enlazados (2h) OpenDataLab
Curs 1.6. Datos enlazados (2h) OpenDataLabCurs 1.6. Datos enlazados (2h) OpenDataLab
Curs 1.6. Datos enlazados (2h) OpenDataLab
 
Parte 2. web semantica eva mendez - argentina - 301009
Parte 2. web semantica   eva mendez - argentina - 301009Parte 2. web semantica   eva mendez - argentina - 301009
Parte 2. web semantica eva mendez - argentina - 301009
 
Curs 1.6 Datos Enlazados
Curs 1.6 Datos EnlazadosCurs 1.6 Datos Enlazados
Curs 1.6 Datos Enlazados
 
Websemantica
WebsemanticaWebsemantica
Websemantica
 
Websemantica 1218250849453303 9
Websemantica 1218250849453303 9Websemantica 1218250849453303 9
Websemantica 1218250849453303 9
 
Curs 2.5 Datos Enlazados
Curs 2.5 Datos EnlazadosCurs 2.5 Datos Enlazados
Curs 2.5 Datos Enlazados
 
Curs 2.5 Dades enllaçades
Curs 2.5 Dades enllaçadesCurs 2.5 Dades enllaçades
Curs 2.5 Dades enllaçades
 
Curso Integración Web Semántica Estadísticas
Curso Integración Web Semántica EstadísticasCurso Integración Web Semántica Estadísticas
Curso Integración Web Semántica Estadísticas
 
Curs 1.6. Dades Enllaçades (14/02)
Curs 1.6. Dades Enllaçades (14/02)Curs 1.6. Dades Enllaçades (14/02)
Curs 1.6. Dades Enllaçades (14/02)
 
Jorge lopez web_apps
Jorge lopez web_appsJorge lopez web_apps
Jorge lopez web_apps
 
Herramientas para linked data
Herramientas para linked dataHerramientas para linked data
Herramientas para linked data
 
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios EstándarROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
 
Linked Data In Use (Cursos de Verano UPM 2011)
Linked Data In Use (Cursos de Verano UPM 2011)Linked Data In Use (Cursos de Verano UPM 2011)
Linked Data In Use (Cursos de Verano UPM 2011)
 
Charla 9a Jornada de Usuarios Ex-Libris, 30 de septiembre de 2014
Charla 9a Jornada de Usuarios Ex-Libris, 30 de septiembre de 2014Charla 9a Jornada de Usuarios Ex-Libris, 30 de septiembre de 2014
Charla 9a Jornada de Usuarios Ex-Libris, 30 de septiembre de 2014
 
Aplicaciones de la web semántica
Aplicaciones de la web semánticaAplicaciones de la web semántica
Aplicaciones de la web semántica
 
La recolección de metadatos desde la perspectiva de Europeana, de Andrés Vied...
La recolección de metadatos desde la perspectiva de Europeana, de Andrés Vied...La recolección de metadatos desde la perspectiva de Europeana, de Andrés Vied...
La recolección de metadatos desde la perspectiva de Europeana, de Andrés Vied...
 
Dbpedia
DbpediaDbpedia
Dbpedia
 
Introduccion a OpenData
Introduccion a OpenDataIntroduccion a OpenData
Introduccion a OpenData
 
Datos abiertos enlazados: Experiencia en la Universidad de Chile
Datos abiertos enlazados: Experiencia en la Universidad de ChileDatos abiertos enlazados: Experiencia en la Universidad de Chile
Datos abiertos enlazados: Experiencia en la Universidad de Chile
 

Mais de WESO (Oviedo Semantic Web) (8)

CAEPIA 2011 Linked Data Methodology
CAEPIA 2011 Linked Data MethodologyCAEPIA 2011 Linked Data Methodology
CAEPIA 2011 Linked Data Methodology
 
WESO CAEPIA-20111108
WESO CAEPIA-20111108WESO CAEPIA-20111108
WESO CAEPIA-20111108
 
Curso Integración Web Semántica-Conclusiones
Curso Integración Web Semántica-ConclusionesCurso Integración Web Semántica-Conclusiones
Curso Integración Web Semántica-Conclusiones
 
Curso Integración Web Semántica-OWL
Curso Integración Web Semántica-OWLCurso Integración Web Semántica-OWL
Curso Integración Web Semántica-OWL
 
WESO SATBI 2011
WESO SATBI 2011WESO SATBI 2011
WESO SATBI 2011
 
WESO MeTTeG 2011
WESO MeTTeG 2011WESO MeTTeG 2011
WESO MeTTeG 2011
 
WESO 10ders
WESO 10dersWESO 10ders
WESO 10ders
 
WESO-10ders
WESO-10dersWESO-10ders
WESO-10ders
 

Curso integración Web Semántica

  • 1. Curso Integración Web Semántica Casos Prácticos 24 Octubre 2011 Jose María Álvarez Rodríguez WESO-Universidad de Oviedo E-mail: josem.alvarez@weso.es WWW: http://josemalvarez.es
  • 3. Producción Selección Modelado Enriquecimiento Generación
  • 4. ¿Qué dataset vamos a generar? Noménclator 2010 de entidades de población de Asturias Formato: MSExcel Fuente: www.sadei.es Ejemplo: http://purl.org/weso/nomenclator/
  • 5. ¿Qué datasets vamos a reutilizar? http://datacatalogs.org/ http://sindice.com/ http://ckan.net
  • 6. ¿Qué vocabularios vamos a reutilizar? prefix.cc namespace lookup for RDF http://prefix.cc developers Búsqueda de prefijos para vocabularios y datasets
  • 9. Servicios SPARQL Endpoint Servicios Web K Z :
  • 10. Generación Scripts Programa+API RDF Herramientas ETL Mapeadores a RDF
  • 11. Receta • Elegir el dataset a RDFizar • Analizar los datos a convertir • Buscar cómo modelar estos datos • Reutilizar vocabularios + Nuevas definiciones • Enriquecer • Con qué datasets tengo/debo/quiero enlazar y qué operación • Servicios de acceso a esos datasets • Herramientas de generación • Validen los datos generados • Datos estáticos o dinámicos • Provenance… • Descripción del dataset generado
  • 13. Mi Receta • Noménclator 2010 de Asturias • Formato MSExcel, Códigos, Descripciones textuales, jerarquía de entidades y datos estadísticos • SKOS, Dublin Core, SCOVO, Cube+SDMX, Organizations Ontology, FOAF, NUTS, etc. • DBPedia-SPARQL-Reconciliar • Google Maps API-REST WS-Buscar • Google Refine+ RDF extension • Valida RDF de salida • Datos estáticos • Provenance, licencia… • Descripción del dataset generado
  • 14. Objetivo E Linked Data Noménclator Asturias 2010
  • 15. Noménclator Fuente: http://www.sadei.es/ - Aplicaciones de Consulta- Noménclator 2010 - Más datos - Entidades Ver fichero: recursos/nomen2010/entidades2010.xls
  • 16.
  • 17.
  • 18. Análisis del dataset • Códigos • Concejo+Parroquia+Entidad • Jerarquía de entidades • Etiquetas para cada entidad de población (es,ast) • Datos estadísticos
  • 19. Modelado de datos (ver más adelante en concreto) • Códigos +Jerarquía de entidades (taxonomía)+ Etiquetas para cada entidades de población – SKOS-XL+DC http://www.w3.org/TR/skos-reference/skos-xl.html
  • 20. Estadísticas con The RDF Data Cube vocabulary (sesión 2) http://publishing-statistical- data.googlecode.com/svn/trunk/specs/src/main/html/cube.html
  • 21. Enriquecimiento • DBPedia • Entidades de población: http://dbpedia.org/page/Allande • Endpoint SPARQL • Georeferenciación • Google Maps Api • Servicio REST • Basic Geo (WGS84 lat/long) Vocabulary: http://www.w3.org/2003/01/geo/ • NUTS…(a nivel de Comunidad Autónoma)
  • 22. Herramientas • Google Refine • http://code.google.com/p/google-refine/ • Descomprimir en un directorio • Ver fichero: software/herremientas/google-refine- 2.1-r2136.zip • RDF extension Google Refine • http://lab.linkeddata.deri.ie/2010/grefine-rdf-extension/ • Ver fichero: software/herremientas/grefine-rdf- extension-0.5.3 • Descomprimir e introducir dentro de “…google-refine- 2.1-r2136webappextensions”
  • 25. Consola de Google Refine URL Navegador: http://localhost:3333
  • 26.
  • 27. Crear un proyecto Nombre de proyecto + Fichero de Datos
  • 28.
  • 29. Comprobamos que tenemos la extensión RDF
  • 30. Preparación de los datos Cambiamos los nombres de las columnas para referenciarlas Borramos las primeras filas (no son datos) Borramos las últimas filas (son datos de la entidad) Borramos las 3 últimas columnas (repetidas)
  • 31.
  • 32. Marcamos con Flag las filas a borrar
  • 36.
  • 39. Modelado de datos • Definir la taxonomía de tipo de entidades con SKOS • Generar esqueleto RDF para aplicar a cada entidad … veamos un ejemplo!
  • 40. …Recordando (principios Linked Data)… 1. Usar URIs para identificar las cosas 2. Usar URIs HTTP 3. Ofrecer información sobre los recursos usando RDF 4. Incluir enlaces a otros URIs
  • 41. …Recordando (referencias)… 1. http://linkeddatabook.com/editions/1.0/ 2. http://www.w3.org/DesignIssues/LinkedDat a.html 3. http://www.w3.org/TR/swbp-vocab-pub/ 4. http://www.w3.org/2009/08/skos- reference/skos.html
  • 42. Taxonomía de tipo de Entidad de Población s W W s W h
  • 43. Taxonomía de tipo de Entidad de Población en SKOS Concejo rdf:type skos:Concept . Parroquia rdf:type skos:Concept ; skos:broaderTransitive Concejo; Lugar rdf:type skos:Concept ; skos:broaderTransitive Parroquia; … Cada entidad tendrá un tipo que será un skos:Concept y un base uri definitions
  • 44. Esqueleto de una entidad de población d s Yh/ZM^ W Eh^ E E d ^ d , D d s s W s E W
  • 45. …en RDF… W s d …definimos este esqueleto con Google Refine+RDF…
  • 46. …y las estadísticas en RDF? Estrategia… Paso 1-Modelar, generar… las entidades de población-RDF Paso 2-Enriquecer las entidades de población- RDF Paso 3-Modelar, generar…las estadísticas por separado-RDF
  • 47. …a preparar un poco más los datos… • Quitar un “carácter extraño” de los códigos de Concejo, Parroquia y Entidad (mirar el código con unicode(value) si es 32 entonces trim sino substring) • Cambiar los nombres como “Castro, El” a “El Castro” tanto en su versión normal como tradicional • Preparar los nombres del tipo de “Entidad”
  • 48.
  • 49.
  • 51.
  • 54. Borramos los mapeos que no interesan
  • 55. Buscamos las propiedades que decidimos al modelar…
  • 57. URIs para cada recurso 2010/+value+/+cells[Cod_Parroquia].value+/ +cells[Cod_Entidad].value
  • 58. Lang en los labels…
  • 59. Crear URI para tipo de entidad…
  • 60. http://localhost/nomenclator/definitions/+repla ceChars(value,áéíóú,aeiou)
  • 62. Generando skos:broader…partimos de la columna “Cod_Concejo” if(cells[Cod_Entidad].value == 00, if(cells[Cod_Parroquia].value == 00,http://nuts.psi.enakting.org/id/ ES12,http://localhost/nomenclator/as turias/2010/+cells[Cod_Concejo].val ue+/00/00 ), http://localhost/nomenclator/asturias /2010/+cells[Cod_Concejo].value+/ +cells[Cod_Parroquia].value+/00 ))
  • 63. Versión del RDF Skeleton
  • 64. Nuestro ejemplo en Turtle… http://localhost/nomenclator/asturias/2010/5 3/08/02 skosxl:prefLabel “Llanuces@es , Chanuces@ast ; rdfs:label “Llanuces@es , Chanuces@ast ; a http://localhost/nomenclator/definitions/Lugar ; dc:identifier “53_08_02 ; skos:broaderTransitive http://localhost/nomenclator/asturias/2010/53/08/0 0 .
  • 66. Partimos de la columna “Nombre_clean”
  • 67. “Add column by fetching URLs”
  • 68. Parámetros • Throttle delay: 100ms+ 0,5 seg. Por petición * 7878 (20-30 mins) • URL: http://maps.googleapis.com/maps/api/geoc ode/json?sensor=falseaddress= + escape(value+,+value+, Asturias, Spain,url) Respuesta en JSON (extraer lat y long) y creamos nuevas columnas: “Add column based on this column”
  • 69. Partimos de la columna “Google Maps” Columna “Lat” with(value.parseJson().results[0].ge ometry.location, pair, pair.lat) Columna “Long” with(value.parseJson().results[0].ge ometry.location, pair, pair.lng)
  • 70. Editamos el RDF skeleton..
  • 72. Generar RDF final de las Entidades de Población
  • 73. ¿Es necesario publicar datos para consultar en SPARQL?
  • 74. -Cargar RDF por programa (ej: JENA) -Utilizar un procesador SPARQL local
  • 75. ARQ • Descargar y descomprimir: • http://sourceforge.net/projects/jena/files/ARQ/ • Ver Fichero: curso/software/herramientas/arq-2.8.8.zip • Fijar variable ARQROOT • SET arqroot=c:UsersCursoDesktopcursos oftwareherramientasARQ-2.8.8“ • Ejecutar en cmd: • %ARQROOT%batarq.bat --query “file_query” --data “file_data”
  • 76. ARQ • Ver fichero: curso/recursos/queries/1.qr • Ejecutar: • Interesante porque tiene extensiones (algunas presentes ya en SPARQL 1.1
  • 77. Algunas consultas en SPARQL Ver ficheros: curso/recursos/queries/*.qr
  • 78. Consultas sencillas A. «Obtener el código y el nombre de los concejos en castellano» B. «Obtener el código y el nombre de todas las entidades de población de un concejo» C. «Obtener el código y nombre todas las ciudades de un concejo» D. «Obtener el código y nombre de todas las ciudades y lugares de un
  • 79. ^d /^d/Ed t,Z A /dZ ^d /^d/Ed t,Z B /dZ d /dZ ^d /^d/Ed t,Z B1 /dZ /dZ /dZ
  • 80. ^d /^d/Ed t,Z C /dZ /dZ /dZ ^d /^d/Ed t,Z /dZ /dZ D /dZ /dZ KZZ z
  • 82. Infraestructura s d ^W ZY d
  • 83. Instalación Apache • Descarga: http://httpd.apache.org/ • Instalación típica como servicio • Ver fichero: curso/software/servidores/httpd- 2.2.21-win32-x86-openssl-0.9.8r.exe
  • 84. Instalación Apache Tomcat • Descarga: http://tomcat.apache.org/download-60.cgi • Versión 6.x • Descomprimir fichero .zip • Configurar mod_jk y Apache HTTP • Ver fichero: curso/software/servidores/apache-tomcat- 6.0.33-windows-x86.zip
  • 86. Instalación Virtuoso • Descarga: http://download.openlinksw.com/virtwiz/ • Ver fichero: curso/software/servidores/ntvpz2zz.exe • Necesidad de registro para evaluación • Versión: ·Multi-Threaded Universal Server (Commercial Edition) for OpenLink Virtuoso 6.2 • Instalación Completa y sin registro • Instalación Connectivity Suite
  • 88.
  • 94. Otros paquetes: fct e isparql
  • 95. Text Search en fct…”Llanuces” (utiliza rdfs:label)
  • 96. URI lookup en fct…
  • 98. Configuración “cool uris” • Eliminar el nº de puerto de las URIs y que se puedan referenciar • Crear proxy inverso con Apache HTTP • http://docs.openlinksw.com/virtuoso/webserver. html • Mod_jk (Conexión con Tomcat) • Para desplegar un linked data front-end
  • 99. Configuración Apache HTTP • Paramos el servidor • Editamos el Archivo: C:Program FilesApache Software FoundationApache2.2conf httpd.conf (ver archivo) • Habilitamos los módulos de proxy (quitar #) • Habilitamos la carga de configuración de los Vhosts: Include conf/extra/httpd-vhosts.conf • Editamos el fichero de vhosts: C:Program FilesApache Software FoundationApache2.2confextra (ver archivo) • Arrancamos el servidor • Copiar ficheros de configuración de: curso/conf/apache
  • 100. Configuración Apache HTTP- mod_jk • Documentación oficial: http://tomcat.apache.org/connectors- doc/generic_howto/quick.html • Descarga: • http://apache.rediris.es//tomcat/tomcat- connectors/jk/binaries/windows/tomcat-connectors-1.2.32- windows-i386-httpd-2.2.x.zip • Ver fichero: curso/software/servidores/tomcat- connectors-1.2.32-windows-i386-httpd-2.2.x.zip • Copiar “mod_jk” a “C:Program FilesApache Software FoundationApache2.2modules” • Crear fichero “worker.properties” • Configurar módulo según documentación • Añadir punto de montaje a aplicación en TOMCAT
  • 101. worker.properties # Define 1 real worker using ajp13 worker.list=worker1 # Set properties for worker1 (ajp13) worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 Ubicación: C:Program FilesApache Software FoundationApache2.2conf
  • 102. Configurar módulo en httpd.conf # Load mod_jk module # Update this path to match your modules location LoadModule jk_module modules/mod_jk.so # Where to find workers.properties # Update this path to match your conf directory location (put workers.properties next to httpd.conf) JkWorkersFile c:/Temp/workers.properties # Where to put jk shared memory # Update this path to match your local state directory or logs directory JkShmFile C:/Temp/mod_jk.shm # Where to put jk logs # Update this path to match your logs directory location (put mod_jk.log next to access_log) JkLogFile C:/Temp/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel info # Select the timestamp log format JkLogStampFormat [%a %b %d %H:%M:%S %Y]
  • 103. Configurar módulo en httpd-vhosts.conf JkMount /nomenclator/* worker1 Nuestra aplicación de Pubby se llamará nomenclator y estará en TOMCAT
  • 104. Linked Data Front-end • Pubby • http://www4.wiwiss.fu-berlin.de/pubby/ • http://www4.wiwiss.fu- berlin.de/pubby/download/pubby-0.3.3.zip • Ver fichero: curso/software/herramientas/pubby- 0.3.3.zip • ELDA • http://elda.googlecode.com/hg/deliver- elda/src/main/docs/index.html • WESO-DESH • http://code.google.com/p/weso-desh/
  • 105. Pubby • Servlet con negociación de contenido y queries DESCRIBE de SPARQL • ANT para construir nuestra propia webapp • Configuración del dataset • Despliegue en TOMCAT • Mapeo con APACHE
  • 107. Apache ANT • Descargar y descomprimir: http://apache.rediris.es//ant/binaries/apache- ant-1.8.2-bin.zip • Ver Fichero: curso/software/desarrollo/apache- ant-1.8.2-bin.zip • Ir a Equipo-Propiedades… • Crear variable ANT_HOME • Configurar PATH de Windows • Comprobar en consola comando: ant
  • 108.
  • 109. Construir nomenclator.war • Editar el fichero config.ttl en pubby-0.3.3webappWEB-INF • Editar el fichero build.xml en pubby-0.3.3, cambiar el nombre generado: property name=myapp value=nomenclator/ property name=war value=${basedir}/${myapp}.war / • Empaquetar y Desplegar: ant war
  • 110. config.ttl conf:dataset [ conf:sparqlEndpoint http://localhost/sparql; conf:sparqlDefaultGraph http://localhost/nomenclator/asturias/2010; conf:datasetBase http://localhost/nomenclator/; conf:datasetURIPattern asturias/2010/.*; conf:webResourcePrefix ; conf:fixUnescapedCharacters (),'!$*+;=@; #conf:metadataTemplate metadata.ttl; meta:pubbyUser http://purl.org/weso; meta:pubbyOperator http://purl.org/weso; meta:endpointUser http://purl.org/weso; meta:endpointOperator http://purl.org/weso; ]; …Personalizar “metadata.ttl”
  • 111. Acceso mediante Pubby • http://localhost/nomenclator/
  • 112. …hasta ahora tenemos.. s d ^W ZY d
  • 113. …más linked data.. Enlace con DBPedia Reconciliación de entidades Estadísticas
  • 114. Modelado Desempleo Nuevo proyecto con Google Refine Fuente: http://www.sepe.es/contenido/estadistica s/datos_estadisticos/municipios/index.ht ml Ver fichero: recursos/sepe/Desempleo-Sept-2011- Asturias.xls
  • 118. Otros editando RDF… 1. http://dbpedia.org/page/El_Franco 2. http://dbpedia.org/page/Lena,_Asturias 3. http://dbpedia.org/page/Muros_de_Nal%C3%B3n 4. http://dbpedia.org/page/On%C3%ADs 5. http://dbpedia.org/page/Quir%C3%B3s 6. http://dbpedia.org/page/Las_Regueras 7. http://dbpedia.org/page/San_Mart%C3%ADn_del_Re y_Aurelio 8. http://dbpedia.org/page/San_Mart%C3%ADn_de_Os cos 9. http://dbpedia.org/page/Villaviciosa,_Asturias 10. http://dbpedia.org/page/Soto_del_Barco Ver fichero: recursos/rdf/mapeo-concejos-dbpedia.ttl
  • 119. Enlazamos con la DBPedia Propiedad: owl:sameAs Valor: cell.recon.match.id
  • 120. Reconciliar con nuestro Noménclator • Preparar los nombres de los concejos • Crear consulta SPARQL • Añadir nueva columna “Fetching web Service”
  • 121. Consulta en SPARQL SELECT * where{ ?concejo rdf:type http://localhost/nomenclator/definitions/Conc ejo. ?concejo rdfs:label ?label. FILTER (lang(?label)=es and str(?label)=Allande) }
  • 123. Y por qué a mano?… Problemas en la codificación de las consultas en SPARQL Algoritmos de Reconcialición Con la DBPedia fallaron 18 con nuestro servicio 20: Quirós, Las Regueras, etc.
  • 124. Lo están intentando resolver… • http://events.linkeddata.org/ldow2011/papers/ldow2 011-paper11-maali.pdf • https://github.com/samuraraujo/SERIMI-RDF- Interlinking • http://disi.unitn.it/~p2p/OM-011/oaei11_paper15.pdf Les vamos a dar un buen caso de prueba…
  • 126. Generar RDF del Enlace con la DBPedia
  • 127. Mezclamos los ficheros RDF (sólo tripletas) • 1º Dataset con las entidades de población ya publicado en Virtuoso • 2º Dataset con los enlaces a la DBPedia • 3º Dataset con los enlaces manuales a la DBPedia Nomen-full.ttl
  • 129. Finalmente publicamos las definiciones Ver fichero: curso/recursos/rdf/nomenclato r-definitions.ttl
  • 130. …Y todo este despliegue siempre a mano?
  • 131. TALIS Platform http://www.talis.com/platform/ LOD2 STACK http://lod2.eu/BlogPost/677-first-release-of-the-lod2- stack.html BCN Chile http://www.slideshare.net/jelabra (Presentación I-Semantics 2011)
  • 132. Checklist • Producción de Linked Data • Enriquecimiento • Reconciliación de entidades • Publicación de datos • Infraestructura para repositorio de RDF • …
  • 134. • There must be resolvable http:// (or https://) URIs. • They must resolve, with or without content negotiation, to RDF data in one of the popular RDF formats (RDFa, RDF/XML, Turtle, N- Triples). • The dataset must contain at least 1000 triples. (Hence, your FOAF file most likely does not qualify.) • The dataset must be connected via RDF links to a dataset that is already in the diagram. This means, either your dataset must use URIs from the other dataset, or vice versam. We arbitrarily require at least 50 links. • Access of the entire dataset must be possible via RDF crawling, via an RDF dump, or via a SPARQL endpoint.
  • 135. Curso Integración Web Semántica …Estadísticas, Consumo, Introducción OWL+Ejemplo, Debate+Conclusiones… Jose María Alvarez Rodríguez WESO-Universidad de Oviedo E-mail: josem.alvarez@weso.es WWW: http://josemalvarez.es