SlideShare a Scribd company logo
Introduction to Bio	
  Ontologies
and The	
  Semantic Web
M.	
  Devisscher
Biological Databases
Overview
• Bio	
  ontologies
• Semantic technologies
• Practical	
  sessions:	
  
– Protégé and a	
  bio	
  database
– DYI	
  SPARQL	
  endpoint
Introduction
• Ontologies:	
  what are	
  ontologies ?
• Ontologies in	
  the	
  bio	
  domain:	
  OBO	
  Foundry
• Ontologies in	
  the	
  semantic web
• OBO
• RDF,	
  IRI,	
  TTL,	
  SPARQL,	
  OWL
What is	
  an ontology ?
• Ontology =	
  a	
  specification of	
  a	
  
conceptualization (Gruber 1993)
• In	
  practice:	
  controlled vocabularies
– Disambiguation (e.g.	
  Bank,	
  Running)
– Language/species	
  independence
• Very useful in	
  biology – complex	
  hierarchies of	
  
terms
Ontologies in	
  the	
  bio	
  Domain
• OBO	
  Foundry -­‐ open	
  Biological and
Biomedical Ontologies
• Common	
  principles
• List	
  of	
  ontologies at	
  
http://www.obofoundry.org
• OBO	
  is	
  also a	
  data	
  format	
  .obo
SideTrack – The	
  Gene	
  Ontology
• The	
  mother of	
  bio-­‐ontologies:	
  the	
  GO
– Oldest bio	
  – ontology
– Many practical	
  applications:
• Cross	
  species	
  studies
• Term	
  abundance studies
• GO	
  is	
  an OBO	
  ontology
SideTrack – The	
  Gene	
  Ontology
• Collection	
  of	
  terms
SideTrack – The	
  Gene	
  Ontology
• Relationships between terms:
– Subsumption:	
  is_a
– Partonomic:	
  part_of
• These	
  terms are	
  transitive
• Terms form	
  a	
  DAG	
  (directed,	
  acyclic graph)
• Some information	
  can be inferred
SideTrack – The	
  Gene	
  Ontology
SideTrack – The	
  Gene	
  Ontology
SideTrack – The	
  Gene	
  Ontology
• Know more:	
  www.geneontology.org
• AMIGO	
  :	
  the	
  GO	
  browser
Gene	
  Ontology	
  Annotation
• Gene	
  ontology	
  annotations	
  GOA	
  =	
  entities	
  
labeled	
  with	
  GO	
  terms
– E.g.	
  Uniprot-­‐GOA
Semantic Technologies
• The	
  semantic web:	
  Tim	
  Berners Lee	
  et	
  al,	
  
Scientific American	
  2001
Semantic Technologies
• W3C:	
  a	
  set	
  of	
  specifications
http://www.w3.org/standards/semanticweb/
• A	
  mature toolset
– Dedicated data	
  formats
– Storage
– Query	
  language
Semantic Technologies
• Basic	
  data	
  element	
  =	
  a	
  Triple
– A	
  mini	
  sentence
– Contains three Terms:
• Subject	
  Predicate Object
Semantic Technologies
• Representation of	
  triples
– Basic	
  data	
  format:	
  RDF/XML
– All data	
  expressed in	
  RDF	
  (Resource	
  Description
Framework)
– Several compatible	
  syntaxes:	
  TTL	
  (Terse Triple	
  
Language)	
  most	
  human	
  readable
Example
The	
  Turtle Syntax
• Basic	
  Triple
<http://bioinformatics.be/entities#martijn>
<http://bioinformatics.be/relations#has_favorite_beer>
<http://bioinformatics.be/entities#karmeliet>.
The	
  Turtle Syntax
• Prefix
@prefix  b4x:  <http:bioinformatics.be/terms#>
b4x:martijn  b4x:has_favorite_beer  b4x:karmeliet.
The	
  Turtle Syntax
• Predicate lists
@prefix  b4x:  <http:bioinformatics.be/terms#>  .
@prefix  foaf:  <http://xmlns.com/foaf/0.1/>  .
b4x:martijn  b4x:has_favorite_beer  b4x:karmeliet;
foaf:name “Martijn  Devisscher”.
The	
  Turtle Syntax
• Object	
  lists
@prefix  b4x:  <http:bioinformatics.be/terms#>  .
@prefix  foaf:  <http://xmlns.com/foaf/0.1/>  .
b4x:martijn  b4x:has_favorite_beer  b4x:karmeliet,
b4x:chimay_blauw;
foaf:name “Martijn  Devisscher”.
IRI’s and Literals
• Terms can be either IRI’s,	
  Literals or	
  blank	
  nodes
• IRI	
  = Internationalized Resource	
  Identifier
• Unique	
  id – a	
  virtual	
  URI
– Example:	
  http://bioinformatics.be/terms#martijn
– There is	
  no	
  requirement for resolving
– Now:	
  Open	
  Data	
  initiatives:	
  please do	
  use resolvable
URI’s http://linkeddata.org
– Unique	
  identifierscan be registered on	
  
http://identifiers.org
Introduction
• Literals:	
  can be typed,	
  allowed types	
  from the	
  
XSD	
  namespace:
– E.g.	
  “This is	
  a	
  string	
  example”^^xsd:string
– E.g.	
  “5”^^xsd:integer
• IRI’s are	
  used for entities and attributes
• Literals are	
  used for attribute values that
aren’t entities
The	
  Turtle Syntax
• Typed literals
@prefix  b4x:  <http:bioinformatics.be/terms#>  .
@prefix  foaf:  <http://xmlns.com/foaf/0.1/>  .
@prefix  xsd:  <http://www.w3.org/2001/XMLSchema#>  .
b4x:martijn  b4x:has_favorite_beer  b4x:karmeliet,
b4x:chimay_blauw;
b4x:length  “184”^^xsd:integer;
foaf:name “Martijn  Devisscher”^^xsd:string.
The	
  Turtle Syntax
• Blank	
  nodes
@prefix  b4x:  <http:bioinformatics.be/terms#>  .
@prefix  foaf:  <http://xmlns.com/foaf/0.1/>  .
@prefix  xsd:  <http://www.w3.org/2001/XMLSchema#>  .
b4x:martijn  b4x:has_favorite_beer  b4x:karmeliet,
b4x:chimay_blauw;
b4x:length  “184”^^xsd:integer;
foaf:name “Martijn  Devisscher”^^xsd:string;
b4x:owns_cat  [  b4x:color  “Gray”  ].
Classes	
  and Individuals
• rdf:type
@prefix  b4x:  <http:bioinformatics.be/terms#>  .
@prefix  foaf:  <http://xmlns.com/foaf/0.1/>  .
b4x:martijn  rdf:type foaf:Person.
Classes	
  and Individuals
• Shorthand:	
  a
@prefix  b4x:  <http:bioinformatics.be/terms#>  .
@prefix  foaf:  <http://xmlns.com/foaf/0.1/>  .
b4x:martijn  a  foaf:Person;
foaf:knows b4x:geert.
b4x:geert  a foaf:Person.
Example
<http://xmpl/entities#martijn>
<http://xmpl/relations#has_favorite_beer>
<http://xmpl/entities#karmeliet>.
Semantic Technologies
• Sets	
  of	
  triples form	
  a	
  Graph
Graphs
• Triples are	
  building	
  blocks of	
  Graphs
• Combining sets	
  of	
  triples allows the	
  
construction of	
  arbitrarily complex	
  graphs
b4x:martijn b4x:karmeliethas_favorite_beer
Add meaning !
• Reuse terms from existing,	
  well	
  defined
vocabularies – ontologies (foaf,	
  dc,	
  go,	
  so)
• Describe new	
  terms =	
  Ontologies
• Contain
– A	
  crisp	
  human	
  definition
– Some machine	
  readable facts
Metadata
• Ontologies are	
  also described in	
  RDF
– RDFS:	
  RDF	
  -­‐ Schema
– OWL:	
  Web	
  Ontology Language
– Also expressed in	
  RDF
• For	
  clarity,	
  file	
  extension	
  can be .rdfs or	
  .owl
RDFS	
  Essentials
• Descriptions
– rdfs:label
– rdfs:comment
RDFS
• Relationships between properties,	
  classes
– rdfs:Class
– rdfs:subClassOf
– rdf:Property
– rdfs:subPropertyOf
– rdfs:range
– rdfs:domain
RDFS:	
  Example
@prefix  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#>.
@prefix  foaf:  <http://xmlns.com/foaf/0.1/>  .
@prefix  xsd:  <http://www.w3.org/2001/XMLSchema#>  .
b4x:karmeliet  a  b4x:Trappist  .
b4x:Beer  a  rdfs:Class .
b4x:Trappist  a  rdfs:Class .
b4x:Trappist  rdfs:subClassOf b4x:Beer  .
b4x:has_favorite_beer  a  rdf:Property ;
rdfs:domain foaf:Person ;
rdfs:range b4x:Beer  .
b4x:Beer  rdfs:subClassOf b4x:Drink  .
Analogy
• RDF	
  =	
  database	
  =	
  data
• RDFS/OWL	
  =	
  schema	
  =	
  metadata
• Both	
  are	
  described in	
  RDF,	
  but	
  have	
  a	
  different	
  
scope
Semantic Technologies
• Inference
– Enhance dataset	
  using knowledge from metadata
(e.g.	
  rdfs,	
  owl)
• Types	
  of	
  inference engines
– RDFS	
  inference
• RDFS	
  entailmentregime
– OWL	
  inference
• Under	
  active research
• Engines	
  exist for specific subsets of	
  OWL	
  (OWL-­‐DL)
RDFS	
  Entailment
RDFS:	
  Inference
b4x:kevin	
  b4x:has_favorite_beer	
  b4x:stella
Q:	
  What can we	
  infer from this using RDFS	
  
entailment ?
RDFS:	
  Inference
b4x:kevin	
  b4x:has_favorite_beer	
  b4x:stella
Inferred triples:
b4x:kevin	
  a	
  foaf:Person [from domain]
b4x:stella	
  a	
  b4x:Beer	
  [from range]
b4x:stella	
  a	
  b4x:Drink	
  [from subClassOf]
DuckTyping
• Watch	
  out	
  with inference !
Example:	
  You want	
  to express that people can
have	
  lengths
b4x:length  a  rdf:Property;
rdfs:domain foaf:Person;
rdfs:range xsd:integer.
DuckTyping
• Problem:
ex:VW_Transporter b4x:length  “600”^xsd:integer.
• Would infer that VW_Transporter is	
  a	
  Person	
  !
