life sciences linked data

154
Life Sciences Linked Data Máster Bioinformática UM Mikel Egaña Aranguren / Biological Informatics Group ( ), CBGP, UPM, Madrid http://mikeleganaaranguren.com [email protected] http://wilkinsonlab.info

Upload: mikel-egana-aranguren

Post on 30-Jun-2015

342 views

Category:

Education


1 download

DESCRIPTION

Transparencias de las clases sobre Linked Data en el Máster de Bioinformática de la Universidad de Murcia. Para un mejor efecto, http://biordf.org:8080/UM_LSLD/Clases/UM_Bioinformatics_LD.html

TRANSCRIPT

Page 1: Life Sciences Linked Data

Life Sciences Linked Data

Máster Bioinformática UM

Mikel Egaña Aranguren

/

Biological Informatics Group ( ), CBGP, UPM, Madridhttp://mikeleganaaranguren.com [email protected]

http://wilkinsonlab.info

Page 2: Life Sciences Linked Data
Page 3: Life Sciences Linked Data

Life Sciences Linked Data

https://mikeleganaaranguren.wordpress.com/teaching/

http://biordf.org:8080/UM_LSLD/Clases/UM_Bioinformatics_LD.html

Page 4: Life Sciences Linked Data
Page 5: Life Sciences Linked Data

¿Qué es Linked Data?

Page 6: Life Sciences Linked Data
Page 7: Life Sciences Linked Data

Video divulgativo

Page 8: Life Sciences Linked Data

¿Qué es Linked Data (LD)?

Un método para ofrecer datos directamente en la web

Una propuesta del : W3C http://www.w3.org/standards/semanticweb/data

Page 9: Life Sciences Linked Data

Un primer paso hacia la Web Semántica

Page 10: Life Sciences Linked Data

Pila tecnologías Web Semántica

Page 11: Life Sciences Linked Data

Un primer paso hacia la Web Semántica

LD utiliza la tecnología ya existente (URI, HTTP, ...) para ofrecer una primeraversión de la Web Semántica

Page 12: Life Sciences Linked Data

Pila tecnologías Web Semántica y LD

BNODE

Page 13: Life Sciences Linked Data

Principios LD

1. Usar URIs para identificar entidades2. Usar URIs HTTP para que se pueda acceder a esas entidades3. Cuando un usuario o agente accede a una URI, proveer información útil mediante

estándares (RDF, SPARQL)4. Incluir enlaces a otras URIs para que se puedan descubrir más entidades

http://www.w3.org/DesignIssues/LinkedData.html

Page 14: Life Sciences Linked Data

Con LD publicamos datos de manera ...

... semántica

... enlazada

Page 15: Life Sciences Linked Data

Semántica

RDF ofrece el triple, un modelo de datos explícito y homogéneo: una "frase"estándar que los ordenadores pueden "entender"

Page 16: Life Sciences Linked Data

Enlaces

En el triple, cada entidad (sujeto, predicado, objeto) tiene una URI que lo identifica

Los datos son enlazados a otros datos a través de la web, con enlaces explícitos

Page 17: Life Sciences Linked Data

Red global de datos enlazados

Page 18: Life Sciences Linked Data

Red global de datos enlazados

Internet de datos, en vez de documentos: "Base de Datos universal":

Es más fácil construir aplicaciones que exploten los datos, incluyendorazonamiento automáticoEncontramos justo lo que buscamos: consultas directas (SPARQL) en vez deprocesar texto

Page 19: Life Sciences Linked Data

Red global de datos enlazados

Navegamos directamente por las datos (RDF), en vez de navegar a través dedocumentos que representan esos datos en lenguaje natural (HTML)

Enlazar datos nuevos es tan fácil como enlazar páginas web: crecimiento orgánicode la red

Page 20: Life Sciences Linked Data

Linked Open Data (LOD) cloud

Page 22: Life Sciences Linked Data

Datasets de interés

(¡UM!)

**

LOD cloud ...

Bio2RDFOGOLODLinkedLifeDataHyQueArrayExpress and Gene expression atlasUniProt

