Your SlideShare is downloading. ×
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
 Semantic Web for Life Sciences: vision, aims, tools, platforms
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Semantic Web for Life Sciences: vision, aims, tools, platforms

910

Published on

Slides from the tutorial given at Nettab 2013 (http://nettab.org/2013)

Slides from the tutorial given at Nettab 2013 (http://nettab.org/2013)

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
910
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
33
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Semantic Web for Life Sciences Visions, Aims, Tools, Platforms Andrea Splendiani Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 2. Index Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 3. An Introduction to Semantic Web Technologies Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 4. What A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities Web + Semantics Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 5. Quick Intro to RDF • RDF: Resource Description Framework • A language to represent concepts and their relations • Simple statements: Subject Predicate Object • Conceptually a graph Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 6. Quick Intro to RDF • RDF: Resource Description Framework • A language to represent concepts and their relations • object predicate subject Simple statements: Subject Predicate Object • Conceptually a graph Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 7. Quick Intro to RDF • How does this work in practice ? • We identify each node and edge by a URI • (we only need to identify, not define things!) • object predicate subject URIs could be Webresolvable http://nettab.org/biology/Chromosome http://nettab.org/properties/contains http://nettab.org/biology/DNA Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 8. Quick Intro to RDF http://nettab.org/biology/Chromosome http://nettab.org/properties/contains http://nettab.org/biology/DNA Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 9. Quick Intro to RDF http://nettab.org/biology/Chromosome http://nettab.org/properties/contains http://nettab.org/biology/DNA Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 10. Quick Intro to RDF: RDF vs other modeling RDF: • • • Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 No data-types No cardinalities Importance of identification Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 11. Quick Intro to RDF: RDF vs other modeling The Semantic Web is easy (a bit like html) Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 12. Technology details • • • • • • • • • • URIs The technology stack Serializations Blank nodes Named graphs Semantics Computational representation of meaning RDFS OWL SKOS Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 13. Technology details: URIs http://nettab.org/biology/Chromosome • • URIs are global identifiers • Simple but implicit authority mechanism (namespace) Supported by a widely adopted infrastructure (the Web) Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 14. Technology details: URIs http://www.ncbi.nlm.nih.gov/pubmed/20605693 http://dbpedia.org/resource/Berlin http://biocyc.org/biopax/biopax#smallMolecule84998 http://www.reactome.org/biopax#H2O__ChEBI_15377_ http://bio2rdf.org/go:0032283 • • • Not a consistent “scheme” to define URIs Good practices: e.g.: no parameters Decision points: semantically opaque or not Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 15. Technology details: URIs • • • What is necessary: Unambiguous identification Persistence (versions) http://nettab.org/Venice Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 16. Technology details: URIs What should URIs resolve to ? Nothing http://wifo5-03.informatik.uni-mannheim.de/bizer/pub/LinkedDataTutorial/ Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 17. Technology details: the technology stack Not a coherent monolithic technology! Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 18. Technology details: serializations RDF can be represented in many syntaxes • • • • • • N-Triples English programmed cell death http://www.w3.org/2000/01/rdf-schema#label http://purl.org/go/owl#GO_0012501 Turtle XML(s) ... JSON Binary http://www.w3.org/2000/01/rdf-schema#subClassOf http://purl.org/go/owl#GO_0006915 110020 http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.example.com/hasdbaccession Integer http://www.example.com/ instance1 Use a tool like Rapper to convert among syntaxes http://librdf.org/raptor/ Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 19. Technology details: serializations N-Triples <http://purl.org/obo/owl/GO#GO_0006915> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://purl.org/obo/owl/GO#GO_0012501> . <http://purl.org/obo/owl/GO#GO_0012501> <http://www.w3.org/2000/01/rdf-schema#label> "programmed cell death"@en . <http://www.example.com/instance1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/obo/owl/GO#GO_0006915> . <http://www.example.com/instance1> <http://www.example.com/hasdbaccession> "110020"^^<http://www.w3.org/2001/XMLSchema#int> . English programmed cell death • • • http://www.w3.org/2000/01/rdf-schema#label Every subset (lines) is valid N-Triples Good for large files, streaming,... Very simple to produce via scripts http://purl.org/go/owl#GO_0012501 http://www.w3.org/2000/01/rdf-schema#subClassOf http://purl.org/go/owl#GO_0006915 110020 http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.example.com/hasdbaccession http://www.example.com/ instance1 Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com] Integer
  • 20. Technology details: serializations N-Triples <http://purl.org/obo/owl/GO#GO_0006915> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://purl.org/obo/owl/GO#GO_0012501> . <http://purl.org/obo/owl/GO#GO_0012501> <http://www.w3.org/2000/01/rdf-schema#label> "programmed cell death"@en . <http://www.example.com/instance1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/obo/owl/GO#GO_0006915> . <http://www.example.com/instance1> <http://www.example.com/hasdbaccession> "110020"^^<http://www.w3.org/2001/XMLSchema#int> . English programmed cell death • • • http://www.w3.org/2000/01/rdf-schema#label Every subset (lines) is valid N-Triples Good for large files, streaming,... Very simple to produce via scripts http://purl.org/go/owl#GO_0012501 http://www.w3.org/2000/01/rdf-schema#subClassOf http://purl.org/go/owl#GO_0006915 110020 http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.example.com/hasdbaccession http://www.example.com/ instance1 Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com] Integer
  • 21. Technology details: serializations N-Triples <http://purl.org/obo/owl/GO#GO_0006915> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://purl.org/obo/owl/GO#GO_0012501> . <http://purl.org/obo/owl/GO#GO_0012501> <http://www.w3.org/2000/01/rdf-schema#label> "programmed cell death"@en . <http://www.example.com/instance1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/obo/owl/GO#GO_0006915> . <http://www.example.com/instance1> <http://www.example.com/hasdbaccession> "110020"^^<http://www.w3.org/2001/XMLSchema#int> . English programmed cell death • • • http://www.w3.org/2000/01/rdf-schema#label Every subset (lines) is valid N-Triples Good for large files, streaming,... Very simple to produce via scripts http://purl.org/go/owl#GO_0012501 http://www.w3.org/2000/01/rdf-schema#subClassOf http://purl.org/go/owl#GO_0006915 110020 http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.example.com/hasdbaccession http://www.example.com/ instance1 Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com] Integer
  • 22. Technology details: serializations Turtle @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix GO: <http://purl.org/obo/owl/GO#> . @prefix : <http://www.example.com/> . http://prefix.cc/ go:GO_0006915 rdfs:subClassOf go:GO_0012501 . go:GO_0012501> rdfs:label "programmed cell death"@en . :instance1 :hasdbaccession "110020"^^<http://www.w3.org/2001/XMLSchema#int> ; a go:GO_0006915 . English programmed cell death http://www.w3.org/2000/01/rdf-schema#label http://purl.org/go/owl#GO_0012501 • • http://www.w3.org/2000/01/rdf-schema#subClassOf Easy to read http://purl.org/go/owl#GO_0006915 Easy to write by hand (keyboard) Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 110020 http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.example.com/hasdbaccession http://www.example.com/ instance1 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com] Integer
  • 23. Technology details: serializations RDFXML <?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:go="http://purl.org/obo/owl/GO#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns="http://www.example.com/"> <rdf:Description rdf:about="http://purl.org/obo/owl/GO#GO_0006915"> <rdfs:subClassOf rdf:resource="http://purl.org/obo/owl/GO#GO_0012501"/> </rdf:Description> <rdf:Description rdf:about="http://purl.org/obo/owl/GO#GO_0012501"> <rdfs:label xml:lang="en">programmed cell death</rdfs:label> </rdf:Description> <rdf:Description rdf:about="http://www.example.com/instance1"> <rdf:type rdf:resource="http://purl.org/obo/owl/GO#GO_0006915"/> </rdf:Description> <rdf:Description rdf:about="http://www.example.com/instance1"> <hasdbaccession rdf:datatype="http://www.w3.org/2001/XMLSchema#int">110020</hasdbaccession> </rdf:Description> </rdf:RDF> <go:GO_0006915 rdf:about="http://www.example.com/instance1"> <hasdbaccession rdf:datatype="http://www.w3.org/2001/XMLSchema#int">110020 </hasdbaccession> </go:GO_0006915> Good for ? Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 24. Technology details: blank nodes • Some entities may not have a global identifier • Could we always provide one ? <rdf:Description rdf:about="http:// dbpedia.org/resource/Venice"> <foaf:based_near> <geo:Point> <geo:lat>45.4375</geo:lat> <geo:long>12.335833</geo:long> </geo:Point> </foaf:based_near> </rdf:Description> <http://dbpedia.org/resource/Venice> foaf:based_near [ geo:lat "45.4375" ; geo:long "12.335833" ; a <http://example/Point> ]. <http://dbpedia.org/resource/Venice> foaf:based_near _:p1 . _:p1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example/Point> . _:p1 <http://www.w3.org/2003/01/geo/wgs84_pos#:lat> "45.4375" . _:p1 <http://www.w3.org/2003/01/geo/wgs84_pos#:long> "12.335833" . Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 25. Technology details: named graphs • An entire (sub)graph can be identified (“named”) by a URI • Graphs can be subject and object of predicates • Good to represent context (hence provenance...) <http://dbpedia.org/resource/Venice> foaf:based_near _:p1 nettabex:1. _:p1 rdf:type <http://example/Point> nettabex:1. _:p1 geo:lat "45.4375" nettabex:1. (pseudo _:p1 geo:long "12.335833" nettabex:1. Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice N-quads) Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 26. Technology details: semantics Facts Defining reality Computing definitions Ontology: “A formalization of a conceptualization” Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 27. Technology details: semantics Ontologies: The conceptualization extract from BFO http://www.ifomis.org/bfo extract from RO Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 28. Technology details: representation of meaning Computational representation of meaning: transitive property programmed cell death programmed cell death rdfs:label rdfs:label GO:GO_0012501 GO:GO_0012501 apoptosis apoptosis rdfs:subClassOf rdfs:subClassOf rdfs:label rdfs:label GO:GO_0006915 GO:GO_0006915 virus-infected cell apoptosis rdfs:subClassOf rdfs:label virus-infected cell apoptosis rdfs:subClassOf rdfs:label GO:GO_0008585 GO:GO_0008585 (?x rdfs:subClassOf ?y)(?y rdfs:subClassOf ?z) -> (?x rdfs:subClassOf ?z) Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 29. Technology details: representation of meaning Some possible computations • Inconsistency • Classification • Consistency • Subsumption Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 30. Technology details: representation of meaning • Emergent Semantics • First order logic • Inference rules • RDFS • OWL (-2, DL, RL, QL...) • SKOS Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 31. Technology details: RDFS programmed cell death rdfs:label RDF-S: • type • subClassOf • subPropertyOf • ... GO:GO_0012501 apoptosis rdfs:subClassOf rdfs:label GO:GO_0006915 virus-infected cell apoptosis rdfs:subClassOf rdfs:label GO:GO_0008585 Inconsistence ? Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 32. Technology details: OWL OWL: • Class Union/Intersection • Universal/Existential restriction • Property Domain/Range • Transitive/Reflexive/ Functional properties • ... Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 OWL provides a set of properties and resources to characterize classes. • OWL supports inference of the class structure of an ontology • OWL has several variants addressing different trade-offs in computability/expressivity • Many ontologies “use OWL”, but they really only use a few axioms (almost like RDFS) • Inconsistence ! • OWL is not a schema language! (Classes and properties have a different meaning than OO) Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 33. Technology details: OWL Example: cell motility part of localization of cell <owl:Class rdf:about="GO#GO_0006928"> <rdfs:label xml:lang="en">cell motility</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="obo#part_of"/> <owl:someValuesFrom rdf:resource="GO#GO_0051674"/> </owl:Restriction> </rdfs:subClassOf> ... </owl:Class> Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 34. Technology details: OWL OWL Inference is not validation! Person hasFather exactly 1 George a Person George hasFather Mark George hasFather John John sameAs Mark •RDF Validation: Syntax •(OWL) Reasoning: Consistency •SPIN Rules (later) Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 35. Technology details: OWL Two things to possibly avoid when working with OWL/RDF: • use RDF/XML • use OO tools Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 36. Technology details: SKOS • SKOS: Simple Knowledge Organization System • Not a formal system (can be mapped to OWL) • Weak semantic connotation, but useful in many classification tasks You don’t improve the ontological commitment of a classification system by representing it in OWL (if the conceptualization doesn’t improve!) Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 37. Why Life Sciences ? Why Semantic Web ? Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 38. Why ? Heterogeneous information Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 39. Why ? Mutability of information (schema) The textbook tale • The DNA model has around 60 years (’53) • “basic principles” changed in a timescale of about 10 years Missing: epigenetics, miRNA Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 40. Why ? Complex Semantics The meaning of “Gene” Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 41. Why ? The Semantic Web can Help How ? • • Makes data integration easier Makes semantic problems explicit Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 42. Why ? The Semantic Web can Help How ? • • Makes data integration easier Makes semantic problems explicit Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 43. Why ? The Semantic Web can Help How ? Easy data integration: what if we used a relational model CityID population CityName INT INT VARHCHAR (45) INT INT Date INT TEXT 1 40885 Venezia 1 20000 1868 2 Venice Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 UniversityID students established CityID Nettab, 16th October 2013,Venice CityName Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 44. Why ? The Semantic Web can Help How ? Easy data integration: what if we used a relational model CityID population CityName UniversityID students established CityID CityName INT INT VARHCHAR (45) INT INT Date INT TEXT 1 40885 Venezia 1 20000 1868 2 Venice Implicit foreign key In the Semantic Web “keys” are explicit by definition Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 45. Why ? The Semantic Web can Help How ? Easy data integration: what if we used a relational model CityID population CityName UniversityID students established CityID CityName INT INT VARHCHAR (45) INT INT Date INT TEXT 1 40885 Venezia 1 20000 1868 2 Venice Local identifiers, mappings required Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 46. Why ? The Semantic Web can Help How ? Easy data integration: what if we used a relational model Perhaps we can assume that in the same country, two cities with the same name are the same city. We could just declare rdfs:property as functional to deduce such equivalences. CityID population CityName UniversityID students established CityID CityName INT INT VARHCHAR (45) INT INT Date INT TEXT 1 40885 Venezia 1 20000 1868 2 Venice What is the type of a CityName ? How many names can a city have ? Is the city name a key ? Does the University of Venice only exists in Venice ? Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 47. The broader view Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 48. The broader view Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 49. The broader view: Not only NoSQL The Semantic Web is not only a technology to handle data. Being “Semantic” and “Web” has some implication on the way information is thought • • • All predicates are global (no implicit contexts) • • Monotonicity: you only add information Declarative vs imperative processing of information Immutability: once information is out, you cannot control it There may be more that what you know: Open World Assumption Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 50. HOWTO publish information on the Semantic Web Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 51. HOWTO publish information on the Semantic Web Simply link an RDF file Possibly via a good URI Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 52. HOWTO publish information on the Semantic Web Programmatic access via a SPARQL endpoint (can be resource intensive) Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 53. HOWTO publish information on the Semantic Web Embed RDF in html (e.g.: RDFa) <div xmlns:dc="http://purl.org/dc/elements/1.1/"> <div about="/alice/posts/trouble_with_bob"> <h2 property="dc:title">The trouble with Bob</h2> <h3 property="dc:creator">Alice</h3> ... </div> <div about="/alice/posts/jos_barbecue"> <h2 property="dc:title">Jo's Barbecue</h2> <h3 property="dc:creator">Eve</h3> ... </div> </div> Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 54. HOWTO publish information on the Semantic Web Publish information as Linked-Data • • • Linked Data is a set of good practices to publish RDF • Content negotiation Use only HTTP resolvable URIs Dereferencing URIs (202 information resources 303 see other) http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/ Linked Data APIs (ELDA), Linked Data Platform, Linked Data JSON ... Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 55. HOWTO: simple conversions to RDF CityID population CityName INT INT VARHCHAR(45) 1 40885 Venice LAT pp LAT pp LAT pp LAT pp LAT pp SLP-76 SLP-76 SLP-76 SLP-76 SLP-76 SLP-76 SLP-76 SLP-76 CD28 CD28 CD28 Grb2 PI3K_p85-alpha PLC-gamma Grap Gads pp Vav pp Nck pp SLAP-130 pp Gads pp Shc pp Cbl pp Lyn pp PLC-gamma2 pp Grb2 pp PI3K_p85-beta pp CD80 SIF Table http://ns/ID#1 http://ns/prop#population 40885 http://ns/ID#1 http://ns/prop#CityName Venice <http://ns/ID#$1 http://ns/prop#$2 http://ns/ID#$3> Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 56. HOWTO: relational to RDF mapping D2RQ • • • Relational to RDF conversion Dynamic rendering (SPARQL) Linked data frontend (Pubby) http://d2rq.org http://www.w3.org/TR/2012/PR-rdb-direct-mapping-20120814/ http://www.w3.org/TR/2012/REC-r2rml-20120927/ Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 57. HOWTO: relational to RDF mapping Author Paper ID (key) ID (key) Name PubmedID Email Title AuthorID (fkey) PaperID (fkey) Automated mapping: D2RQ (like other tools) by default only generates a structural mapping (this can then be tuned). It cannot generate a dc:creator property between Paper and Author ... Author2Paper Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 58. HOWTO: relational to RDF mapping Author Paper ID (key) ID (key) Name PubmedID Email Title AuthorID (fkey) PaperID (fkey) ... Author2Paper Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Example edited mapping: # Table Author map:author a d2rq:ClassMap; d2rq:dataStorage map:database; d2rq:uriPattern "author/@@Author.ID@@"; d2rq:class foaf:person; d2rq:classDefinitionLabel "author"; . map:author_name a d2rq:PropertyBridge; d2rq:belongsToClassMap map:author; d2rq:property foaf:name; d2rq:propertyDefinitionLabel "Author_name"; d2rq:column "Author.Name"; . Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 59. HOWTO: relational to RDF mapping Author Paper ID (key) ID (key) Name PubmedID Email Title AuthorID (fkey) map:hasAuthor a d2rq:PropertyBridge; d2rq:belongsToClassMap map:Paper; d2rq:property :hasAuthorEmail; d2rq:column "Author.Email"; d2rq:join "Paper.ID <= Author2Paper.PaperID"; d2rq:join "Author2Paper.PersonID => Person.ID"; d2rq:datatype xsd:string; d2rq:propertyDefinitionLabel "email"@en; d2rq:propertyDefinitionComment "Author email"@en; . PaperID (fkey) ... map:Paper a d2rq:ClassMap; d2rq:class :Paper; d2rq:uriPattern Author2Paper "http://togows.dbcls.jp/entry/pubmed/@@Paper.PubmedID@@.ttl d2rq:condition "Papers.PubmedID != ””"; d2rq:dataStorage map:Database1. Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 60. HOWTO setup your own triplestore Discussion + Jena http://www.apache.org/dist/jena/binaries/ Just run: fuseki --loc=path --update / Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 61. Ontologies and Protege Ontology editor Practical suggestions: • • • Produce RDF (simple scripts or mapper) Translate among syntaxes via Rapper Build ontologies (for your RDF) in Protege http://protege.stanford.edu mercoledì 16 ottobre 13
  • 62. Ontologies and Protege Two typical scenarios of interoperability between RDF and Ontologies Ontologies are large taxonomies or DAGs, only transitive inference is used. (E.g.: SKOS-like) Ontologies are complex terminology that rely on axioms for consistency and inference Protege to edit and visualize the ontology. Rely on the triplestore for inference. Edit in Protege, classify the ontology via reasoner, then use the results in combination with other RDF statements. Third scenario.... Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 63. Ontologies and Protege You can specify URIs as to match your RDF mercoledì 16 ottobre 13
  • 64. Ontologies and Protege • Relations are first class objects • Specifying domain, range and annotation can go a long way in • “documenting” the ontology Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 65. VOID and metadata VOID: Metadata about a dataset. • Provenance • License • Vocabularies • Statistics rdf.myexperiment.org/void.rdf http://www.w3.org/TR/void/ Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 66. VOID and metadata SPARQL service descriptor • Query language supported • Formats returned • Entailment regime • ... curl -H "Accept: application/rdf+xml" http://beta.sparql.uniprot.org/sparql Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 67. VOID and metadata Consider registering your data in a data register Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 68. HOWTO use information from the Semantic Web Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 69. Introduction to SPARQL # NAME : Get psoriasis proteins # PARAMETER: psoriasis: the disease name # FUNCTION : returns all the proteins that have 'psoriasis' in # their Swiss-Prot disease description and their # interacting proteins (if known) BASE <http://www.semantic-systems-biology.org/> PREFIX rdfs:<http://www.w3.org/2000/01/rdfschema#> PREFIX ssb:<http://www.semantic-systemsbiology.org/SSB#> SELECT distinct ?protein_name ?disease_description ?interacts_with ?encoded_by WHERE { GRAPH <uniprot_sprot> { ?protein_id ssb:disease ?disease_description. ?protein_id ssb:mnemonic ?protein_name. OPTIONAL { ?protein_id ssb:interacts_with ?interactor. ?interactor ssb:mnemonic ?interacts_with. ?interactor ssb:encoded_by ?encoded_by. } } FILTER regex(?disease_description, 'psoriasis'). } http://www.semantic-systems-biology.org/biogateway/endpoint? default-graph-uri=&query=%23+NAME+++++%3A+Get+psoriasis+proteins %0D%0A%23+PARAMETER%3A+psoriasis%3A+the+disease+name%0D%0A %23+FUNCTION+%3A+returns+all+the+proteins+that+have+%27psoriasis %27+in%0D%0A%23++++++++++++their+Swiss-Prot+disease+description +and+their%0D%0A%23++++++++++++interacting+proteins+%28if+known %29%0D%0A%0D%0ABASE+++%3Chttp%3A%2F%2Fwww.semantic-systemsbiology.org%2F%3E%0D%0APREFIX+rdfs%3A%3Chttp%3A%2F%2Fwww.w3.org %2F2000%2F01%2Frdf-schema%23%3E%0D%0APREFIX+ssb%3A%3Chttp%3A%2F %2Fwww.semantic-systems-biology.org%2FSSB%23%3E%0D%0ASELECT +distinct+%3Fprotein_name+%3Fdisease_description%0D%0A+++++++ %3Finteracts_with+%3Fencoded_by%0D%0AWHERE+%7B%0D%0A++GRAPH+ %3Cuniprot_sprot%3E+%7B%0D%0A++++%3Fprotein_id+ssb%3Adisease+ %3Fdisease_description.%0D%0A++++%3Fprotein_id+ssb%3Amnemonic+ %3Fprotein_name.%0D%0A++++OPTIONAL+%7B%0D%0A++++++%3Fprotein_id +ssb%3Ainteracts_with+%3Finteractor.%0D%0A++++++%3Finteractor +ssb%3Amnemonic+%3Finteracts_with.%0D%0A++++++%3Finteractor+ssb %3Aencoded_by+%3Fencoded_by.%0D%0A++++%7D%0D%0A++%7D%0D%0A+ +FILTER+regex%28%3Fdisease_description%2C+%27psoriasis%27%29.%0D %0A%7D&format=text%2Fhtml&debug=on SPARQL is REST! (one query is one URL) Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 70. Introduction to SPARQL SPARQL supports different kind of queries SELECT ?x ?y... WHERE {GRAPH PATTERN} CONSTRUCT {?x ?y ?z} WHERE {GRAPH PATTERN} ASK DESCRIBE Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 71. Introduction to SPARQL Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 72. Introduction to SPARQL Graph patterns PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX biopax3: <http://www.biopax.org/release/biopax-level3.owl#> SELECT DISTINCT ?pathway ?pathwayname WHERE {?pathway rdf:type biopax3:Pathway . ?pathway biopax3:displayName ?pathwayname . ?pathway biopax3:pathwayComponent ?reaction . ?reaction rdf:type biopax3:BiochemicalReaction . ?reaction ?rel ?protein . ?protein rdf:type biopax3:Protein . ?protein biopax3:entityReference <http://purl.uniprot.org/uniprot/P01308> } LIMIT 100 <http://identifiers.org/reactome/REACT_15550.4> Insulin Processing <http://identifiers.org/reactome/REACT_18325.4> Regulation of Insulin Secretion Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 73. Introduction to SPARQL Graph patterns Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 74. Introduction to SPARQL How do I know what to query ? Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 75. Introduction to SPARQL Filters PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX biopax3: <http://www.biopax.org/release/biopax-level3.owl#> SELECT DISTINCT ?pathway ?pathwayname WHERE {?pathway rdf:type biopax3:Pathway . ?pathway biopax3:displayName ?pathwayname . FILTER regex(?pathwayname, "Insulin", "i") } LIMIT 100 More operators! Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 76. Introduction to SPARQL Combining graph matching: union and diff SELECT DISTINCT ?pathway ?pathwayname WHERE {?pathway rdf:type biopax3:Pathway . ?pathway biopax3:displayName ?pathwayname . ?pathway biopax3:pathwayComponent ?reaction . ?reaction rdf:type biopax3:BiochemicalReaction . { {?reaction ?rel ?protein .} UNION { ?reaction ?rel ?complex . ?complex rdf:type biopax3:Complex . ?complex ?comp ?protein . }} ?protein rdf:type biopax3:Protein . ?protein biopax3:entityReference <http://purl.uniprot.org/uniprot/P01308> } LIMIT 100 Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 77. Introduction to SPARQL Aggregators SELECT DISTINCT ?pathway ?pathwayname WHERE {?pathway rdf:type biopax3:Pathway . ?pathway biopax3:displayName ?pathwayname . ?pathway biopax3:pathwayComponent ?reaction . ?reaction rdf:type biopax3:BiochemicalReaction . { {?reaction ?rel ?protein .} UNION { ?reaction ?rel ?complex . ?complex rdf:type biopax3:Complex . ?complex ?comp ?protein . }} ?protein rdf:type biopax3:Protein . ?protein biopax3:entityReference <http://purl.uniprot.org/uniprot/P01308> } LIMIT 100 Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 78. Introduction to SPARQL Named graphs <http://www.openlinksw.com/schemas/virtrdf#> <http://rdf.ebi.ac.uk/dataset/reactome/45> <http://rdf.ebi.ac.uk/dataset/reactome/description> Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 79. Introduction to SPARQL How do I know what to query ? A “practical example”... select distinct ?g where { graph ?g {?s ?p ?o} } <http://www.openlinksw.com/schemas/virtrdf#> <http://rdf.ebi.ac.uk/dataset/reactome/45> <http://rdf.ebi.ac.uk/dataset/reactome/description> select distinct ?o where { graph <http://rdf.ebi.ac.uk/dataset/reactome/45> {?s a ?o} } select count (distinct ?s) where { graph <http://rdf.ebi.ac.uk/dataset/reactome/45> {?s ?p ?o} } 2221044 select count (distinct ?s) where { ?s ?p ?o } Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 2221353 Nettab, 16th October 2013,Venice owl:Ontology biopax3:FragmentFeature biopax3:SmallMoleculeReference biopax3:TemplateReaction biopax3:Control biopax3:EvidenceCodeVocabulary biopax3:SequenceSite biopax3:Stoichiometry biopax3:Catalysis biopax3:PathwayStep biopax3:UnificationXref biopax3:Protein biopax3:PublicationXref biopax3:PhysicalEntity biopax3:CellularLocationVocabulary biopax3:Complex biopax3:BiochemicalReaction ... Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 80. SPARQL: advanced features Distributed queries PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX biopax3: <http://www.biopax.org/release/biopax-level3.owl#> SELECT DISTINCT ?pathway ?pathwayname WHERE { SERVICE<http://beta.sparql.uniprot.org/sparql> {?uniprotID <http://purl.uniprot.org/core/ encodedBy> ?o . ?o <http://www.w3.org/2004/02/skos/core#prefLabel> "INS"} ?pathway rdf:type biopax3:Pathway . ?pathway biopax3:displayName ?pathwayname . ?pathway biopax3:pathwayComponent ?reaction . ?reaction rdf:type biopax3:BiochemicalReaction . ?protein rdf:type biopax3:Protein . ?protein biopax3:entityReference ?uniprotID } LIMIT 100 Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Don’t change the order! Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 81. SPARQL: advanced features PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SPARQL update PREFIX dc: <http://purl.org/dc/elements/1.1/> INSERT DATA { <http://example/book1> dc:title "A new book" ; dc:creator "A.N.Other" . } INSERT { GRAPH <http://example/bookStore2> { ?book ?p ?v } } WHERE { GRAPH <http://example/bookStore> { ?book dc:date ?date . FILTER ( ?date > "1970-01-01"^^xsd:dateTime ) ?book ?p ?v PREFIX dc: <http://purl.org/dc/elements/1.1/> INSERT DATA { GRAPH <http://example/graph> } } { <http://example/book1> dc:title "A new book" ; dc:creator "A.N.Other" . }} PREFIX foaf: <http://xmlns.com/foaf/0.1/> DELETE WHERE { ?person foaf:givenName 'Fred'; ?property ?value } http://www.w3.org/TR/sparql11-update/ Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 82. SPARQL: advanced features http://spinrdf.org/ Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 83. Example of Tools Reasoners • Different varieties: simple transitive reasoning can be embedded in triplestores • • Rule based OWL-reasoners (OWL, Fact++): can be stand-alone or embedded in other applications (e.g.: Protege) http://www.w3.org/2001/sw/wiki/OWL/Implementations Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 84. Example of Tools RDF visualization tools (graph based) Think about reification! (not always intuitive) http://semweb.salzburgresearch.at/apps/rdf-gravity/user_doc.html Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 85. Example of Tools OWL visualization tools (class based) http://protegewiki.stanford.edu/index.php/OWLViz Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 86. Example of Tools Information discovery http://www.visualdataweb.org/relfinder.php Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 87. Example of Tools Integrated environments: mapping, visualization, editing, analysis, exploration http://io-informatics.com Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 88. Example of Tools Facet browsers Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 89. Example of Tools Visualization/mashup libraries  <div                                           id="sgvzl_example1" data-sgvizler-endpoint="http://sws.ifi.uio.no/sparql/npd" data-sgvizler-query="SELECT ?class (count(?instance) AS ?noOfInstances)                     WHERE{ ?instance a ?class }                     GROUP BY ?class                     ORDER BY ?class" data-sgvizler-chart="gPieChart" style="width:800px; height:400px;"></div> https://code.google.com/p/sgvizler/ Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 90. Example of Tools Infrastructures http://biordf.net/cardioSHARE/ Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 91. The Semantic Web Landscape Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 92. Primary Resources Uniprot RDF available via: •Content negotiation •Extension •Endpoint Lot of triples! http://www.uniprot.org http://www.ebi.ac.uk/rdf/documentation/uniprot/ Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 93. Primary Resources EBI RDF Platform Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 94. Primary Resources EBI: indentifiers.org Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 95. Primary Resources “Some” literature Pubmed: http://togows.dbcls.jp http://data.nature.com Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 96. Primary Resources Gene Ontology http://beta.geneontology.org/page/download-ontology Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice getting OWL! Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 97. Primary Resources Wikipathways (OpenPhacts) http://sparql.wikipathways.org Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 98. Primary Resources DBPedia freebase... Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 99. Integrated Resources BioPortal • Ontologies, mappings and tools • Most of ontologies are large terminology collections http://bioportal.bioontology.org/ Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 100. Integrated Resources BioPortal: detail on SPARQL queries and ontology representation To be filled Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 101. Integrated Resources BioPortal: detail on SPARQL queries and ontology representation Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 102. Integrated Resources Bio2RDF Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 103. Integrated Resources http://linkedlifedata.com Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 104. Integrated Resources DistilBio Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 105. Integrated Resources Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 106. Integrated Resources PathwayCommons integrates pathway information via BioPAX GO: 39k terms Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 107. Integrated Resources Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 108. LOD: Linked Open Data http://lod-cloud.net/versions/2011-09-19/lod-cloud_colored.html Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 109. LOD: Linked Open Data Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 110. LOD: Linked Open Data Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 111. LOD: Linked Open Data Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 112. LOD: Linked Open Data Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 113. Conclusions Is the Semantic Web good for you ? • • Are resources reliable ? (a business problem) • How can I know which resources to use ? (Not easy) • Is the technology mature ? Part of it. Does it solve the Semantic Integration problem ? (No) Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 114. Conclusions Is the Semantic Web good for you ? • • • Beyond Syntax • • Several interesting resources Explicit Semantics Web technologies (SPARQL as REST, distributed queries) Some technologies are robust (RDF, SPARQL, ...) Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]
  • 115. Exercise • • • • Get Jena Fuseki Start the server Add some triples via the web interface Make a distributed query to Uniprot <http://myHomePage> <http://nettab.org/example/chosenProtein> <uniprotID> Semantic Web for Life Sciences:Visions, Aims, Tools, Platforms mercoledì 16 ottobre 13 Nettab, 16th October 2013,Venice Andrea Splendiani @AndSplend andrea.splendiani@[deri.org,intellileaf.com]

×