• This is	
  called DuckTyping
If	
  it	
  looks	
  like	
  a	
  duck,	
  swims	
  like	
  a	
  duck,	
  and	
  
quacks	
  like	
  a	
  duck,	
  then	
  it	
  probably	
  is	
  a	
  duck
Task
• Find	
  a	
  solution:	
  express	
  in	
  rdfs that	
  people	
  can	
  
have	
  lengths
Task
• Find	
  a	
  solution:	
  express	
  in	
  rdfs that	
  people	
  can	
  
have	
  lengths
b4x:havingLenght  a  rdfs:Class.
b4x:length  a  rdf:Property;
rdfs:domain b4x:havingLength;
rdfs:range xsd:integer.
foaf:Person rdfs:subClassOf b4x:havingLength.
Storing	
  RDF
• As	
  an RDF	
  file	
  for download
• In	
  a	
  Triplestore
– Database	
  optimised for storing	
  triples
– Examples:	
  BlazeGraph,	
  Fuseki,	
  Sesame
Semantic Technologies
• Querying over	
  RDF	
  data:	
  SPARQL
• Cool	
  features:
– Distributed	
  querying =	
  actual distribution of	
  data	
  
and computing	
  resources
– SPARQL/Update:	
  modify data
• SPARQL	
  endpoints:	
  SPARQL	
  over	
  HTTP
SPARQL	
  Query	
  Syntax
• First	
  example:
SELECT  ?subject  ?predicate ?object  WHERE  {
?subject  ?predicate ?object.
}
(Generally	
  not a	
  good idea as	
  it will pull	
  down	
  
the	
  whole dataset)
Binding	
  variables
Graph matching
?
SELECT  ?person  WHERE  {
?person  b4x:has_favorite_beer b4x:karmeliet
}
?
SPARQL	
  Query	
  Syntax
• Limit	
  result size :
SELECT  ?subject  ?predicate ?object  WHERE  {
?subject  ?predicate ?object.
}  LIMIT  10
SPARQL	
  Query	
  Syntax
• Find all classes:
PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#>
SELECT  ?class  ?label  WHERE  {
?class  a  rdfs:Class.
?class  rdfs:label ?label.
}
(This will only retrieve classes	
  that have	
  a	
  label)
SPARQL	
  Query	
  Syntax
• Find all classes:
PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#>
SELECT  ?class  ?label  WHERE  {
?class  a  rdfs:Class.
OPTIONAL  {
?class  rdfs:label ?label.
}
}
SPARQL	
  Query	
  Syntax
• Find all classes	
  that contain “duck”	
  in	
  the	
  
label:
PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#>
SELECT  ?class  ?label  WHERE  {
?class  a  rdfs:Class.
?class  rdfs:label ?label.
FILTER(  CONTAINS  (str(?label)  ,  “duck”  )  )
}
SPARQL	
  Query	
  Syntax
• Make	
  it case	
  insensitive:
PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#>
SELECT  ?class  ?label  WHERE  {
?class  a  rdfs:Class.
?class  rdfs:label ?label.
FILTER(  CONTAINS  (  UCASE(str(?label))  ,  “DUCK”  )  )
}
SPARQL	
  Query	
  Syntax
• Search	
  in	
  specific graph:
PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#>
SELECT  ?class  ?label  
FROM  <http://example.org/animals>
WHERE  {
?class  a  rdfs:Class.
?class  rdfs:label ?label.
FILTER(  CONTAINS  (  UCASE(str(?label))  ,  “DUCK”  )  )
}
SPARQL	
  Query	
  Syntax
• Search	
  in	
  specific graph:
PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#>
SELECT  ?class  ?label  WHERE  {
GRAPH  <http://example.org/animals>  {
?class  a  rdfs:Class.
?class  rdfs:label ?label.
FILTER(  CONTAINS  (  UCASE(str(?label))  ,  “DUCK”  )  )
}
}
SPARQL	
  Query	
  Syntax
• Can also search	
  for graphs :
PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#>
SELECT  ?g  WHERE  {
GRAPH  ?g  {
?class  a  rdfs:Class.
?class  rdfs:label ?label.
FILTER(  CONTAINS  (  UCASE(str(?label))  ,  “DUCK”  )  )
}
}
Summary:	
  Querying RDF	
  data
RDF	
  Data
Inference
Engine
RDFS/OWL
RDF	
  Data
Inferred
SPARQL
Endpoint
• Basic data element = a Triple
– A mini sentence
– Contains three Terms:
– Subject Predicate Object
• Example:
<http://xmpl/entities#martijn>
<http://xmpl/relations#has_favorite_beer>
<http://xmpl/entities#karmeliet>.
Take	
  home	
  Summary
• Combine triples to represent
knowledge
• Use terms from ONTOLOGIES
– COMMON VOCABULARIES
– POSSIBLE TO INFER
MEANING
• OMIABIS
• OBIB
• SNOMED/ICD
• MESH
?
• SPARQL searches for patterns
?
Interoperability between OBO	
  and
Semantic Technologies
• Originated from two separate	
  academic worlds
• Computing	
  applications of	
  OBO	
  mainly
consistencycheckingand overrepresentation
analysis
• Semantic Technologies:	
  much broader toolset
• Interoperability ?
– Direct	
  offering in	
  both formats
– Automated mapping
Where to find ontologies
• OBO	
  Foundry
• Bioportal;	
  NCBO
• Biogateway
• Bio2RDF
Where to find RDF	
  data
• Google	
  for SPARQL	
  endpoint
• =>	
  e.g.	
  EBI	
  databases
• Non	
  biological:	
  DBpedia
How	
  about Tim	
  Berners Lee’s vision
• We’re not there yet,	
  but	
  for bio	
  data	
  we’re
getting quite close
– The	
  explicitome
– Crowd sourcing
– Nanopublications
SPARQL	
  in	
  PRACTICE
SPARQL	
  :	
  Recap
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?label
FROM <http://graphName> WHERE {
?x rdfs:label ?label.
FILTER ( CONTAINS(?label, “dimethylalinine”) )
} LIMIT 10 ORDER BY ?label
SPARQL	
  :	
  Recap
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?label
FROM <http://graphName> WHERE {
?x rdfs:label ?label.
FILTER ( CONTAINS(?label, “dimethylalinine”) )
} LIMIT 10 ORDER BY ?label
• FIND	
  the	
  pattern	
  ?x rdfs:label ?label.
SPARQL	
  :	
  Recap
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?label
FROM <http://graphName> WHERE {
?x rdfs:label ?label.
FILTER ( CONTAINS(?label, “dimethylalinine”) )
} LIMIT 10 ORDER BY ?label
• FIND	
  the	
  pattern	
  ?x rdfs:label ?label.
• BIND	
  variables	
  ?label,	
  ?x
SPARQL	
  :	
  Recap
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?label
FROM <http://graphName> WHERE {
?x rdfs:label ?label.
FILTER ( CONTAINS(?label, “dimethylalinine”) )
} LIMIT 10 ORDER BY ?label
• FIND	
  the	
  pattern	
  ?x rdfs:label ?label.
• BIND	
  variables	
  ?label,	
  ?x
• RETRIEVE variable	
  ?label
SPARQL	
  :	
  Recap
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?label
FROM <http://graphName> WHERE {
?x rdfs:label ?label.
FILTER ( CONTAINS(?label, “dimethylalinine”) )
} LIMIT 10 ORDER BY ?label
• FIND	
  the	
  pattern	
  ?x rdfs:label ?label.
• BIND	
  variables	
  ?label,	
  ?x
• RETRIEVE	
  variable	
  ?label
• PREFIX:	
  replace	
  rdfs:label by	
  <http://www.w3.org/2000/01/rdf-schema#>
SPARQL	
  :	
  Recap
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?label
FROM <http://graphName> WHERE {
?x rdfs:label ?label.
FILTER ( CONTAINS(?label, “dimethylalinine”) )
} LIMIT 10 ORDER BY ?label
• FIND	
  the	
  pattern	
  ?x rdfs:label ?label.
• BIND	
  variables	
  ?label,	
  ?x
• RETRIEVE	
  variable	
  ?label
• PREFIX:	
  replace	
  rdfs:label by	
  <http://www.w3.org/2000/01/rdf-schema#>
• FILTER results	
  to	
  labels	
  containing	
  “dimethylalinine”
SPARQL	
  :	
  Recap
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?label
FROM <http://graphName> WHERE {
?x rdfs:label ?label.
FILTER ( CONTAINS(?label, “dimethylalinine”) )
} LIMIT 10 ORDER BY ?label
• FIND	
  the	
  pattern	
  ?x rdfs:label ?label.
• BIND	
  variables	
  ?label,	
  ?x
• RETRIEVE	
  variable	
  ?label
• PREFIX:	
  replace	
  rdfs:label by	
  <http://www.w3.org/2000/01/rdf-schema#>
• FILTER	
  results	
  to	
  labels	
  containing	
  “dimethylalinine”
• LIMIT	
  results	
  to	
  first	
  10	
  matches	
  ordered	
  by	
  label
SPARQL	
  :	
  Recap
DESCRIBE
<http://rdf.wikipathways.org/Pathway/WP1425_r74390/WP/Interaction/e077e>
• Useful	
  short	
  query	
  to	
  get	
  direct	
  links	
  from/to	
  a	
  
given	
  node
SPARQL	
  REFERENCE
http://www.w3.org/TR/sparql11-­‐overview/
Running	
  SPARQL
• From	
  a	
  web	
  interface
• From	
  a	
  web	
  interface
• Using	
  http
– HTTP	
  GET
– HTTP	
  POST	
  :	
  for	
  larger	
  query	
  strings
– Headers	
  determine	
  response	
  type	
  (JSON,	
  XML,	
  HTML)
http://…/sparql?default-graph-uri=<http://graphName>&query=URLENCODEDQUERYSTRING
Running	
  SPARQL
BIO-­‐ONTOLOGIES
BioPortal
Access
• From	
  the	
  web	
  interface	
  !
• SPARQL	
  endpoint:	
  using	
  API	
  key;	
  on	
  request	
  
• Running	
  a	
  local	
  copy:	
  download	
  VM	
  image;	
  on	
  
request
Exercises
• Find	
  a	
  term
• Find	
  ontologies	
  containing	
  a	
  term