Page 23: Life Sciences Linked Data
Page 24: Life Sciences Linked Data

RDF

Page 25: Life Sciences Linked Data
Page 26: Life Sciences Linked Data

RDF (Resource Description Framework)

RDF es un estándar oficial del para representar información en la webW3C

www.w3.org/standards/techs/rdf

Page 27: Life Sciences Linked Data

Triple RDF

Page 28: Life Sciences Linked Data

Grafo RDF

Un grafo RDF es un conjunto de triples

Page 29: Life Sciences Linked Data

Grafo RDF

Algunos objetos pueden ser valores literales (Cadenas de caracteres)

Sujetos y predicados sólo pueden ser recursos

Los valores literales pueden tener tipo ( )XML Schema datatypes

Page 30: Life Sciences Linked Data

Elementos RDF

rdf:type: agrupar recursos en clases

Page 31: Life Sciences Linked Data

Elementos RDF

Page 32: Life Sciences Linked Data
Page 33: Life Sciences Linked Data

URIs en RDF

Cada recurso (Sujeto, predicado, objeto) tiene una URI

URI: Uniform Resource Identifier ( )

Reference URI: URI + fragment (http://foo/bar#frag)(En Linked Data, las URIs se pueden resolver, es decir dereferenciar)

RFC3986

Page 34: Life Sciences Linked Data

Espacios de nombres XML

RDF usa espacios de nombres XML mediante "qualified names"

Vocabulario: URIs bajo un espacio de nombre

rdfs="http://www.w3.org/2000/01/rdfschema#"obo="http://purl.org/obo/owl/GO#"owl="http://www.w3.org/2002/07/owl#"...

Page 35: Life Sciences Linked Data

Serializar RDF

RDF es un modelo para representar datos

Ese modelo abstracto se puede representar con diferentes sintaxis: "Serializar"(escribir) en un archivo

Una de esas sintaxis es RDF/XML

No confundir el modelo con la sintaxis: ¡RDF es mucho más que un archivo XML!

Page 36: Life Sciences Linked Data

Serializar RDF

RDF/XML ( )RDFa ( )Turtle ( )N3 ( )...

http://www.w3.org/TR/rdfsyntaxgrammar/http://www.w3.org/TR/rdfacore/http://www.w3.org/TR/turtle/

http://www.w3.org/DesignIssues/Notation3.html

Page 37: Life Sciences Linked Data

Serializar RDF: RDF/XML

Page 38: Life Sciences Linked Data

Vocabulario (ontología) / triples

Page 39: Life Sciences Linked Data

Más información

RDF primer

RDF validator

Page 40: Life Sciences Linked Data
Page 41: Life Sciences Linked Data

RDFS (RDF Schema)

Page 42: Life Sciences Linked Data
Page 43: Life Sciences Linked Data

RDFS

RDFS es un estándar oficial del para describir clases de recursos RDF y suspropiedades: definir vocabularios para RDF

W3C

http://www.w3.org/TR/rdfschema/

Page 44: Life Sciences Linked Data

RDFS

Page 45: Life Sciences Linked Data
Page 46: Life Sciences Linked Data

OWL (Web Ontology Language)

Page 47: Life Sciences Linked Data
Page 48: Life Sciences Linked Data

OWL

OWL es un estándar oficial del para crear ontologías en la web con unsemántica precisa y formal

W3C

http://www.w3.org/standards/techs/owl

Page 49: Life Sciences Linked Data

OWL

OWL se basa en Lógica Descriptiva (DL)

Representación computacional de un dominio de conocimiento:

Razonamiento automático: inferir conocimiento "nuevo" (*), consultas,consistencia, clasificar entidades contra la ontología, ...Integrar conocimiento disperso

Page 50: Life Sciences Linked Data

Sintaxis OWL

Para ordenadores: RDF/XML, OWL/XML, ...

Para humanos: Manchester OWL Syntax, functional, ...

Page 51: Life Sciences Linked Data

Semántica OWL

Una ontología OWL esta compuesta de:

Entidades: las entidades del dominio de conocimiento, identificadas con URIs,introducidas por el desarrollador ("proteina", "participa_en", ...)Axiomas: relacionan las entidades mediante el vocabulario lógico que ofreceOWL

Una ontología puede importar otra (owl:import) y hacer referencia a sus entidadesmediante axiomas

Page 52: Life Sciences Linked Data

Entidades OWL

IndividuosClasesPropiedades

ObjetoAnotaciónDatos

Page 54: Life Sciences Linked Data

Propiedades

Manchester tutorial

Page 56: Life Sciences Linked Data
Page 57: Life Sciences Linked Data

Semántica OWL

Una ontología OWL formada por individuos y clases es una "Base deConocimiento" (KB) formada por:

TBox (Terminological Box): clases (~ "esquema")Abox (Assertional Box): individuos (~ "datos")

Page 58: Life Sciences Linked Data

Clases

Page 59: Life Sciences Linked Data
Page 60: Life Sciences Linked Data

Clase subclase

Page 61: Life Sciences Linked Data
Page 62: Life Sciences Linked Data
Page 63: Life Sciences Linked Data

Clases equivalentes

Page 64: Life Sciences Linked Data
Page 65: Life Sciences Linked Data

Jerarquía de clases (Taxonomía)

Page 66: Life Sciences Linked Data
Page 67: Life Sciences Linked Data

Condiciones necesarias

Page 68: Life Sciences Linked Data

Condiciones necesarias y suficientes

Page 69: Life Sciences Linked Data

Restricción existencial (some)

Manchester tutorial

Page 70: Life Sciences Linked Data

Restricción universal (only)

Manchester tutorial

Page 71: Life Sciences Linked Data

Restricción a un individuo (value)

Manchester tutorial

Page 72: Life Sciences Linked Data

Restricciones cardinales

(+ QCR!) Manchester tutorial

Page 73: Life Sciences Linked Data

Más axiomas para clases

disjointFrom

booleanos: not, or, and

Manchester tutorial

Page 74: Life Sciences Linked Data

Expresiones complejas

Page 75: Life Sciences Linked Data

Propiedades OWL

Page 77: Life Sciences Linked Data

Jerarquía propiedades

Jerarquía propiedadsubpropiedad (~taxonomía pero con propiedades), ej:

interacciona conmata a

estrangula a

Page 78: Life Sciences Linked Data

Características propiedades objeto

Manchester tutorial

Page 79: Life Sciences Linked Data
Page 80: Life Sciences Linked Data

Características propiedades objeto

Manchester tutorial

Page 81: Life Sciences Linked Data

Características propiedades objeto

Manchester tutorial

Page 82: Life Sciences Linked Data

Características propiedades datos

Solo funcional

Dominio clases, rango datatypes

Page 83: Life Sciences Linked Data

Propiedades anotación

Anotar con lenguaje natural entidades (propiedades, clases, individuos), axiomas,ontologías

Fuera de la semántica

rdfs:label, rdfs:comment, dublin core, a medida

Page 84: Life Sciences Linked Data

Individuos

Miembro de una o más clases (Types)

Igual (SameAs) o diferente (DifferentFrom) a otro individuo

Relaciones binarias con otros individuos o datos (triples), positivas o negativas

Page 85: Life Sciences Linked Data

Razonamiento automático

Un razonador infiere los "nuevos" axiomas que implican los axiomas que hemosintroducido en la ontología

El razonador infiere todos los axiomas; es útil para tratar con conocimientocomplejo

Open World Assumption (OWA)

(Falta de) Unique Name Assumption (¡owl:sameAs!)

Page 86: Life Sciences Linked Data

Tareas más comunes razonamiento automático

Mantener taxonomía

Consistencia

Clasificar entidades y consultas

Page 87: Life Sciences Linked Data

Mantener una taxonomía

Page 88: Life Sciences Linked Data
Page 89: Life Sciences Linked Data

Consistencia

Page 90: Life Sciences Linked Data
Page 91: Life Sciences Linked Data

Clasificar entidades, consultas

Clasificar entidades: dada una entidad nueva, como se relaciona con las demasentidades (types, equivalentTo, subClassOf, triples)

Una consulta es una clase anónima que clasificamos contra la ontología como sifuese una entidad

Page 92: Life Sciences Linked Data

Ejercicios

Ejercicios:

Soluciones:

,

owl_assignment.pdf

cars.owlnormalisation.owl normalisation.pnganswers_3_4.pdf

Page 93: Life Sciences Linked Data
Page 94: Life Sciences Linked Data

SPARQL

Page 95: Life Sciences Linked Data
Page 96: Life Sciences Linked Data

SPARQL

Lenguaje para hacer consultas sobre grafos RDF (~"El SQL para RDF")

http://www.w3.org/standards/techs/sparql

Page 97: Life Sciences Linked Data

SPARQL

Page 98: Life Sciences Linked Data

SPARQL

Page 100: Life Sciences Linked Data

SPARQL

Ejercicio práctico:

Ejercicio práctico:

http://linkedlifedata.com/sparql

BioGateway

Page 101: Life Sciences Linked Data

SPARQL

Ejercicio práctico:

search for the human genetic diseases related to the gene Brca1 of the Mus musculusspecies stored in bio2rdf.org datasets

http://miuras.inf.um.es/sparql

Page 102: Life Sciences Linked Data

SPARQL

PREFIX ogolod: <http://miuras.inf.um.es/ogolod/ontology/>SELECT DISTINCT ?bio2rdf_omim ?titleWHERE ?gene owl:sameAs <http://bio2rdf.org/page/geneid:12189> .?cluster ogolod:hasOrtholog ?gene .?cluster ogolod:hasOrtholog ?ortholog .?disease ogolod:causedBy ?ortholog .?disease owl:sameAs ?bio2rdf_omim .?disease ogolod:Name ?title .

Page 103: Life Sciences Linked Data

SPARQL

Ejercicio práctico:

orthologs related to genes involved in lung cancer and belonging to RattusNorvegicus

http://miuras.inf.um.es/sparql

Page 104: Life Sciences Linked Data

SPARQL

PREFIX ogolod: <http://miuras.inf.um.es/ogolod/ontology/>PREFIX ogolodr: <http://miuras.inf.um.es/ogolod/resource/>SELECT DISTINCT ?gene2WHERE ?ortholog ogolod:fromSpecies<http://miuras.inf.um.es/ogolod/resource/NCBITaxon_10116/NCBITaxon_10116> .?ortholog owl:sameAs ?gene2 .?cluster ogolod:hasOrtholog ?gene .?cluster ogolod:hasOrtholog ?ortholog .?disease ogolod:causedBy ?gene .?disease owl:sameAs <http://bio2rdf.org/page/omim:211980> .

Page 105: Life Sciences Linked Data
Page 106: Life Sciences Linked Data

Cómo funciona LD

Page 107: Life Sciences Linked Data
Page 108: Life Sciences Linked Data

Grafos y triple stores

Un "triple store" contiene diferentes grafos

Page 109: Life Sciences Linked Data

Consultas

Solo recibiremos los triples de ese triple store (¡Pero nosotros o nuestro agenteautomático podemos seguir los enlaces! "Follow your nose")

Alternativa: federated queries ()

http://www.w3.org/TR/sparql11federatedquery/

Page 110: Life Sciences Linked Data

Negociacion contenido

Page 111: Life Sciences Linked Data

Negociacion contenido

Page 112: Life Sciences Linked Data

Negociacion contenido

Page 113: Life Sciences Linked Data

Diseño URIs

HTTP URIs dereferenciables: cuando se busca una URI, deberia devolver unadescripción del objeto que identifica esa URI

Descripción del objeto (documento RDF) ≠ objeto

303 URIs vs Hash URIs

Page 114: Life Sciences Linked Data

Diseño URIs

Base URI: http://geo.linkeddata.es/TBox URIs:

http://geo.linkeddata.es/ontology/concept|propertyhttp://geo.linkeddata.es/ontology/Provincia

ABox URIs:http://geo.linkeddata.es/resource/r. type/r. namehttp://geo.linkeddata.es/resource/Provincia/Madrid

http://www.slideshare.net/boricles/

Page 115: Life Sciences Linked Data

Inferencia en LD

Para producir el dataset: materializar triples y asegurar consistencia

En consultas

Page 116: Life Sciences Linked Data
Page 117: Life Sciences Linked Data

Consumir LD

Page 118: Life Sciences Linked Data
Page 120: Life Sciences Linked Data

Buscadores LD

( )

...

Sig.ma CYCBSWSE

Page 121: Life Sciences Linked Data

Aplicaciones (Mashups)

...

RevyuTalis aspireNYT

Page 122: Life Sciences Linked Data
Page 123: Life Sciences Linked Data

Publicar datos en LD

Page 124: Life Sciences Linked Data
Page 125: Life Sciences Linked Data

¿Por qué publicar datos en LD?

Enlaces al exterior:Publicar solo nuestros datos, referancias al resto, no hay que replicar datosexternos:Los datos externos se actualizan independientemente, y nuestro dataset va "aremolque" sin esfuerzo

Page 126: Life Sciences Linked Data

¿Por qué publicar datos en LD?

Enlaces a nuestro dataset:Es facil enlazar a nuestro dataset, ya que usamos HTTP URIsPor lo tanto, aumenta la capacidad de nuestro dataset de ser descubiertomediante enlaces

Page 127: Life Sciences Linked Data

¿Por qué publicar datos en LD?

Semántica: el significado de nuestro datos es explícito y claro, debido a RDF(instancias) + OWL ("esquema"): es fácil crear aplicaciones, incluyendorazonamiento automático (ej. agentes)

Page 128: Life Sciences Linked Data

Publicar datos en LD

Page 129: Life Sciences Linked Data
Page 130: Life Sciences Linked Data

http://linkeddatabook.com/editions/1.0/#htoc61

Page 131: Life Sciences Linked Data

Publicar datos en LD

Crear el datasetOntología OWL: reusar lo más posible de otras ontologías parainteroperabilidadInstancias RDF

Añadir enlaces a otros datasetsManualmente o con herramientas como SILKA nivel de instancias (owl:sameAs, predicados, ...) y a nivel de vocabulario(owl:equivalentClass, ...)

Page 132: Life Sciences Linked Data

Publicar datos en LD

Almacenar el dataset en triple storePublicar el dataset mediante servidor webRegistrar el dataset en Generar archivo voiD (Vocabulary of Interlinked Datasets):

Generar archivo (con ) y enviarlo a Semantic Webindex ( ) y Google

Data Hub

http://www.w3.org/TR/void/sitemap.xml sitemap4RDF

http://sindice.com/

Page 133: Life Sciences Linked Data

Publicar datos en LD

Ejercicio práctico: recrear todo el proceso de publicar un dataset Linked Data

Crear el dataset y "publicarlo" en una infraestructura ya lista (Life Sciences LinkedData)

Page 134: Life Sciences Linked Data

Life Sciences Linked Data

"Pack" ya listo y configurado para publicar Linked Data en localhost (Solo paraGNU/Linux)

http://github.com/mikeleganaaranguren/LSLD

Page 135: Life Sciences Linked Data

Life Sciences Linked Data

: triple store

: servidor web

: negociacioncontenido etc.

Fuseki

Jetty

Pubby

Page 136: Life Sciences Linked Data

Life Sciences Linked Data

Probar con el dataset por defecto

Instrucciones: lifescienceslinkeddata/LSLD/README, "Standard running"

Page 137: Life Sciences Linked Data

Life Sciences Linked Data

/jena-fuseki-0.2.6-SNAPSHOTchmod +x fuseki-server s-*./fuseki-server --update --mem /ds

./s-put http://localhost:3030/ds/data defaultData/books.ttl

Page 138: Life Sciences Linked Data

Life Sciences Linked Data

jetty-distribution-9.0.0.M3/webapps/ROOT/WEB-INF/web.xml

/jetty-distribution-9.0.0.M3java -jar start.jar jetty.port=8080http://localhost:8080/book1

Page 139: Life Sciences Linked Data

Life Sciences Linked Data

Publicar el dataset de ejemplo con enlaces a otros datasets LOD

Instrucciones: lifescienceslinkeddata/LSLD/README, "Using a differentdataset"

Page 140: Life Sciences Linked Data

Life Sciences Linked Data

1. /jena-fuseki-0.2.6-SNAPSHOT2. mkdir lslddb3. ./fuseki-server --update --loc=./lslddb /dataset

4. ./s-put http://localhost:3030/dataset/data lsldData/LSLD_example.owl

Page 141: Life Sciences Linked Data

Life Sciences Linked Data

jetty-distribution-9.0.0.M3/webapps/ROOT/WEB-INF/web.xml

/jetty-distribution-9.0.0.M3java -jar start.jar jetty.port=8080http://localhost:8080/Protein_A

Page 142: Life Sciences Linked Data

Life Sciences Linked Data

Crear vuestro propio dataset con Protégé 4 ( ) (DemoProtégé?)

Con enlaces a otros datasets

Publicar el dataset en localhost (Usar "Using a different dataset" como guía)

http://protege.stanford.edu/

Page 143: Life Sciences Linked Data

Life Sciences Linked Data

Silk ...

Inferencia con P4: materializar triples ...

Page 144: Life Sciences Linked Data

Programación para LD

Generar RDF con Jena

Model model = ModelFactory.createDefaultModel();

Resource prot_a = model.createResource("http://cbgp.upm.es/lsld.rdf#prot_a");

Resource cell_cycle = model.createResource("http://cbgp.upm.es/lsld.rdf#cell_cycle");

Property participates_in = model.createProperty("http://cbgp.upm.es/lsld.rdf#participates_in");

model.add(prot_a, participates_in,cell_cycle);

model.write(System.out);

Page 145: Life Sciences Linked Data

Aplicaciones Linked Data

Consulta SPARQL endpoint con JENA (Juan F. Sequeda)

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

String service = "..."; // address of the SPARQL endpoint String query = "SELECT ..."; // your SPARQL query QueryExecution e = QueryExecutionFactory.sparqlService(service, query)

ResultSet results = e.execSelect(); while ( results.hasNext() ) QuerySolution s = results.nextSolution(); // ...

e.close();

Page 146: Life Sciences Linked Data

Sumario herramientas para LD

Triple strores y APIs: , , , , ...Editores ontologías: , , ...Publicar LD: , , ...Validadores: , , , ......

Jena Virtuoso Sesame OWL APIProtégé TopBraid composer

Silk PubbyVapour RDF:Alerts Sindice inspector

Page 147: Life Sciences Linked Data
Page 148: Life Sciences Linked Data

Más información, agradecimientos, etc.

Page 149: Life Sciences Linked Data
Page 150: Life Sciences Linked Data

Más información

(Christian Bizer, Tom Heath, Tim BernersLee)

(Christian Bizer, TomHeath)

Semantic Web Health Care and Life Sciences Interest Group ( ):

Linked Data, the story so far

Linked Data: Evolving the Web into a Global Data Space

W3C HCLS IGHealth Care and Life Science (HCLS) Linked Data Guide

Page 151: Life Sciences Linked Data

Más información

José Antonio MiñarroGiménez, Mikel Egaña Aranguren, Boris VillazónTerrazasand Jesualdo Tomás FernándezBreis. Publishing Orthology and DiseasesInformation in the Linked Open Data cloud. Current Bioinformatics 2012, 7 (3),255266. [ ] [ ]Bentham science pdf

Linked Data Patterns

Page 152: Life Sciences Linked Data

Inspiración

: Raúl García Castro, University of Texas: Juan F.

Sequeda: Boris Villazón Terrazas

: Mark Wilkinson: Evolving the Web into a Global Data Space (Christian Bizer, Tom

Heath)

Ontology engineering Group (UPM)Bioinformatics and Semantic Web Group

IsocoBiological Informatics Group (CBGP, UPM)Linked Data

Page 153: Life Sciences Linked Data

Estructura de la presentación

Reveal.js

Page 154: Life Sciences Linked Data