life sciences linked data

Post on 30-Jun-2015

341 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

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

Life Sciences Linked Data

Máster Bioinformática UM

Mikel Egaña Aranguren

/

Biological Informatics Group ( ), CBGP, UPM, Madridhttp://mikeleganaaranguren.com mikel.egana.aranguren@upm.es

http://wilkinsonlab.info

Life Sciences Linked Data

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

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

¿Qué es Linked Data?

Video divulgativo

¿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

Un primer paso hacia la Web Semántica

Pila tecnologías Web Semántica

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

Pila tecnologías Web Semántica y LD

BNODE

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

Con LD publicamos datos de manera ...

... semántica

... enlazada

Semántica

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

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

Red global de datos enlazados

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

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

Linked Open Data (LOD) cloud

Datasets de interés

(¡UM!)

**

LOD cloud ...

Bio2RDFOGOLODLinkedLifeDataHyQueArrayExpress and Gene expression atlasUniProt

RDF

RDF (Resource Description Framework)

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

www.w3.org/standards/techs/rdf

Triple RDF

Grafo RDF

Un grafo RDF es un conjunto de triples

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

Elementos RDF

rdf:type: agrupar recursos en clases

Elementos RDF

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

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#"...

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!

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

Serializar RDF: RDF/XML

Vocabulario (ontología) / triples

Más información

RDF primer

RDF validator

RDFS (RDF Schema)

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/

RDFS

OWL (Web Ontology Language)

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

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

Sintaxis OWL

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

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

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

Entidades OWL

IndividuosClasesPropiedades

ObjetoAnotaciónDatos

Propiedades

Manchester tutorial

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")

Clases

Clase subclase

Clases equivalentes

Jerarquía de clases (Taxonomía)

Condiciones necesarias

Condiciones necesarias y suficientes

Restricción existencial (some)

Manchester tutorial

Restricción universal (only)

Manchester tutorial

Restricción a un individuo (value)

Manchester tutorial

Restricciones cardinales

(+ QCR!) Manchester tutorial

Más axiomas para clases

disjointFrom

booleanos: not, or, and

Manchester tutorial

Expresiones complejas

Propiedades OWL

Jerarquía propiedades

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

interacciona conmata a

estrangula a

Características propiedades objeto

Manchester tutorial

Características propiedades objeto

Manchester tutorial

Características propiedades objeto

Manchester tutorial

Características propiedades datos

Solo funcional

Dominio clases, rango datatypes

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

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

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!)

Tareas más comunes razonamiento automático

Mantener taxonomía

Consistencia

Clasificar entidades y consultas

Mantener una taxonomía

Consistencia

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

Ejercicios

Ejercicios:

Soluciones:

,

owl_assignment.pdf

cars.owlnormalisation.owl normalisation.pnganswers_3_4.pdf

SPARQL

SPARQL

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

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

SPARQL

SPARQL

SPARQL

Ejercicio práctico:

Ejercicio práctico:

http://linkedlifedata.com/sparql

BioGateway

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

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 .

SPARQL

Ejercicio práctico:

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

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

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> .

Cómo funciona LD

Grafos y triple stores

Un "triple store" contiene diferentes grafos

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/

Negociacion contenido

Negociacion contenido

Negociacion contenido

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

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/

Inferencia en LD

Para producir el dataset: materializar triples y asegurar consistencia

En consultas

Consumir LD

Buscadores LD

( )

...

Sig.ma CYCBSWSE

Aplicaciones (Mashups)

...

RevyuTalis aspireNYT

Publicar datos en LD

¿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

¿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

¿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)

Publicar datos en LD

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

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, ...)

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/

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)

Life Sciences Linked Data

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

http://github.com/mikeleganaaranguren/LSLD

Life Sciences Linked Data

: triple store

: servidor web

: negociacioncontenido etc.

Fuseki

Jetty

Pubby

Life Sciences Linked Data

Probar con el dataset por defecto

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

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

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

Life Sciences Linked Data

Publicar el dataset de ejemplo con enlaces a otros datasets LOD

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

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

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

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/

Life Sciences Linked Data

Silk ...

Inferencia con P4: materializar triples ...

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);

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();

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

Más información, agradecimientos, etc.

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

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

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

Estructura de la presentación

Reveal.js

top related