• Browse	
  some	
  ontologies
• Check	
  the	
  NCBO	
  annotator	
  !
BIO-­‐DATA
EBI	
  RDF	
  Resources
EBI	
  RDF	
  Resources
Ensembl
Exercise
• From	
  uniprot find	
  proteins	
  that	
  are	
  annotated	
  
with	
  a	
  given	
  Gene	
  Ontology	
  term
PREFIX up:<http://purl.uniprot.org/core/>
PREFIX taxon:<http://purl.uniprot.org/taxonomy/>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX obo:<http://purl.obolibrary.org/obo/>
SELECT * WHERE {
?protein up:classifiedWith obo:GO_0004499.
?protein up:organism taxon:9606.
}
http://sparql.uniprot.org
Exercise
• From	
  Expression	
  Atlas	
  find	
  proteins	
  that	
  are	
  
differentially	
  expressed	
  (P	
  <	
  1e-­‐12)	
  in	
  Crohn’s
disease
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 dcterms: <http://purl.org/dc/terms/>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX sio: <http://semanticscience.org/resource/>
PREFIX efo: <http://www.ebi.ac.uk/efo/>
PREFIX atlas: <http://rdf.ebi.ac.uk/resource/atlas/>
PREFIX atlasterms: <http://rdf.ebi.ac.uk/terms/atlas/>
PREFIX up:<http://purl.uniprot.org/core/>
PREFIX biopax3:<http://www.biopax.org/release/biopax-level3.owl#>
SELECT distinct ?protein ?expressionValue ?pvalue WHERE {
?factor rdf:type efo:EFO_0000384 .
?value atlasterms:hasFactorValue ?factor .
?value atlasterms:isMeasurementOf ?probe .
?value atlasterms:pValue ?pvalue .
?value rdfs:label ?expressionValue .
?probe atlasterms:dbXref ?protein .
FILTER ( ?pvalue < 1e-12 )
FILTER ( strstarts(str(?protein),"http://purl.uniprot.org/uniprot/") )}
}ORDER BY ASC (?pvalue)
https://www.ebi.ac.uk/rdf/services/atlas/sparql
• Links	
  pathways	
  with	
  genes,	
  terms	
  from	
  
Pathway,	
  Cell	
  line	
  and	
  Disease	
  ontology,	
  
PubMed	
  references
• Models	
  individual	
  Interactions
• Can	
  be	
  downloaded	
  as	
  RDF
• Has	
  an	
  experimental	
  SPARQL	
  endpoint
WikiPathways
• Define	
  a	
  query	
  to	
  find	
  pathways	
  linked	
  to	
  
TNFalpha gene
Exercise
PREFIX wp: <http://vocabularies.wikipathways.org/wp#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?PathwayName where {
?geneProduct a wp:GeneProduct .
?geneProduct dc:identifier ?GeneID .
?geneProduct dcterms:isPartOf ?pathway .
?geneProduct rdfs:label ?geneName .
?pathway dc:identifier ?pathwayid .
?pathway dc:title ?PathwayName .
FILTER(str(?geneName) = "TNFalpha" )
}
http://sparql.wikipathways.org
• Try	
  this,	
  or	
  another	
  query
– Using	
  web	
  interface
– Using	
  http	
  get
• Define	
  a	
  simple	
  describe
• Use	
  a	
  web	
  tool	
  to	
  URLEncode the	
  query
• Submit	
  query	
  as	
  a	
  URL	
  parameter
Exercise
DisGeNet
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
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 void: <http://rdfs.org/ns/void#>
PREFIX sio: <http://semanticscience.org/resource/>
PREFIX ncit: <http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT DISTINCT ?gene WHERE {
?gda sio:SIO_000628 ?gene,?disease .
?gene a ncit:C16612 .
?gene skos:exactMatch ?GeneID .
?disease a ncit:C7057 .
?disease dcterms:title ?DiseaseName .
?gda sio:SIO_000216 ?scoreIRI .
?scoreIRI sio:SIO_000300 ?score .
FILTER (?score > "0.35"^^xsd:decimal)
FILTER (contains(str(?DiseaseName),"Crohn"))
}
http://rdf.disgenet.org/lodestar
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 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 void: <http://rdfs.org/ns/void#>
PREFIX sio: <http://semanticscience.org/resource/>
PREFIX ncit: <http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#>
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX wp: <http://vocabularies.wikipathways.org/wp#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dcterms: <http://purl.org/dc/terms/>
http://rdf.disgenet.org/lodestar
SELECT DISTINCT ?PathwayName WHERE {
?gda sio:SIO_000628 ?gene, ?disease .
?gene a ncit:C16612 .
?disease a ncit:C7057 .
?disease dcterms:title ?DiseaseName .
?gda sio:SIO_000216 ?scoreIRI .
?scoreIRI sio:SIO_000300 ?score .
FILTER (?score > "0.35"^^xsd:decimal)
FILTER (contains(str(?DiseaseName),"Crohn"))
SERVICE <http://sparql.wikipathways.org/> {
?geneProduct a wp:GeneProduct .
?geneProduct dc:identifier ?gene .
?geneProduct dcterms:isPartOf ?pathway .
?pathway dc:identifier ?pathwayid .
?pathway dc:title ?PathwayName .
}
}
http://rdf.disgenet.org/lodestar/sparql
Bio ontologies and semantic technologies

More Related Content

What's hot

Harvester_presentaion
Harvester_presentaionHarvester_presentaion
Harvester_presentaion
Ashwin Kasilingam
 
2020 02 11_biological_databases_part1
2020 02 11_biological_databases_part12020 02 11_biological_databases_part1
2020 02 11_biological_databases_part1
Prof. Wim Van Criekinge
 
Triple Stores
Triple StoresTriple Stores
Triple Stores
Stephan Volmer
 
Linked (Open) Data
Linked (Open) DataLinked (Open) Data
Linked (Open) Data
Bernhard Haslhofer
 
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
Prof. Wim Van Criekinge
 
SWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDFSWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDF
Mariano Rodriguez-Muro
 
2019 03 05_biological_databases_part3_v_upload
2019 03 05_biological_databases_part3_v_upload2019 03 05_biological_databases_part3_v_upload
2019 03 05_biological_databases_part3_v_upload
Prof. Wim Van Criekinge
 
2019 03 05_biological_databases_part4_v_upload
2019 03 05_biological_databases_part4_v_upload2019 03 05_biological_databases_part4_v_upload
2019 03 05_biological_databases_part4_v_upload
Prof. Wim Van Criekinge
 
Spark meetup london share and analyse genomic data at scale with spark, adam...
Spark meetup london  share and analyse genomic data at scale with spark, adam...Spark meetup london  share and analyse genomic data at scale with spark, adam...
Spark meetup london share and analyse genomic data at scale with spark, adam...
Andy Petrella
 
ADAM—Spark Summit, 2014
ADAM—Spark Summit, 2014ADAM—Spark Summit, 2014
ADAM—Spark Summit, 2014
fnothaft
 
2009 Dils Flyweb
2009 Dils Flyweb2009 Dils Flyweb
2009 Dils Flyweb
Jun Zhao
 
Cross language information retrieval (clir)slide
Cross language information retrieval (clir)slideCross language information retrieval (clir)slide
Cross language information retrieval (clir)slide
Mohd Iqbal Al-farabi
 
Strata-Hadoop 2015 Presentation
Strata-Hadoop 2015 PresentationStrata-Hadoop 2015 Presentation
Strata-Hadoop 2015 Presentation
Timothy Danford
 
A Comparison Between Python APIs For RDF Processing
A Comparison Between Python APIs For RDF ProcessingA Comparison Between Python APIs For RDF Processing
A Comparison Between Python APIs For RDF Processing
lucianb
 
Scaling the (evolving) web data –at low cost-
Scaling the (evolving) web data –at low cost-Scaling the (evolving) web data –at low cost-
Scaling the (evolving) web data –at low cost-
WU (Vienna University of Economics and Business)
 
Cross-lingual Information Retrieval
Cross-lingual Information RetrievalCross-lingual Information Retrieval
Cross-lingual Information Retrieval
Shadi Saleh
 
Verifying Integrity Constraints of a RDF-based WordNet
Verifying Integrity Constraints of a RDF-based WordNetVerifying Integrity Constraints of a RDF-based WordNet
Verifying Integrity Constraints of a RDF-based WordNet
Alexandre Rademaker
 
Cross-Language Information Retrieval
Cross-Language Information RetrievalCross-Language Information Retrieval
Cross-Language Information Retrieval
Sumin Byeon
 
07 04-06
07 04-0607 04-06
07 04-06
Gouranga123
 
Spark Summit East 2015
Spark Summit East 2015Spark Summit East 2015
Spark Summit East 2015
Timothy Danford
 

What's hot (20)

Harvester_presentaion
Harvester_presentaionHarvester_presentaion
Harvester_presentaion
 
2020 02 11_biological_databases_part1
2020 02 11_biological_databases_part12020 02 11_biological_databases_part1
2020 02 11_biological_databases_part1
 
Triple Stores
Triple StoresTriple Stores
Triple Stores
 
Linked (Open) Data
Linked (Open) DataLinked (Open) Data
Linked (Open) Data
 
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
 
SWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDFSWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDF
 
2019 03 05_biological_databases_part3_v_upload
2019 03 05_biological_databases_part3_v_upload2019 03 05_biological_databases_part3_v_upload
2019 03 05_biological_databases_part3_v_upload
 
2019 03 05_biological_databases_part4_v_upload
2019 03 05_biological_databases_part4_v_upload2019 03 05_biological_databases_part4_v_upload
2019 03 05_biological_databases_part4_v_upload
 
Spark meetup london share and analyse genomic data at scale with spark, adam...
Spark meetup london  share and analyse genomic data at scale with spark, adam...Spark meetup london  share and analyse genomic data at scale with spark, adam...
Spark meetup london share and analyse genomic data at scale with spark, adam...
 
ADAM—Spark Summit, 2014
ADAM—Spark Summit, 2014ADAM—Spark Summit, 2014
ADAM—Spark Summit, 2014
 
2009 Dils Flyweb
2009 Dils Flyweb2009 Dils Flyweb
2009 Dils Flyweb
 
Cross language information retrieval (clir)slide
Cross language information retrieval (clir)slideCross language information retrieval (clir)slide
Cross language information retrieval (clir)slide
 
