Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Life Sciences Linked Data

671 views

Published on

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

Published in: Education
  • Be the first to comment

Life Sciences Linked Data

  1. 1. Life Sciences Linked DataMáster Bioinformática UMMikel Egaña Arangurenhttp://mikeleganaaranguren.com  /  mikel.egana.aranguren@upm.esBiological Informatics Group ( http://wilkinsonlab.info ), CBGP, UPM, Madrid
  2. 2. Life Sciences Linked Datahttps://mikeleganaaranguren.wordpress.com/teaching/http://biordf.org:8080/UM_LSLD/Clases/UM_Bioinformatics_LD.html
  3. 3. ¿Qué es Linked Data?
  4. 4. Video divulgativo
  5. 5. ¿Qué es Linked Data (LD)?Un método para ofrecer datos directamente en la webUna propuesta del  W3C :  http://www.w3.org/standards/semanticweb/data
  6. 6. Un primer paso hacia la Web Semántica
  7. 7. Pila tecnologías Web Semántica
  8. 8. Un primer paso hacia la Web SemánticaLD utiliza la tecnología ya existente (URI, HTTP, ...) para ofrecer una primeraversión de la Web Semántica
  9. 9. Pila tecnologías Web Semántica y LDBNODE
  10. 10. Principios LD1.  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 entidadeshttp://www.w3.org/DesignIssues/LinkedData.html
  11. 11. Con LD publicamos datos de manera ...... semántica... enlazada
  12. 12. SemánticaRDF ofrece el triple, un modelo de datos explícito y homogéneo: una "frase"estándar que los ordenadores pueden "entender"
  13. 13. EnlacesEn el triple, cada entidad (sujeto, predicado, objeto) tiene una URI que lo identificaLos datos son enlazados a otros datos a través de la web, con enlaces explícitos
  14. 14. Red global de datos enlazados
  15. 15. Red global de datos enlazadosInternet de datos, en vez de documentos: "Base de Datos universal": Es más fácil construir aplicaciones que exploten los datos, incluyendo razonamiento automático Encontramos justo lo que buscamos: consultas directas (SPARQL) en vez de procesar texto
  16. 16. Red global de datos enlazadosNavegamos 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
  17. 17. Linked Open Data (LOD) cloud
  18. 18. http://richard.cyganiak.de/2007/10/lod/
  19. 19. Datasets de interés Bio2RDF OGOLOD  (¡UM!) LinkedLifeData HyQue * ArrayExpress and Gene expression atlas * UniProt LOD cloud ...
  20. 20. RDF
  21. 21. RDF (Resource Description Framework)RDF es un estándar oficial del  W3C  para representar información en la webwww.w3.org/standards/techs/rdf
  22. 22. Triple RDF
  23. 23. Grafo RDFUn grafo RDF es un conjunto de triples
  24. 24. Grafo RDFAlgunos objetos pueden ser valores literales (Cadenas de caracteres)Sujetos y predicados sólo pueden ser recursosLos valores literales pueden tener tipo ( XML Schema datatypes )
  25. 25. Elementos RDFr f t p : agrupar recursos en clases d:ye
  26. 26. Elementos RDF
  27. 27. URIs en RDFCada recurso (Sujeto, predicado, objeto) tiene una URIURI: Uniform Resource Identifier ( RFC3986 )Reference URI: URI + fragment (http://foo/bar#frag)(En Linked Data, las URIs se pueden resolver, es decir de­referenciar)
  28. 28. Espacios de nombres XMLRDF usa espacios de nombres XML mediante "qualified names"Vocabulario: URIs bajo un espacio de nombre rdfs="http://www.w3.org/2000/01/rdf­schema#" obo="http://purl.org/obo/owl/GO#" owl="http://www.w3.org/2002/07/owl#" ...
  29. 29. Serializar RDFRDF es un modelo para representar datosEse modelo abstracto se puede representar con diferentes sintaxis: "Serializar"(escribir) en un archivoUna de esas sintaxis es RDF/XMLNo confundir el modelo con la sintaxis: ¡RDF es mucho más que un archivo XML!
  30. 30. Serializar RDF RDF/XML ( http://www.w3.org/TR/rdf­syntax­grammar/ ) RDFa ( http://www.w3.org/TR/rdfa­core/ ) Turtle ( http://www.w3.org/TR/turtle/ ) N3 ( http://www.w3.org/DesignIssues/Notation3.html ) ...
  31. 31. Serializar RDF: RDF/XML
  32. 32. Vocabulario (ontología) / triples
  33. 33. Más informaciónRDF primerRDF validator
  34. 34. RDFS (RDF Schema)
  35. 35. RDFSRDFS es un estándar oficial del  W3C  para describir clases de recursos RDF y suspropiedades: definir vocabularios para RDFhttp://www.w3.org/TR/rdf­schema/
  36. 36. RDFS
  37. 37. OWL (Web Ontology Language)
  38. 38. OWLOWL es un estándar oficial del  W3C  para crear ontologías en la web con unsemántica precisa y formalhttp://www.w3.org/standards/techs/owl
  39. 39. OWLOWL 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
  40. 40. Sintaxis OWLPara ordenadores: RDF/XML, OWL/XML, ...Para humanos: Manchester OWL Syntax, functional, ...
  41. 41. Semántica OWLUna 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 ofrece OWLUna ontología puede importar otra (owl:import) y hacer referencia a sus entidadesmediante axiomas
  42. 42. Entidades OWL Individuos Clases Propiedades Objeto Anotación Datos
  43. 43. IndividuosManchester tutorial
  44. 44. PropiedadesManchester tutorial
  45. 45. ClasesManchester tutorial
  46. 46. Semántica OWLUna 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")
  47. 47. Clases
  48. 48. Clase subclase
  49. 49. Clases equivalentes
  50. 50. Jerarquía de clases (Taxonomía)
  51. 51. Condiciones necesarias
  52. 52. Condiciones necesarias y suficientes
  53. 53. Restricción existencial (some)Manchester tutorial
  54. 54. Restricción universal (only)Manchester tutorial
  55. 55. Restricción a un individuo (value)Manchester tutorial
  56. 56. Restricciones cardinales(+ QCR!) Manchester tutorial
  57. 57. Más axiomas para clasesdisjointFrombooleanos: not, or, andManchester tutorial
  58. 58. Expresiones complejas
  59. 59. Propiedades OWL
  60. 60. Manchester tutorial
  61. 61. Jerarquía propiedadesJerarquía propiedad­subpropiedad (~taxonomía pero con propiedades), ej: interacciona con mata a estrangula a
  62. 62. Características propiedades objetoManchester tutorial
  63. 63. Características propiedades objetoManchester tutorial
  64. 64. Características propiedades objetoManchester tutorial
  65. 65. Características propiedades datosSolo funcionalDominio clases, rango datatypes
  66. 66. Propiedades anotaciónAnotar con lenguaje natural entidades (propiedades, clases, individuos), axiomas,ontologíasFuera de la semánticardfs:label, rdfs:comment, dublin core, a medida
  67. 67. IndividuosMiembro de una o más clases (Types)Igual (SameAs) o diferente (DifferentFrom) a otro individuoRelaciones binarias con otros individuos o datos (triples), positivas o negativas
  68. 68. Razonamiento automáticoUn razonador infiere los "nuevos" axiomas que implican los axiomas que hemosintroducido en la ontologíaEl razonador infiere todos los axiomas; es útil para tratar con conocimientocomplejoOpen World Assumption (OWA)(Falta de) Unique Name Assumption (¡owl:sameAs!)
  69. 69. Tareas más comunes razonamiento automáticoMantener taxonomíaConsistenciaClasificar entidades y consultas
  70. 70. Mantener una taxonomía
  71. 71. Consistencia
  72. 72. Clasificar entidades, consultasClasificar 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
  73. 73. EjerciciosEjercicios:  owl_assignment.pdfSoluciones: cars.owl normalisation.owl ,  normalisation.png answers_3_4.pdf
  74. 74. SPARQL
  75. 75. SPARQLLenguaje para hacer consultas sobre grafos RDF (~"El SQL para RDF")http://www.w3.org/standards/techs/sparql
  76. 76. SPARQL
  77. 77. SPARQL
  78. 78. SPARQLTutorial:  SPARQL by example  ( Cambridge Semantics )
  79. 79. SPARQLEjercicio práctico:  http://linkedlifedata.com/sparqlEjercicio práctico:  BioGateway
  80. 80. SPARQLEjercicio práctico:  http://miuras.inf.um.es/sparqlsearch for the human genetic diseases related to the gene Brca1 of the Mus musculusspecies stored in bio2rdf.org datasets
  81. 81. SPARQLPEI ooo:<tp/mua.n.me/gldotlg/ RFX gld ht:/irsifu.sooo/nooy>SLC DSIC ?i2d_mm?il EET ITNT borfoi tteWEE{ HR?eeolsmA <tp/borfogpg/eed119 . gn w:aes ht:/i2d.r/aegni:28>?lse ooo:aOtoo ?ee. cutr gldhsrhlg gn?lse ooo:aOtoo ?rhlg. cutr gldhsrhlg otoo?ies ooo:asdy?rhlg. dsae gldcueB otoo?ies olsmA ?i2d_mm. dsae w:aes borfoi?ies ooo:ae?il . dsae gldNm tte}
  82. 82. SPARQLEjercicio práctico:  http://miuras.inf.um.es/sparqlorthologs related to genes involved in lung cancer and belonging to RattusNorvegicus
  83. 83. SPARQLPEI ooo:<tp/mua.n.me/gldotlg/ RFX gld ht:/irsifu.sooo/nooy>PEI ooor <tp/mua.n.me/gldrsuc/ RFX gld: ht:/irsifu.sooo/eore>SLC DSIC ?ee EET ITNT gn2WEE{ HR?rhlgooo:rmpce otoo gldfoSeis<tp/mua.n.me/gldrsuc/CIao_01/CIao_01>. ht:/irsifu.sooo/eoreNBTxn116NBTxn116?rhlgolsmA ?ee . otoo w:aes gn2?lse ooo:aOtoo ?ee. cutr gldhsrhlg gn?lse ooo:aOtoo ?rhlg. cutr gldhsrhlg otoo?ies ooo:asdy?ee. dsae gldcueB gn?ies olsmA <tp/borfogpg/mm218>. dsae w:aes ht:/i2d.r/aeoi:190}
  84. 84. Cómo funciona LD
  85. 85. Grafos y triple storesUn "triple store" contiene diferentes grafos
  86. 86. ConsultasSolo 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/sparql11­federated­query/)
  87. 87. Negociacion contenido
  88. 88. Negociacion contenido
  89. 89. Negociacion contenido
  90. 90. Diseño URIsHTTP URIs dereferenciables: cuando se busca una URI, deberia devolver unadescripción del objeto que identifica esa URIDescripción del objeto (documento RDF) ≠ objeto303 URIs vs Hash URIs
  91. 91. Diseño URIs Base URI: http://geo.linkeddata.es/ TBox URIs: http://geo.linkeddata.es/ontology/{concept|property} http://geo.linkeddata.es/ontology/Provincia ABox URIs: http://geo.linkeddata.es/resource/{r. type}/{r. name} http://geo.linkeddata.es/resource/Provincia/Madridhttp://www.slideshare.net/boricles/
  92. 92. Inferencia en LDPara producir el dataset: materializar triples y asegurar consistenciaEn consultas
  93. 93. Consumir LD
  94. 94. Navegadores LD Disco Tabulator OpenLink ...
  95. 95. Buscadores LD Sig.ma  ( CYCB ) SWSE ...
  96. 96. Aplicaciones (Mash­ups) Revyu Talis aspire NYT ...
  97. 97. Publicar datos en LD
  98. 98. ¿Por qué publicar datos en LD? Enlaces al exterior: Publicar solo nuestros datos, referancias al resto, no hay que replicar datos externos: Los datos externos se actualizan independientemente, y nuestro dataset va "a remolque" sin esfuerzo
  99. 99. ¿Por qué publicar datos en LD? Enlaces a nuestro dataset: Es facil enlazar a nuestro dataset, ya que usamos HTTP URIs Por lo tanto, aumenta la capacidad de nuestro dataset de ser descubierto mediante enlaces
  100. 100. ¿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)
  101. 101. Publicar datos en LD
  102. 102. http://linkeddatabook.com/editions/1.0/#htoc61
  103. 103. Publicar datos en LD Crear el dataset Ontología OWL: reusar lo más posible de otras ontologías para interoperabilidad Instancias RDF Añadir enlaces a otros datasets Manualmente o con herramientas como SILK A nivel de instancias (owl:sameAs, predicados, ...) y a nivel de vocabulario (owl:equivalentClass, ...)
  104. 104. Publicar datos en LD Almacenar el dataset en triple store Publicar el dataset mediante servidor web Registrar el dataset en  Data Hub Generar archivo voiD (Vocabulary of Interlinked Datasets):  http://www.w3.org/TR/void/ Generar archivo  sitemap.xml  (con  sitemap4RDF ) y enviarlo a Semantic Web index ( http://sindice.com/ ) y Google
  105. 105. Publicar datos en LDEjercicio práctico: recrear todo el proceso de publicar un dataset Linked DataCrear el dataset y "publicarlo" en una infraestructura ya lista (Life Sciences LinkedData)
  106. 106. Life Sciences Linked Data"Pack" ya listo y configurado para publicar Linked Data en localhost (Solo paraGNU/Linux)http://github.com/mikel­egana­aranguren/LSLD
  107. 107. Life Sciences Linked DataFuseki : triple storeJetty : servidor webPubby : negociacioncontenido etc.
  108. 108. Life Sciences Linked DataProbar con el dataset por defectoInstrucciones: life­sciences­linked­data/LSLD/README, "Standard running"
  109. 109. Life Sciences Linked Data /eafsk-..-NPHT jn-uei026SASO cmd+ fsk-evrs* ho x ueisre - .fsk-evr-udt -mm/s /ueisre -pae -e d .sptht:/oahs:00d/aadfut /-u tp/lclot33/sdt eal Dt/ok.t aabostl
  110. 110. Life Sciences Linked Data jtydsrbto-...3wbpsRO/E- et-itiuin900M/eap/OTWB IFwbxl N/e.m /et-itiuin900M jtydsrbto-...3 jv -a satjrjtypr=00 aa jr tr.a et.ot88 http://localhost:8080/book1
  111. 111. Life Sciences Linked DataPublicar el dataset de ejemplo con enlaces a otros datasets LODInstrucciones: life­sciences­linked­data/LSLD/README, "Using a differentdataset"
  112. 112. Life Sciences Linked Data1.  / e a f s k - . . - N P H T jn-uei026SASO2.  m d r l l d ki sdb3.  . f s k - e v r - u d t - l c . l l d / a a e /ueisre -pae -o=/sdb dtst4.  . s p t h t : / o a h s : 0 0 d t s t d t l l /-u tp/lclot33/aae/aa sd Dt/SDeapeol aaLL_xml.w
  113. 113. Life Sciences Linked Data jtydsrbto-...3wbpsRO/E- et-itiuin900M/eap/OTWB IFwbxl N/e.m /et-itiuin900M jtydsrbto-...3 jv -a satjrjtypr=00 aa jr tr.a et.ot88 http://localhost:8080/Protein_A
  114. 114. Life Sciences Linked DataCrear vuestro propio dataset con Protégé 4 ( http://protege.stanford.edu/ ) (DemoProtégé?)Con enlaces a otros datasetsPublicar el dataset en localhost (Usar "Using a different dataset" como guía)
  115. 115. Life Sciences Linked DataSilk ...Inferencia con P4: materializar triples ...
  116. 116. Programación para LDGenerar RDF con Jena Mdlmdl=Mdlatr.raeealMdl) oe oe oeFcoycetDfutoe(; Rsuc po_ =mdlcetRsuc(ht:/bpume/sdrfpo_"; eore rta oe.raeeore"tp/cg.p.sll.d#rta) Rsuc cl_yl =mdlcetRsuc(ht:/bpume/sdrfcl_yl"; eore elcce oe.raeeore"tp/cg.p.sll.d#elcce) Poet priiae_n=mdlcetPoet(ht:/bpume/sdrfpriiae_ rpry atcptsi oe.raerpry"tp/cg.p.sll.d#atcptsi n) "; mdladpo_,priiae_ncl_yl) oe.d(rta atcptsi,elcce; mdlwieSse.u) oe.rt(ytmot;
  117. 117. Aplicaciones Linked DataConsulta SPARQL endpoint con JENA (Juan F. Sequeda) ipr cmh.p.eaqey* mot o.phljn.ur.; Srn srie="." / adeso teSAQ edon tig evc ..; / drs f h PRL npit Srn qey="EET..;/ yu SAQ qey tig ur SLC ." / or PRL ur Qeyxcto e=QeyxctoFcoysaqSriesrie qey urEeuin urEeuinatr.prlevc(evc, ur) RslStrsls=eeeSlc(; eute eut .xceet) wie(rslshset)){ hl eut.aNx( Qeyouins=rslsnxSlto(; urSlto eut.etouin) / .. / . } ecoe) .ls(;
  118. 118. Sumario herramientas para LD Triple strores y APIs:  Jena ,  Virtuoso ,  Sesame ,  OWL API , ... Editores ontologías:  Protégé ,  TopBraid composer , ... Publicar LD:  Silk ,  Pubby , ... Validadores:  Vapour ,  RDF:Alerts ,  Sindice inspector , ... ...
  119. 119. Más información, agradecimientos, etc.
  120. 120. Más informaciónLinked Data, the story so far  (Christian Bizer, Tom Heath, Tim Berners­Lee)Linked Data: Evolving the Web into a Global Data Space  (Christian Bizer, TomHeath)Semantic Web Health Care and Life Sciences Interest Group ( W3C HCLS IG ):Health Care and Life Science (HCLS) Linked Data Guide
  121. 121. Más informaciónJosé Antonio Miñarro­Giménez, Mikel Egaña Aranguren, Boris Villazón­Terrazasand Jesualdo Tomás Fernández­Breis. Publishing Orthology and DiseasesInformation in the Linked Open Data cloud. Current Bioinformatics 2012, 7 (3),255­266. [ Bentham science ] [ pdf ]Linked Data Patterns
  122. 122. Inspiración Ontology engineering Group (UPM) : Raúl García Castro Bioinformatics and Semantic Web Group , University of Texas: Juan F. Sequeda Isoco : Boris Villazón Terrazas Biological Informatics Group (CBGP, UPM) : Mark Wilkinson Linked Data : Evolving the Web into a Global Data Space (Christian Bizer, Tom Heath)
  123. 123. Estructura de la presentaciónReveal.js

×