SlideShare a Scribd company logo
1 of 115
Download to read offline
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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
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
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
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
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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
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]
Ontologies and Protege

You can specify
URIs as to match
your RDF

mercoledì 16 ottobre 13
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]

More Related Content

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

Gridforum David De Roure Newe Science 20080402
Gridforum David De Roure Newe Science 20080402Gridforum David De Roure Newe Science 20080402
Gridforum David De Roure Newe Science 20080402vrij
 
OpenGLAM Poland: Building a Cultural Commons togeter
OpenGLAM Poland: Building a Cultural Commons togeterOpenGLAM Poland: Building a Cultural Commons togeter
OpenGLAM Poland: Building a Cultural Commons togeterJoris Pekel
 
One Score To Rule Them All: Semantics in Music Notation
One Score To Rule Them All: Semantics in Music NotationOne Score To Rule Them All: Semantics in Music Notation
One Score To Rule Them All: Semantics in Music NotationAlbert Meroño-Peñuela
 
ALIAOnline Practical Linked (Open) Data for Libraries, Archives & Museums
ALIAOnline Practical Linked (Open) Data for Libraries, Archives & MuseumsALIAOnline Practical Linked (Open) Data for Libraries, Archives & Museums
ALIAOnline Practical Linked (Open) Data for Libraries, Archives & MuseumsJon Voss
 
Solid: An Ecology of Digital Being [@SLA Europe October 28, 2020]
Solid: An Ecology of Digital Being [@SLA Europe October 28, 2020]Solid: An Ecology of Digital Being [@SLA Europe October 28, 2020]
Solid: An Ecology of Digital Being [@SLA Europe October 28, 2020]Teodora Petkova
 
Mon domingue key_introduction to semantic
Mon domingue key_introduction to semanticMon domingue key_introduction to semantic
Mon domingue key_introduction to semanticeswcsummerschool
 
OntoSoft: A Distributed Semantic Registry for Scientific Software
OntoSoft: A Distributed Semantic Registry for Scientific SoftwareOntoSoft: A Distributed Semantic Registry for Scientific Software
OntoSoft: A Distributed Semantic Registry for Scientific Softwaredgarijo
 
06.Heritage Management 2018, Wikipedia
06.Heritage Management 2018, Wikipedia06.Heritage Management 2018, Wikipedia
06.Heritage Management 2018, WikipediaIolanda Pensa
 
Tech talk about iswc2013
Tech talk about iswc2013Tech talk about iswc2013
Tech talk about iswc2013Rodrigo Senra
 
RBMS LODLAM presentation
RBMS LODLAM presentationRBMS LODLAM presentation
RBMS LODLAM presentationJon Voss
 
Your Content hides a treasure (and you might have not found it) - ForgetIT Pr...
Your Content hides a treasure (and you might have not found it) - ForgetIT Pr...Your Content hides a treasure (and you might have not found it) - ForgetIT Pr...
Your Content hides a treasure (and you might have not found it) - ForgetIT Pr...Olivier Dobberkau
 
An evaluation of SimRank and Personalized PageRank to build a recommender sys...
An evaluation of SimRank and Personalized PageRank to build a recommender sys...An evaluation of SimRank and Personalized PageRank to build a recommender sys...
An evaluation of SimRank and Personalized PageRank to build a recommender sys...Paolo Tomeo
 
Linked Open Data
Linked Open DataLinked Open Data
Linked Open Datahorvadam
 
Linked Open Data
Linked Open DataLinked Open Data
Linked Open Datahorvadam
 
Linked Data Challenge and Opportunity
Linked Data Challenge and OpportunityLinked Data Challenge and Opportunity
Linked Data Challenge and OpportunityRichard Wallis
 
Digital Tools, Trends and Methodologies in the Humanities and Social Sciences
Digital Tools, Trends and Methodologies in the Humanities and Social SciencesDigital Tools, Trends and Methodologies in the Humanities and Social Sciences
Digital Tools, Trends and Methodologies in the Humanities and Social SciencesShawn Day
 
Semantic Integration with Apache Jena and Stanbol
Semantic Integration with Apache Jena and StanbolSemantic Integration with Apache Jena and Stanbol
Semantic Integration with Apache Jena and StanbolAll Things Open
 

Similar to Semantic Web for Life Sciences: vision, aims, tools, platforms (20)

Gridforum David De Roure Newe Science 20080402
Gridforum David De Roure Newe Science 20080402Gridforum David De Roure Newe Science 20080402
Gridforum David De Roure Newe Science 20080402
 
dh_specialist_interview
dh_specialist_interviewdh_specialist_interview
dh_specialist_interview
 
OpenGLAM Poland: Building a Cultural Commons togeter
OpenGLAM Poland: Building a Cultural Commons togeterOpenGLAM Poland: Building a Cultural Commons togeter
OpenGLAM Poland: Building a Cultural Commons togeter
 
One Score To Rule Them All: Semantics in Music Notation
One Score To Rule Them All: Semantics in Music NotationOne Score To Rule Them All: Semantics in Music Notation
One Score To Rule Them All: Semantics in Music Notation
 
ALIAOnline Practical Linked (Open) Data for Libraries, Archives & Museums
ALIAOnline Practical Linked (Open) Data for Libraries, Archives & MuseumsALIAOnline Practical Linked (Open) Data for Libraries, Archives & Museums
ALIAOnline Practical Linked (Open) Data for Libraries, Archives & Museums
 