Strata-Hadoop 2015 Presentation
Strata-Hadoop 2015 PresentationStrata-Hadoop 2015 Presentation
Strata-Hadoop 2015 Presentation
 
A Comparison Between Python APIs For RDF Processing
A Comparison Between Python APIs For RDF ProcessingA Comparison Between Python APIs For RDF Processing
A Comparison Between Python APIs For RDF Processing
 
Scaling the (evolving) web data –at low cost-
Scaling the (evolving) web data –at low cost-Scaling the (evolving) web data –at low cost-
Scaling the (evolving) web data –at low cost-
 
Cross-lingual Information Retrieval
Cross-lingual Information RetrievalCross-lingual Information Retrieval
Cross-lingual Information Retrieval
 
Verifying Integrity Constraints of a RDF-based WordNet
Verifying Integrity Constraints of a RDF-based WordNetVerifying Integrity Constraints of a RDF-based WordNet
Verifying Integrity Constraints of a RDF-based WordNet
 
Cross-Language Information Retrieval
Cross-Language Information RetrievalCross-Language Information Retrieval
Cross-Language Information Retrieval
 
07 04-06
07 04-0607 04-06
07 04-06
 
Spark Summit East 2015
Spark Summit East 2015Spark Summit East 2015
Spark Summit East 2015
 

Viewers also liked

Mysql all
Mysql allMysql all
2016 bioinformatics i_wim_vancriekinge_vupload
2016 bioinformatics i_wim_vancriekinge_vupload2016 bioinformatics i_wim_vancriekinge_vupload
2016 bioinformatics i_wim_vancriekinge_vupload
Prof. Wim Van Criekinge
 
2016 03 15_biological_databases_part4
2016 03 15_biological_databases_part42016 03 15_biological_databases_part4
2016 03 15_biological_databases_part4
Prof. Wim Van Criekinge
 
2016 02 23_biological_databases_part2
2016 02 23_biological_databases_part22016 02 23_biological_databases_part2
2016 02 23_biological_databases_part2
Prof. Wim Van Criekinge
 
mHealth
mHealthmHealth
2016 bioinformatics i_python_part_2_strings_wim_vancriekinge
2016 bioinformatics i_python_part_2_strings_wim_vancriekinge2016 bioinformatics i_python_part_2_strings_wim_vancriekinge
2016 bioinformatics i_python_part_2_strings_wim_vancriekinge
Prof. Wim Van Criekinge
 
2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge
Prof. Wim Van Criekinge
 
2016 bioinformatics i_alignments_wim_vancriekinge
2016 bioinformatics i_alignments_wim_vancriekinge2016 bioinformatics i_alignments_wim_vancriekinge
2016 bioinformatics i_alignments_wim_vancriekinge
Prof. Wim Van Criekinge
 
2016 bioinformatics i_python_part_3_io_and_strings_wim_vancriekinge
2016 bioinformatics i_python_part_3_io_and_strings_wim_vancriekinge2016 bioinformatics i_python_part_3_io_and_strings_wim_vancriekinge
2016 bioinformatics i_python_part_3_io_and_strings_wim_vancriekinge
Prof. Wim Van Criekinge
 
2016 bioinformatics i_databases_wim_vancriekinge
2016 bioinformatics i_databases_wim_vancriekinge2016 bioinformatics i_databases_wim_vancriekinge
2016 bioinformatics i_databases_wim_vancriekinge
Prof. Wim Van Criekinge
 
2016 bioinformatics i_bio_cheminformatics_wimvancriekinge
2016 bioinformatics i_bio_cheminformatics_wimvancriekinge2016 bioinformatics i_bio_cheminformatics_wimvancriekinge
2016 bioinformatics i_bio_cheminformatics_wimvancriekinge
Prof. Wim Van Criekinge
 
2016 bioinformatics i_score_matrices_wim_vancriekinge
2016 bioinformatics i_score_matrices_wim_vancriekinge2016 bioinformatics i_score_matrices_wim_vancriekinge
2016 bioinformatics i_score_matrices_wim_vancriekinge
Prof. Wim Van Criekinge
 
2017 biological databasespart2
2017 biological databasespart22017 biological databasespart2
2017 biological databasespart2
Prof. Wim Van Criekinge
 
Galaxy dna-seq-variant calling-presentationandpractical_gent_april-2016
Galaxy dna-seq-variant calling-presentationandpractical_gent_april-2016Galaxy dna-seq-variant calling-presentationandpractical_gent_april-2016
Galaxy dna-seq-variant calling-presentationandpractical_gent_april-2016
Prof. Wim Van Criekinge
 
2016 bioinformatics i_bio_python_wimvancriekinge
2016 bioinformatics i_bio_python_wimvancriekinge2016 bioinformatics i_bio_python_wimvancriekinge
2016 bioinformatics i_bio_python_wimvancriekinge
Prof. Wim Van Criekinge
 
2016 bioinformatics i_io_wim_vancriekinge
2016 bioinformatics i_io_wim_vancriekinge2016 bioinformatics i_io_wim_vancriekinge
2016 bioinformatics i_io_wim_vancriekinge
Prof. Wim Van Criekinge
 
2016 bioinformatics i_phylogenetics_wim_vancriekinge
2016 bioinformatics i_phylogenetics_wim_vancriekinge2016 bioinformatics i_phylogenetics_wim_vancriekinge
2016 bioinformatics i_phylogenetics_wim_vancriekinge
Prof. Wim Van Criekinge
 
2016 bioinformatics i_bio_python_ii_wimvancriekinge
2016 bioinformatics i_bio_python_ii_wimvancriekinge2016 bioinformatics i_bio_python_ii_wimvancriekinge
2016 bioinformatics i_bio_python_ii_wimvancriekinge
Prof. Wim Van Criekinge
 
2016 bioinformatics i_proteins_wim_vancriekinge
2016 bioinformatics i_proteins_wim_vancriekinge2016 bioinformatics i_proteins_wim_vancriekinge
2016 bioinformatics i_proteins_wim_vancriekinge
Prof. Wim Van Criekinge
 
2017 biological databases_part1_vupload
2017 biological databases_part1_vupload2017 biological databases_part1_vupload
2017 biological databases_part1_vupload
Prof. Wim Van Criekinge
 

Viewers also liked (20)

Mysql all
Mysql allMysql all
Mysql all
 
2016 bioinformatics i_wim_vancriekinge_vupload
2016 bioinformatics i_wim_vancriekinge_vupload2016 bioinformatics i_wim_vancriekinge_vupload
2016 bioinformatics i_wim_vancriekinge_vupload
 
2016 03 15_biological_databases_part4
2016 03 15_biological_databases_part42016 03 15_biological_databases_part4
2016 03 15_biological_databases_part4
 
2016 02 23_biological_databases_part2
2016 02 23_biological_databases_part22016 02 23_biological_databases_part2
2016 02 23_biological_databases_part2
 
mHealth
mHealthmHealth
mHealth
 
2016 bioinformatics i_python_part_2_strings_wim_vancriekinge
2016 bioinformatics i_python_part_2_strings_wim_vancriekinge2016 bioinformatics i_python_part_2_strings_wim_vancriekinge
2016 bioinformatics i_python_part_2_strings_wim_vancriekinge
 
2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge2016 bioinformatics i_python_part_1_wim_vancriekinge
2016 bioinformatics i_python_part_1_wim_vancriekinge
 
2016 bioinformatics i_alignments_wim_vancriekinge
2016 bioinformatics i_alignments_wim_vancriekinge2016 bioinformatics i_alignments_wim_vancriekinge
2016 bioinformatics i_alignments_wim_vancriekinge
 
2016 bioinformatics i_python_part_3_io_and_strings_wim_vancriekinge
2016 bioinformatics i_python_part_3_io_and_strings_wim_vancriekinge2016 bioinformatics i_python_part_3_io_and_strings_wim_vancriekinge
2016 bioinformatics i_python_part_3_io_and_strings_wim_vancriekinge
 
2016 bioinformatics i_databases_wim_vancriekinge
2016 bioinformatics i_databases_wim_vancriekinge2016 bioinformatics i_databases_wim_vancriekinge
2016 bioinformatics i_databases_wim_vancriekinge
 
2016 bioinformatics i_bio_cheminformatics_wimvancriekinge
2016 bioinformatics i_bio_cheminformatics_wimvancriekinge2016 bioinformatics i_bio_cheminformatics_wimvancriekinge
2016 bioinformatics i_bio_cheminformatics_wimvancriekinge
 
2016 bioinformatics i_score_matrices_wim_vancriekinge
2016 bioinformatics i_score_matrices_wim_vancriekinge2016 bioinformatics i_score_matrices_wim_vancriekinge
2016 bioinformatics i_score_matrices_wim_vancriekinge
 
2017 biological databasespart2
2017 biological databasespart22017 biological databasespart2
2017 biological databasespart2
 
Galaxy dna-seq-variant calling-presentationandpractical_gent_april-2016
Galaxy dna-seq-variant calling-presentationandpractical_gent_april-2016Galaxy dna-seq-variant calling-presentationandpractical_gent_april-2016
Galaxy dna-seq-variant calling-presentationandpractical_gent_april-2016
 
2016 bioinformatics i_bio_python_wimvancriekinge
2016 bioinformatics i_bio_python_wimvancriekinge2016 bioinformatics i_bio_python_wimvancriekinge
2016 bioinformatics i_bio_python_wimvancriekinge
 
2016 bioinformatics i_io_wim_vancriekinge
2016 bioinformatics i_io_wim_vancriekinge2016 bioinformatics i_io_wim_vancriekinge
2016 bioinformatics i_io_wim_vancriekinge
 
2016 bioinformatics i_phylogenetics_wim_vancriekinge
2016 bioinformatics i_phylogenetics_wim_vancriekinge2016 bioinformatics i_phylogenetics_wim_vancriekinge
2016 bioinformatics i_phylogenetics_wim_vancriekinge
 
2016 bioinformatics i_bio_python_ii_wimvancriekinge
2016 bioinformatics i_bio_python_ii_wimvancriekinge2016 bioinformatics i_bio_python_ii_wimvancriekinge
2016 bioinformatics i_bio_python_ii_wimvancriekinge
 
2016 bioinformatics i_proteins_wim_vancriekinge
2016 bioinformatics i_proteins_wim_vancriekinge2016 bioinformatics i_proteins_wim_vancriekinge
2016 bioinformatics i_proteins_wim_vancriekinge
 
2017 biological databases_part1_vupload
2017 biological databases_part1_vupload2017 biological databases_part1_vupload
2017 biological databases_part1_vupload
 

Similar to Bio ontologies and semantic technologies

An introduction to Semantic Web and Linked Data
An introduction to Semantic  Web and Linked DataAn introduction to Semantic  Web and Linked Data
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataAn introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
Fabien Gandon
 
Aidan's PhD Viva
Aidan's PhD VivaAidan's PhD Viva
Aidan's PhD Viva
Aidan Hogan
 
ontology.ppt
ontology.pptontology.ppt
ontology.ppt
Prerak10
 
DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World." DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World."
Avalon Media System
 
Knowledge mangement
Knowledge mangementKnowledge mangement
Knowledge mangement
Serendipity Seraph
 
Knowledge Representation, Semantic Web
Knowledge Representation, Semantic WebKnowledge Representation, Semantic Web
Knowledge Representation, Semantic Web
Serendipity Seraph
 
Furore devdays 2017- rdf1(solbrig)
Furore devdays 2017- rdf1(solbrig)Furore devdays 2017- rdf1(solbrig)
Furore devdays 2017- rdf1(solbrig)
DevDays
 
Linked data for librarians
Linked data for librariansLinked data for librarians
Linked data for librarians
trevorthornton
 
Publishing and Using Linked Open Data - Day 2
Publishing and Using Linked Open Data - Day 2Publishing and Using Linked Open Data - Day 2
Publishing and Using Linked Open Data - Day 2
Richard Urban
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
Dr Sukhpal Singh Gill
 
NISO/DCMI Webinar: International Bibliographic Standards, Linked Data, and th...
NISO/DCMI Webinar: International Bibliographic Standards, Linked Data, and th...NISO/DCMI Webinar: International Bibliographic Standards, Linked Data, and th...
NISO/DCMI Webinar: International Bibliographic Standards, Linked Data, and th...
National Information Standards Organization (NISO)
 
Publishing Data Using Semantic Web Technologies
Publishing Data Using Semantic Web TechnologiesPublishing Data Using Semantic Web Technologies
Publishing Data Using Semantic Web Technologies
Nikolaos Konstantinou
 
semantic web & natural language
semantic web & natural languagesemantic web & natural language
semantic web & natural language
Nurfadhlina Mohd Sharef
 
sw owl
 sw owl sw owl
20080917 Rev
20080917 Rev20080917 Rev
20080917 Rev
charper
 
First Steps in Semantic Data Modelling and Search & Analytics in the Cloud
First Steps in Semantic Data Modelling and Search & Analytics in the CloudFirst Steps in Semantic Data Modelling and Search & Analytics in the Cloud
First Steps in Semantic Data Modelling and Search & Analytics in the Cloud
Ontotext
 
Hack U Barcelona 2011
Hack U Barcelona 2011Hack U Barcelona 2011
Hack U Barcelona 2011
Peter Mika
 
Usage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application Scenarios
EUCLID project
 

Similar to Bio ontologies and semantic technologies (20)

An introduction to Semantic Web and Linked Data
An introduction to Semantic  Web and Linked DataAn introduction to Semantic  Web and Linked Data
An introduction to Semantic Web and Linked Data
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataAn introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
 
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013W3C Tutorial on Semantic Web and Linked Data at WWW 2013
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
 
Aidan's PhD Viva
Aidan's PhD VivaAidan's PhD Viva
Aidan's PhD Viva
 
ontology.ppt
ontology.pptontology.ppt
ontology.ppt
 
DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World." DLF 2015 Presentation, "RDF in the Real World."
DLF 2015 Presentation, "RDF in the Real World."
 
Knowledge mangement
Knowledge mangementKnowledge mangement
Knowledge mangement
 
Knowledge Representation, Semantic Web
Knowledge Representation, Semantic WebKnowledge Representation, Semantic Web
Knowledge Representation, Semantic Web
 
Furore devdays 2017- rdf1(solbrig)
Furore devdays 2017- rdf1(solbrig)Furore devdays 2017- rdf1(solbrig)
Furore devdays 2017- rdf1(solbrig)
 
Linked data for librarians
Linked data for librariansLinked data for librarians
Linked data for librarians
 
Publishing and Using Linked Open Data - Day 2
Publishing and Using Linked Open Data - Day 2Publishing and Using Linked Open Data - Day 2
Publishing and Using Linked Open Data - Day 2
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
 
NISO/DCMI Webinar: International Bibliographic Standards, Linked Data, and th...
NISO/DCMI Webinar: International Bibliographic Standards, Linked Data, and th...NISO/DCMI Webinar: International Bibliographic Standards, Linked Data, and th...
NISO/DCMI Webinar: International Bibliographic Standards, Linked Data, and th...
 
Publishing Data Using Semantic Web Technologies
Publishing Data Using Semantic Web TechnologiesPublishing Data Using Semantic Web Technologies
Publishing Data Using Semantic Web Technologies
 
semantic web & natural language
semantic web & natural languagesemantic web & natural language
semantic web & natural language
 
sw owl
 sw owl sw owl
sw owl
 
20080917 Rev
20080917 Rev20080917 Rev
20080917 Rev
 
First Steps in Semantic Data Modelling and Search & Analytics in the Cloud
First Steps in Semantic Data Modelling and Search & Analytics in the CloudFirst Steps in Semantic Data Modelling and Search & Analytics in the Cloud
First Steps in Semantic Data Modelling and Search & Analytics in the Cloud
 
Hack U Barcelona 2011
Hack U Barcelona 2011Hack U Barcelona 2011
Hack U Barcelona 2011
 
Usage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application Scenarios
 

More from Prof. Wim Van Criekinge

2019 03 05_biological_databases_part5_v_upload
2019 03 05_biological_databases_part5_v_upload2019 03 05_biological_databases_part5_v_upload
2019 03 05_biological_databases_part5_v_upload
Prof. Wim Van Criekinge
 
2019 02 21_biological_databases_part2_v_upload
2019 02 21_biological_databases_part2_v_upload2019 02 21_biological_databases_part2_v_upload
2019 02 21_biological_databases_part2_v_upload
Prof. Wim Van Criekinge
 
P7 2018 biopython3
P7 2018 biopython3P7 2018 biopython3
P7 2018 biopython3
Prof. Wim Van Criekinge
 
P6 2018 biopython2b
P6 2018 biopython2bP6 2018 biopython2b
P6 2018 biopython2b
Prof. Wim Van Criekinge
 
P4 2018 io_functions
P4 2018 io_functionsP4 2018 io_functions
P4 2018 io_functions
Prof. Wim Van Criekinge
 
P3 2018 python_regexes
P3 2018 python_regexesP3 2018 python_regexes
P3 2018 python_regexes
Prof. Wim Van Criekinge
 
T1 2018 bioinformatics
T1 2018 bioinformaticsT1 2018 bioinformatics
T1 2018 bioinformatics
Prof. Wim Van Criekinge
 
P1 2018 python
P1 2018 pythonP1 2018 python
P1 2018 python
Prof. Wim Van Criekinge
 
2018 05 08_biological_databases_no_sql
2018 05 08_biological_databases_no_sql2018 05 08_biological_databases_no_sql
2018 05 08_biological_databases_no_sql
Prof. Wim Van Criekinge
 
2018 03 27_biological_databases_part4_v_upload
2018 03 27_biological_databases_part4_v_upload2018 03 27_biological_databases_part4_v_upload
2018 03 27_biological_databases_part4_v_upload
Prof. Wim Van Criekinge
 
2018 03 20_biological_databases_part3
2018 03 20_biological_databases_part32018 03 20_biological_databases_part3
2018 03 20_biological_databases_part3
Prof. Wim Van Criekinge
 
2018 02 20_biological_databases_part2_v_upload
2018 02 20_biological_databases_part2_v_upload2018 02 20_biological_databases_part2_v_upload
2018 02 20_biological_databases_part2_v_upload
Prof. Wim Van Criekinge
 
P7 2017 biopython3
P7 2017 biopython3P7 2017 biopython3
P7 2017 biopython3
Prof. Wim Van Criekinge
 
P6 2017 biopython2
P6 2017 biopython2P6 2017 biopython2
P6 2017 biopython2
Prof. Wim Van Criekinge
 
Van criekinge 2017_11_13_rodebiotech
Van criekinge 2017_11_13_rodebiotechVan criekinge 2017_11_13_rodebiotech
Van criekinge 2017_11_13_rodebiotech
Prof. Wim Van Criekinge
 
P4 2017 io
P4 2017 ioP4 2017 io
T5 2017 database_searching_v_upload
T5 2017 database_searching_v_uploadT5 2017 database_searching_v_upload
T5 2017 database_searching_v_upload
Prof. Wim Van Criekinge
 
P1 3 2017_python_exercises
P1 3 2017_python_exercisesP1 3 2017_python_exercises
P1 3 2017_python_exercises
Prof. Wim Van Criekinge
 
P3 2017 python_regexes
P3 2017 python_regexesP3 2017 python_regexes
P3 2017 python_regexes
Prof. Wim Van Criekinge
 
P2 2017 python_strings
P2 2017 python_stringsP2 2017 python_strings
P2 2017 python_strings
Prof. Wim Van Criekinge
 

More from Prof. Wim Van Criekinge (20)

2019 03 05_biological_databases_part5_v_upload
2019 03 05_biological_databases_part5_v_upload2019 03 05_biological_databases_part5_v_upload
2019 03 05_biological_databases_part5_v_upload
 
2019 02 21_biological_databases_part2_v_upload
2019 02 21_biological_databases_part2_v_upload2019 02 21_biological_databases_part2_v_upload
2019 02 21_biological_databases_part2_v_upload
 
P7 2018 biopython3
P7 2018 biopython3P7 2018 biopython3
P7 2018 biopython3
 
P6 2018 biopython2b
P6 2018 biopython2bP6 2018 biopython2b
P6 2018 biopython2b
 
P4 2018 io_functions
P4 2018 io_functionsP4 2018 io_functions
P4 2018 io_functions
 
P3 2018 python_regexes
P3 2018 python_regexesP3 2018 python_regexes
P3 2018 python_regexes
 
T1 2018 bioinformatics
T1 2018 bioinformaticsT1 2018 bioinformatics
T1 2018 bioinformatics
 
P1 2018 python
P1 2018 pythonP1 2018 python
P1 2018 python
 