Solid: An Ecology of Digital Being [@SLA Europe October 28, 2020]
Solid: An Ecology of Digital Being [@SLA Europe October 28, 2020]Solid: An Ecology of Digital Being [@SLA Europe October 28, 2020]
Solid: An Ecology of Digital Being [@SLA Europe October 28, 2020]
 
Mon domingue key_introduction to semantic
Mon domingue key_introduction to semanticMon domingue key_introduction to semantic
Mon domingue key_introduction to semantic
 
OntoSoft: A Distributed Semantic Registry for Scientific Software
OntoSoft: A Distributed Semantic Registry for Scientific SoftwareOntoSoft: A Distributed Semantic Registry for Scientific Software
OntoSoft: A Distributed Semantic Registry for Scientific Software
 
ITS Projects and Services Showcase - June 2013
ITS Projects and Services Showcase - June 2013ITS Projects and Services Showcase - June 2013
ITS Projects and Services Showcase - June 2013
 
06.Heritage Management 2018, Wikipedia
06.Heritage Management 2018, Wikipedia06.Heritage Management 2018, Wikipedia
06.Heritage Management 2018, Wikipedia
 
Tech talk about iswc2013
Tech talk about iswc2013Tech talk about iswc2013
Tech talk about iswc2013
 
LabTech Introduction
LabTech IntroductionLabTech Introduction
LabTech Introduction
 
RBMS LODLAM presentation
RBMS LODLAM presentationRBMS LODLAM presentation
RBMS LODLAM presentation
 
Your Content hides a treasure (and you might have not found it) - ForgetIT Pr...
Your Content hides a treasure (and you might have not found it) - ForgetIT Pr...Your Content hides a treasure (and you might have not found it) - ForgetIT Pr...
Your Content hides a treasure (and you might have not found it) - ForgetIT Pr...
 
An evaluation of SimRank and Personalized PageRank to build a recommender sys...
An evaluation of SimRank and Personalized PageRank to build a recommender sys...An evaluation of SimRank and Personalized PageRank to build a recommender sys...
An evaluation of SimRank and Personalized PageRank to build a recommender sys...
 
Linked Open Data
Linked Open DataLinked Open Data
Linked Open Data
 
Linked Open Data
Linked Open DataLinked Open Data
Linked Open Data
 
Linked Data Challenge and Opportunity
Linked Data Challenge and OpportunityLinked Data Challenge and Opportunity
Linked Data Challenge and Opportunity
 
Digital Tools, Trends and Methodologies in the Humanities and Social Sciences
Digital Tools, Trends and Methodologies in the Humanities and Social SciencesDigital Tools, Trends and Methodologies in the Humanities and Social Sciences
Digital Tools, Trends and Methodologies in the Humanities and Social Sciences
 
Semantic Integration with Apache Jena and Stanbol
Semantic Integration with Apache Jena and StanbolSemantic Integration with Apache Jena and Stanbol
Semantic Integration with Apache Jena and Stanbol
 

Recently uploaded

Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Automation Ops Series: Session 3 - Solutions management
Automation Ops Series: Session 3 - Solutions managementAutomation Ops Series: Session 3 - Solutions management
Automation Ops Series: Session 3 - Solutions managementDianaGray10
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Bitdefender-CSG-Report-creat7534-interactive
Bitdefender-CSG-Report-creat7534-interactiveBitdefender-CSG-Report-creat7534-interactive
Bitdefender-CSG-Report-creat7534-interactivestartupro
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Dublin_mulesoft_meetup_API_specifications.pptx
Dublin_mulesoft_meetup_API_specifications.pptxDublin_mulesoft_meetup_API_specifications.pptx
Dublin_mulesoft_meetup_API_specifications.pptxKunal Gupta
 
Introduction-to-Wazuh-and-its-integration.pptx
Introduction-to-Wazuh-and-its-integration.pptxIntroduction-to-Wazuh-and-its-integration.pptx
Introduction-to-Wazuh-and-its-integration.pptxmprakaash5
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024
Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024
Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Laying the Data Foundations for Artificial Intelligence!
Laying the Data Foundations for Artificial Intelligence!Laying the Data Foundations for Artificial Intelligence!
Laying the Data Foundations for Artificial Intelligence!Memoori
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 

Recently uploaded (20)

Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Automation Ops Series: Session 3 - Solutions management
Automation Ops Series: Session 3 - Solutions managementAutomation Ops Series: Session 3 - Solutions management
Automation Ops Series: Session 3 - Solutions management
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Bitdefender-CSG-Report-creat7534-interactive
Bitdefender-CSG-Report-creat7534-interactiveBitdefender-CSG-Report-creat7534-interactive
Bitdefender-CSG-Report-creat7534-interactive
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Dublin_mulesoft_meetup_API_specifications.pptx
Dublin_mulesoft_meetup_API_specifications.pptxDublin_mulesoft_meetup_API_specifications.pptx
Dublin_mulesoft_meetup_API_specifications.pptx
 
Introduction-to-Wazuh-and-its-integration.pptx
Introduction-to-Wazuh-and-its-integration.pptxIntroduction-to-Wazuh-and-its-integration.pptx
Introduction-to-Wazuh-and-its-integration.pptx
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024
Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024
Green paths: Learning from publishers’ sustainability journeys - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Laying the Data Foundations for Artificial Intelligence!
Laying the Data Foundations for Artificial Intelligence!Laying the Data Foundations for Artificial Intelligence!
Laying the Data Foundations for Artificial Intelligence!
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 

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

  • 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]