2018 05 08_biological_databases_no_sql
2018 05 08_biological_databases_no_sql2018 05 08_biological_databases_no_sql
2018 05 08_biological_databases_no_sql
 
2018 03 27_biological_databases_part4_v_upload
2018 03 27_biological_databases_part4_v_upload2018 03 27_biological_databases_part4_v_upload
2018 03 27_biological_databases_part4_v_upload
 
2018 03 20_biological_databases_part3
2018 03 20_biological_databases_part32018 03 20_biological_databases_part3
2018 03 20_biological_databases_part3
 
2018 02 20_biological_databases_part2_v_upload
2018 02 20_biological_databases_part2_v_upload2018 02 20_biological_databases_part2_v_upload
2018 02 20_biological_databases_part2_v_upload
 
P7 2017 biopython3
P7 2017 biopython3P7 2017 biopython3
P7 2017 biopython3
 
P6 2017 biopython2
P6 2017 biopython2P6 2017 biopython2
P6 2017 biopython2
 
Van criekinge 2017_11_13_rodebiotech
Van criekinge 2017_11_13_rodebiotechVan criekinge 2017_11_13_rodebiotech
Van criekinge 2017_11_13_rodebiotech
 
P4 2017 io
P4 2017 ioP4 2017 io
P4 2017 io
 
T5 2017 database_searching_v_upload
T5 2017 database_searching_v_uploadT5 2017 database_searching_v_upload
T5 2017 database_searching_v_upload
 
P1 3 2017_python_exercises
P1 3 2017_python_exercisesP1 3 2017_python_exercises
P1 3 2017_python_exercises
 
P3 2017 python_regexes
P3 2017 python_regexesP3 2017 python_regexes
P3 2017 python_regexes
 
P2 2017 python_strings
P2 2017 python_stringsP2 2017 python_strings
P2 2017 python_strings
 

Recently uploaded

How to Manage Reception Report in Odoo 17
How to Manage Reception Report in Odoo 17How to Manage Reception Report in Odoo 17
How to Manage Reception Report in Odoo 17
Celine George
 
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptxCapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapitolTechU
 
How to Fix [Errno 98] address already in use
How to Fix [Errno 98] address already in useHow to Fix [Errno 98] address already in use
How to Fix [Errno 98] address already in use
Celine George
 
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
220711130100 udita Chakraborty  Aims and objectives of national policy on inf...220711130100 udita Chakraborty  Aims and objectives of national policy on inf...
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
Kalna College
 
FinalSD_MathematicsGrade7_Session2_Unida.pptx
FinalSD_MathematicsGrade7_Session2_Unida.pptxFinalSD_MathematicsGrade7_Session2_Unida.pptx
FinalSD_MathematicsGrade7_Session2_Unida.pptx
JennySularte1
 
Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)
nitinpv4ai
 
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
TechSoup
 
A Visual Guide to 1 Samuel | A Tale of Two Hearts
A Visual Guide to 1 Samuel | A Tale of Two HeartsA Visual Guide to 1 Samuel | A Tale of Two Hearts
A Visual Guide to 1 Samuel | A Tale of Two Hearts
Steve Thomason
 
Haunted Houses by H W Longfellow for class 10
Haunted Houses by H W Longfellow for class 10Haunted Houses by H W Longfellow for class 10
Haunted Houses by H W Longfellow for class 10
nitinpv4ai
 
欧洲杯下注-欧洲杯下注押注官网-欧洲杯下注押注网站|【​网址​🎉ac44.net🎉​】
欧洲杯下注-欧洲杯下注押注官网-欧洲杯下注押注网站|【​网址​🎉ac44.net🎉​】欧洲杯下注-欧洲杯下注押注官网-欧洲杯下注押注网站|【​网址​🎉ac44.net🎉​】
欧洲杯下注-欧洲杯下注押注官网-欧洲杯下注押注网站|【​网址​🎉ac44.net🎉​】
andagarcia212
 
Observational Learning
Observational Learning Observational Learning
Observational Learning
sanamushtaq922
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 - CẢ NĂM - FRIENDS PLUS - NĂM HỌC 2023-2024 (B...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 - CẢ NĂM - FRIENDS PLUS - NĂM HỌC 2023-2024 (B...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 - CẢ NĂM - FRIENDS PLUS - NĂM HỌC 2023-2024 (B...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 - CẢ NĂM - FRIENDS PLUS - NĂM HỌC 2023-2024 (B...
Nguyen Thanh Tu Collection
 
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.pptLevel 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Henry Hollis
 
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGHKHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
shreyassri1208
 
How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17
Celine George
 
HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.
deepaannamalai16
 
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
EduSkills OECD
 
A Free 200-Page eBook ~ Brain and Mind Exercise.pptx
A Free 200-Page eBook ~ Brain and Mind Exercise.pptxA Free 200-Page eBook ~ Brain and Mind Exercise.pptx
A Free 200-Page eBook ~ Brain and Mind Exercise.pptx
OH TEIK BIN
 
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptxRESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
zuzanka
 
220711130082 Srabanti Bag Internet Resources For Natural Science
220711130082 Srabanti Bag Internet Resources For Natural Science220711130082 Srabanti Bag Internet Resources For Natural Science
220711130082 Srabanti Bag Internet Resources For Natural Science
Kalna College
 

Recently uploaded (20)

How to Manage Reception Report in Odoo 17
How to Manage Reception Report in Odoo 17How to Manage Reception Report in Odoo 17
How to Manage Reception Report in Odoo 17
 
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptxCapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
 
How to Fix [Errno 98] address already in use
How to Fix [Errno 98] address already in useHow to Fix [Errno 98] address already in use
How to Fix [Errno 98] address already in use
 
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
220711130100 udita Chakraborty  Aims and objectives of national policy on inf...220711130100 udita Chakraborty  Aims and objectives of national policy on inf...
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
 
FinalSD_MathematicsGrade7_Session2_Unida.pptx
FinalSD_MathematicsGrade7_Session2_Unida.pptxFinalSD_MathematicsGrade7_Session2_Unida.pptx
FinalSD_MathematicsGrade7_Session2_Unida.pptx
 
Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)
 
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
 
A Visual Guide to 1 Samuel | A Tale of Two Hearts
A Visual Guide to 1 Samuel | A Tale of Two HeartsA Visual Guide to 1 Samuel | A Tale of Two Hearts
A Visual Guide to 1 Samuel | A Tale of Two Hearts
 
Haunted Houses by H W Longfellow for class 10
Haunted Houses by H W Longfellow for class 10Haunted Houses by H W Longfellow for class 10
Haunted Houses by H W Longfellow for class 10
 
欧洲杯下注-欧洲杯下注押注官网-欧洲杯下注押注网站|【​网址​🎉ac44.net🎉​】
欧洲杯下注-欧洲杯下注押注官网-欧洲杯下注押注网站|【​网址​🎉ac44.net🎉​】欧洲杯下注-欧洲杯下注押注官网-欧洲杯下注押注网站|【​网址​🎉ac44.net🎉​】
欧洲杯下注-欧洲杯下注押注官网-欧洲杯下注押注网站|【​网址​🎉ac44.net🎉​】
 
Observational Learning
Observational Learning Observational Learning
Observational Learning
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 - CẢ NĂM - FRIENDS PLUS - NĂM HỌC 2023-2024 (B...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 - CẢ NĂM - FRIENDS PLUS - NĂM HỌC 2023-2024 (B...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 - CẢ NĂM - FRIENDS PLUS - NĂM HỌC 2023-2024 (B...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 - CẢ NĂM - FRIENDS PLUS - NĂM HỌC 2023-2024 (B...
 
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.pptLevel 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
 
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGHKHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
KHUSWANT SINGH.pptx ALL YOU NEED TO KNOW ABOUT KHUSHWANT SINGH
 
How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17
 
HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.HYPERTENSION - SLIDE SHARE PRESENTATION.
HYPERTENSION - SLIDE SHARE PRESENTATION.
 
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
 
A Free 200-Page eBook ~ Brain and Mind Exercise.pptx
A Free 200-Page eBook ~ Brain and Mind Exercise.pptxA Free 200-Page eBook ~ Brain and Mind Exercise.pptx
A Free 200-Page eBook ~ Brain and Mind Exercise.pptx
 
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptxRESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
 
220711130082 Srabanti Bag Internet Resources For Natural Science
220711130082 Srabanti Bag Internet Resources For Natural Science220711130082 Srabanti Bag Internet Resources For Natural Science
220711130082 Srabanti Bag Internet Resources For Natural Science
 

Bio ontologies and semantic technologies

  • 1. Introduction to Bio  Ontologies and The  Semantic Web M.  Devisscher Biological Databases
  • 2. Overview • Bio  ontologies • Semantic technologies • Practical  sessions:   – Protégé and a  bio  database – DYI  SPARQL  endpoint
  • 3. Introduction • Ontologies:  what are  ontologies ? • Ontologies in  the  bio  domain:  OBO  Foundry • Ontologies in  the  semantic web • OBO • RDF,  IRI,  TTL,  SPARQL,  OWL
  • 4. What is  an ontology ? • Ontology =  a  specification of  a   conceptualization (Gruber 1993) • In  practice:  controlled vocabularies – Disambiguation (e.g.  Bank,  Running) – Language/species  independence • Very useful in  biology – complex  hierarchies of   terms
  • 5. Ontologies in  the  bio  Domain • OBO  Foundry -­‐ open  Biological and Biomedical Ontologies • Common  principles • List  of  ontologies at   http://www.obofoundry.org • OBO  is  also a  data  format  .obo
  • 6. SideTrack – The  Gene  Ontology • The  mother of  bio-­‐ontologies:  the  GO – Oldest bio  – ontology – Many practical  applications: • Cross  species  studies • Term  abundance studies • GO  is  an OBO  ontology
  • 7. SideTrack – The  Gene  Ontology • Collection  of  terms
  • 8. SideTrack – The  Gene  Ontology • Relationships between terms: – Subsumption:  is_a – Partonomic:  part_of • These  terms are  transitive • Terms form  a  DAG  (directed,  acyclic graph) • Some information  can be inferred
  • 9. SideTrack – The  Gene  Ontology
  • 10. SideTrack – The  Gene  Ontology
  • 11. SideTrack – The  Gene  Ontology • Know more:  www.geneontology.org • AMIGO  :  the  GO  browser
  • 12. Gene  Ontology  Annotation • Gene  ontology  annotations  GOA  =  entities   labeled  with  GO  terms – E.g.  Uniprot-­‐GOA
  • 13. Semantic Technologies • The  semantic web:  Tim  Berners Lee  et  al,   Scientific American  2001
  • 14. Semantic Technologies • W3C:  a  set  of  specifications http://www.w3.org/standards/semanticweb/ • A  mature toolset – Dedicated data  formats – Storage – Query  language
  • 15. Semantic Technologies • Basic  data  element  =  a  Triple – A  mini  sentence – Contains three Terms: • Subject  Predicate Object
  • 16. Semantic Technologies • Representation of  triples – Basic  data  format:  RDF/XML – All data  expressed in  RDF  (Resource  Description Framework) – Several compatible  syntaxes:  TTL  (Terse Triple   Language)  most  human  readable
  • 18. The  Turtle Syntax • Basic  Triple <http://bioinformatics.be/entities#martijn> <http://bioinformatics.be/relations#has_favorite_beer> <http://bioinformatics.be/entities#karmeliet>.
  • 19. The  Turtle Syntax • Prefix @prefix  b4x:  <http:bioinformatics.be/terms#> b4x:martijn  b4x:has_favorite_beer  b4x:karmeliet.
  • 20. The  Turtle Syntax • Predicate lists @prefix  b4x:  <http:bioinformatics.be/terms#>  . @prefix  foaf:  <http://xmlns.com/foaf/0.1/>  . b4x:martijn  b4x:has_favorite_beer  b4x:karmeliet; foaf:name “Martijn  Devisscher”.
  • 21. The  Turtle Syntax • Object  lists @prefix  b4x:  <http:bioinformatics.be/terms#>  . @prefix  foaf:  <http://xmlns.com/foaf/0.1/>  . b4x:martijn  b4x:has_favorite_beer  b4x:karmeliet, b4x:chimay_blauw; foaf:name “Martijn  Devisscher”.
  • 22. IRI’s and Literals • Terms can be either IRI’s,  Literals or  blank  nodes • IRI  = Internationalized Resource  Identifier • Unique  id – a  virtual  URI – Example:  http://bioinformatics.be/terms#martijn – There is  no  requirement for resolving – Now:  Open  Data  initiatives:  please do  use resolvable URI’s http://linkeddata.org – Unique  identifierscan be registered on   http://identifiers.org
  • 23. Introduction • Literals:  can be typed,  allowed types  from the   XSD  namespace: – E.g.  “This is  a  string  example”^^xsd:string – E.g.  “5”^^xsd:integer • IRI’s are  used for entities and attributes • Literals are  used for attribute values that aren’t entities
  • 24. The  Turtle Syntax • Typed literals @prefix  b4x:  <http:bioinformatics.be/terms#>  . @prefix  foaf:  <http://xmlns.com/foaf/0.1/>  . @prefix  xsd:  <http://www.w3.org/2001/XMLSchema#>  . b4x:martijn  b4x:has_favorite_beer  b4x:karmeliet, b4x:chimay_blauw; b4x:length  “184”^^xsd:integer; foaf:name “Martijn  Devisscher”^^xsd:string.
  • 25. The  Turtle Syntax • Blank  nodes @prefix  b4x:  <http:bioinformatics.be/terms#>  . @prefix  foaf:  <http://xmlns.com/foaf/0.1/>  . @prefix  xsd:  <http://www.w3.org/2001/XMLSchema#>  . b4x:martijn  b4x:has_favorite_beer  b4x:karmeliet, b4x:chimay_blauw; b4x:length  “184”^^xsd:integer; foaf:name “Martijn  Devisscher”^^xsd:string; b4x:owns_cat  [  b4x:color  “Gray”  ].
  • 26. Classes  and Individuals • rdf:type @prefix  b4x:  <http:bioinformatics.be/terms#>  . @prefix  foaf:  <http://xmlns.com/foaf/0.1/>  . b4x:martijn  rdf:type foaf:Person.
  • 27. Classes  and Individuals • Shorthand:  a @prefix  b4x:  <http:bioinformatics.be/terms#>  . @prefix  foaf:  <http://xmlns.com/foaf/0.1/>  . b4x:martijn  a  foaf:Person; foaf:knows b4x:geert. b4x:geert  a foaf:Person.
  • 29. Semantic Technologies • Sets  of  triples form  a  Graph
  • 30. Graphs • Triples are  building  blocks of  Graphs • Combining sets  of  triples allows the   construction of  arbitrarily complex  graphs b4x:martijn b4x:karmeliethas_favorite_beer
  • 31. Add meaning ! • Reuse terms from existing,  well  defined vocabularies – ontologies (foaf,  dc,  go,  so) • Describe new  terms =  Ontologies • Contain – A  crisp  human  definition – Some machine  readable facts
  • 32. Metadata • Ontologies are  also described in  RDF – RDFS:  RDF  -­‐ Schema – OWL:  Web  Ontology Language – Also expressed in  RDF • For  clarity,  file  extension  can be .rdfs or  .owl
  • 33. RDFS  Essentials • Descriptions – rdfs:label – rdfs:comment
  • 34. RDFS • Relationships between properties,  classes – rdfs:Class – rdfs:subClassOf – rdf:Property – rdfs:subPropertyOf – rdfs:range – rdfs:domain
  • 35. RDFS:  Example @prefix  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#>. @prefix  foaf:  <http://xmlns.com/foaf/0.1/>  . @prefix  xsd:  <http://www.w3.org/2001/XMLSchema#>  . b4x:karmeliet  a  b4x:Trappist  . b4x:Beer  a  rdfs:Class . b4x:Trappist  a  rdfs:Class . b4x:Trappist  rdfs:subClassOf b4x:Beer  . b4x:has_favorite_beer  a  rdf:Property ; rdfs:domain foaf:Person ; rdfs:range b4x:Beer  . b4x:Beer  rdfs:subClassOf b4x:Drink  .
  • 36. Analogy • RDF  =  database  =  data • RDFS/OWL  =  schema  =  metadata • Both  are  described in  RDF,  but  have  a  different   scope
  • 37. Semantic Technologies • Inference – Enhance dataset  using knowledge from metadata (e.g.  rdfs,  owl) • Types  of  inference engines – RDFS  inference • RDFS  entailmentregime – OWL  inference • Under  active research • Engines  exist for specific subsets of  OWL  (OWL-­‐DL)
  • 39. RDFS:  Inference b4x:kevin  b4x:has_favorite_beer  b4x:stella Q:  What can we  infer from this using RDFS   entailment ?
  • 40. RDFS:  Inference b4x:kevin  b4x:has_favorite_beer  b4x:stella Inferred triples: b4x:kevin  a  foaf:Person [from domain] b4x:stella  a  b4x:Beer  [from range] b4x:stella  a  b4x:Drink  [from subClassOf]
  • 41. DuckTyping • Watch  out  with inference ! Example:  You want  to express that people can have  lengths b4x:length  a  rdf:Property; rdfs:domain foaf:Person; rdfs:range xsd:integer.
  • 42. DuckTyping • Problem: ex:VW_Transporter b4x:length  “600”^xsd:integer. • Would infer that VW_Transporter is  a  Person  ! • This is  called DuckTyping If  it  looks  like  a  duck,  swims  like  a  duck,  and   quacks  like  a  duck,  then  it  probably  is  a  duck
  • 43. Task • Find  a  solution:  express  in  rdfs that  people  can   have  lengths
  • 44. Task • Find  a  solution:  express  in  rdfs that  people  can   have  lengths b4x:havingLenght  a  rdfs:Class. b4x:length  a  rdf:Property; rdfs:domain b4x:havingLength; rdfs:range xsd:integer. foaf:Person rdfs:subClassOf b4x:havingLength.
  • 45. Storing  RDF • As  an RDF  file  for download • In  a  Triplestore – Database  optimised for storing  triples – Examples:  BlazeGraph,  Fuseki,  Sesame
  • 46. Semantic Technologies • Querying over  RDF  data:  SPARQL • Cool  features: – Distributed  querying =  actual distribution of  data   and computing  resources – SPARQL/Update:  modify data • SPARQL  endpoints:  SPARQL  over  HTTP
  • 47. SPARQL  Query  Syntax • First  example: SELECT  ?subject  ?predicate ?object  WHERE  { ?subject  ?predicate ?object. } (Generally  not a  good idea as  it will pull  down   the  whole dataset) Binding  variables Graph matching
  • 48. ? SELECT  ?person  WHERE  { ?person  b4x:has_favorite_beer b4x:karmeliet }
  • 49. ?
  • 50. SPARQL  Query  Syntax • Limit  result size : SELECT  ?subject  ?predicate ?object  WHERE  { ?subject  ?predicate ?object. }  LIMIT  10
  • 51. SPARQL  Query  Syntax • Find all classes: PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#> SELECT  ?class  ?label  WHERE  { ?class  a  rdfs:Class. ?class  rdfs:label ?label. } (This will only retrieve classes  that have  a  label)
  • 52. SPARQL  Query  Syntax • Find all classes: PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#> SELECT  ?class  ?label  WHERE  { ?class  a  rdfs:Class. OPTIONAL  { ?class  rdfs:label ?label. } }
  • 53. SPARQL  Query  Syntax • Find all classes  that contain “duck”  in  the   label: PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#> SELECT  ?class  ?label  WHERE  { ?class  a  rdfs:Class. ?class  rdfs:label ?label. FILTER(  CONTAINS  (str(?label)  ,  “duck”  )  ) }
  • 54. SPARQL  Query  Syntax • Make  it case  insensitive: PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#> SELECT  ?class  ?label  WHERE  { ?class  a  rdfs:Class. ?class  rdfs:label ?label. FILTER(  CONTAINS  (  UCASE(str(?label))  ,  “DUCK”  )  ) }
  • 55. SPARQL  Query  Syntax • Search  in  specific graph: PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#> SELECT  ?class  ?label   FROM  <http://example.org/animals> WHERE  { ?class  a  rdfs:Class. ?class  rdfs:label ?label. FILTER(  CONTAINS  (  UCASE(str(?label))  ,  “DUCK”  )  ) }
  • 56. SPARQL  Query  Syntax • Search  in  specific graph: PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#> SELECT  ?class  ?label  WHERE  { GRAPH  <http://example.org/animals>  { ?class  a  rdfs:Class. ?class  rdfs:label ?label. FILTER(  CONTAINS  (  UCASE(str(?label))  ,  “DUCK”  )  ) } }
  • 57. SPARQL  Query  Syntax • Can also search  for graphs : PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#> SELECT  ?g  WHERE  { GRAPH  ?g  { ?class  a  rdfs:Class. ?class  rdfs:label ?label. FILTER(  CONTAINS  (  UCASE(str(?label))  ,  “DUCK”  )  ) } }
  • 58. Summary:  Querying RDF  data RDF  Data Inference Engine RDFS/OWL RDF  Data Inferred SPARQL Endpoint
  • 59. • Basic data element = a Triple – A mini sentence – Contains three Terms: – Subject Predicate Object • Example: <http://xmpl/entities#martijn> <http://xmpl/relations#has_favorite_beer> <http://xmpl/entities#karmeliet>. Take  home  Summary
  • 60. • Combine triples to represent knowledge
  • 61. • Use terms from ONTOLOGIES – COMMON VOCABULARIES – POSSIBLE TO INFER MEANING • OMIABIS • OBIB • SNOMED/ICD • MESH
  • 62. ? • SPARQL searches for patterns
  • 63. ?
  • 64. Interoperability between OBO  and Semantic Technologies • Originated from two separate  academic worlds • Computing  applications of  OBO  mainly consistencycheckingand overrepresentation analysis • Semantic Technologies:  much broader toolset • Interoperability ? – Direct  offering in  both formats – Automated mapping
  • 65. Where to find ontologies • OBO  Foundry • Bioportal;  NCBO • Biogateway • Bio2RDF
  • 66. Where to find RDF  data • Google  for SPARQL  endpoint • =>  e.g.  EBI  databases • Non  biological:  DBpedia
  • 67. How  about Tim  Berners Lee’s vision • We’re not there yet,  but  for bio  data  we’re getting quite close – The  explicitome – Crowd sourcing – Nanopublications
  • 69. SPARQL  :  Recap PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label FROM <http://graphName> WHERE { ?x rdfs:label ?label. FILTER ( CONTAINS(?label, “dimethylalinine”) ) } LIMIT 10 ORDER BY ?label
  • 70. SPARQL  :  Recap PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label FROM <http://graphName> WHERE { ?x rdfs:label ?label. FILTER ( CONTAINS(?label, “dimethylalinine”) ) } LIMIT 10 ORDER BY ?label • FIND  the  pattern  ?x rdfs:label ?label.
  • 71. SPARQL  :  Recap PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label FROM <http://graphName> WHERE { ?x rdfs:label ?label. FILTER ( CONTAINS(?label, “dimethylalinine”) ) } LIMIT 10 ORDER BY ?label • FIND  the  pattern  ?x rdfs:label ?label. • BIND  variables  ?label,  ?x
  • 72. SPARQL  :  Recap PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label FROM <http://graphName> WHERE { ?x rdfs:label ?label. FILTER ( CONTAINS(?label, “dimethylalinine”) ) } LIMIT 10 ORDER BY ?label • FIND  the  pattern  ?x rdfs:label ?label. • BIND  variables  ?label,  ?x • RETRIEVE variable  ?label
  • 73. SPARQL  :  Recap PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label FROM <http://graphName> WHERE { ?x rdfs:label ?label. FILTER ( CONTAINS(?label, “dimethylalinine”) ) } LIMIT 10 ORDER BY ?label • FIND  the  pattern  ?x rdfs:label ?label. • BIND  variables  ?label,  ?x • RETRIEVE  variable  ?label • PREFIX:  replace  rdfs:label by  <http://www.w3.org/2000/01/rdf-schema#>
  • 74. SPARQL  :  Recap PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label FROM <http://graphName> WHERE { ?x rdfs:label ?label. FILTER ( CONTAINS(?label, “dimethylalinine”) ) } LIMIT 10 ORDER BY ?label • FIND  the  pattern  ?x rdfs:label ?label. • BIND  variables  ?label,  ?x • RETRIEVE  variable  ?label • PREFIX:  replace  rdfs:label by  <http://www.w3.org/2000/01/rdf-schema#> • FILTER results  to  labels  containing  “dimethylalinine”
  • 75. SPARQL  :  Recap PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label FROM <http://graphName> WHERE { ?x rdfs:label ?label. FILTER ( CONTAINS(?label, “dimethylalinine”) ) } LIMIT 10 ORDER BY ?label • FIND  the  pattern  ?x rdfs:label ?label. • BIND  variables  ?label,  ?x • RETRIEVE  variable  ?label • PREFIX:  replace  rdfs:label by  <http://www.w3.org/2000/01/rdf-schema#> • FILTER  results  to  labels  containing  “dimethylalinine” • LIMIT  results  to  first  10  matches  ordered  by  label
  • 76. SPARQL  :  Recap DESCRIBE <http://rdf.wikipathways.org/Pathway/WP1425_r74390/WP/Interaction/e077e> • Useful  short  query  to  get  direct  links  from/to  a   given  node
  • 78. Running  SPARQL • From  a  web  interface
  • 79. • From  a  web  interface • Using  http – HTTP  GET – HTTP  POST  :  for  larger  query  strings – Headers  determine  response  type  (JSON,  XML,  HTML) http://…/sparql?default-graph-uri=<http://graphName>&query=URLENCODEDQUERYSTRING Running  SPARQL
  • 82. Access • From  the  web  interface  ! • SPARQL  endpoint:  using  API  key;  on  request   • Running  a  local  copy:  download  VM  image;  on   request
  • 83. Exercises • Find  a  term • Find  ontologies  containing  a  term • Browse  some  ontologies • Check  the  NCBO  annotator  !
  • 88. Exercise • From  uniprot find  proteins  that  are  annotated   with  a  given  Gene  Ontology  term
  • 89. PREFIX up:<http://purl.uniprot.org/core/> PREFIX taxon:<http://purl.uniprot.org/taxonomy/> PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> PREFIX obo:<http://purl.obolibrary.org/obo/> SELECT * WHERE { ?protein up:classifiedWith obo:GO_0004499. ?protein up:organism taxon:9606. } http://sparql.uniprot.org
  • 90. Exercise • From  Expression  Atlas  find  proteins  that  are   differentially  expressed  (P  <  1e-­‐12)  in  Crohn’s disease
  • 91. 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 dcterms: <http://purl.org/dc/terms/> PREFIX obo: <http://purl.obolibrary.org/obo/> PREFIX sio: <http://semanticscience.org/resource/> PREFIX efo: <http://www.ebi.ac.uk/efo/> PREFIX atlas: <http://rdf.ebi.ac.uk/resource/atlas/> PREFIX atlasterms: <http://rdf.ebi.ac.uk/terms/atlas/> PREFIX up:<http://purl.uniprot.org/core/> PREFIX biopax3:<http://www.biopax.org/release/biopax-level3.owl#> SELECT distinct ?protein ?expressionValue ?pvalue WHERE { ?factor rdf:type efo:EFO_0000384 . ?value atlasterms:hasFactorValue ?factor . ?value atlasterms:isMeasurementOf ?probe . ?value atlasterms:pValue ?pvalue . ?value rdfs:label ?expressionValue . ?probe atlasterms:dbXref ?protein . FILTER ( ?pvalue < 1e-12 ) FILTER ( strstarts(str(?protein),"http://purl.uniprot.org/uniprot/") )} }ORDER BY ASC (?pvalue) https://www.ebi.ac.uk/rdf/services/atlas/sparql
  • 92. • Links  pathways  with  genes,  terms  from   Pathway,  Cell  line  and  Disease  ontology,   PubMed  references • Models  individual  Interactions • Can  be  downloaded  as  RDF • Has  an  experimental  SPARQL  endpoint WikiPathways
  • 93. • Define  a  query  to  find  pathways  linked  to   TNFalpha gene Exercise
  • 94. PREFIX wp: <http://vocabularies.wikipathways.org/wp#> PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?PathwayName where { ?geneProduct a wp:GeneProduct . ?geneProduct dc:identifier ?GeneID . ?geneProduct dcterms:isPartOf ?pathway . ?geneProduct rdfs:label ?geneName . ?pathway dc:identifier ?pathwayid . ?pathway dc:title ?PathwayName . FILTER(str(?geneName) = "TNFalpha" ) } http://sparql.wikipathways.org
  • 95.
  • 96.
  • 97. • Try  this,  or  another  query – Using  web  interface – Using  http  get • Define  a  simple  describe • Use  a  web  tool  to  URLEncode the  query • Submit  query  as  a  URL  parameter Exercise
  • 99. PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 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 void: <http://rdfs.org/ns/void#> PREFIX sio: <http://semanticscience.org/resource/> PREFIX ncit: <http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#> PREFIX up: <http://purl.uniprot.org/core/> SELECT DISTINCT ?gene WHERE { ?gda sio:SIO_000628 ?gene,?disease . ?gene a ncit:C16612 . ?gene skos:exactMatch ?GeneID . ?disease a ncit:C7057 . ?disease dcterms:title ?DiseaseName . ?gda sio:SIO_000216 ?scoreIRI . ?scoreIRI sio:SIO_000300 ?score . FILTER (?score > "0.35"^^xsd:decimal) FILTER (contains(str(?DiseaseName),"Crohn")) } http://rdf.disgenet.org/lodestar
  • 100.
  • 101. 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 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 void: <http://rdfs.org/ns/void#> PREFIX sio: <http://semanticscience.org/resource/> PREFIX ncit: <http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#> PREFIX up: <http://purl.uniprot.org/core/> PREFIX wp: <http://vocabularies.wikipathways.org/wp#> PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX dcterms: <http://purl.org/dc/terms/> http://rdf.disgenet.org/lodestar
  • 102. SELECT DISTINCT ?PathwayName WHERE { ?gda sio:SIO_000628 ?gene, ?disease . ?gene a ncit:C16612 . ?disease a ncit:C7057 . ?disease dcterms:title ?DiseaseName . ?gda sio:SIO_000216 ?scoreIRI . ?scoreIRI sio:SIO_000300 ?score . FILTER (?score > "0.35"^^xsd:decimal) FILTER (contains(str(?DiseaseName),"Crohn")) SERVICE <http://sparql.wikipathways.org/> { ?geneProduct a wp:GeneProduct . ?geneProduct dc:identifier ?gene . ?geneProduct dcterms:isPartOf ?pathway . ?pathway dc:identifier ?pathwayid . ?pathway dc:title ?PathwayName . } } http://rdf.disgenet.org/lodestar/sparql