Building Semantic Web tools for Bioinformatics Andrea Splendiani - - PowerPoint PPT Presentation

building semantic web tools for bioinformatics
SMART_READER_LITE
LIVE PREVIEW

Building Semantic Web tools for Bioinformatics Andrea Splendiani - - PowerPoint PPT Presentation

Building Semantic Web tools for Bioinformatics Andrea Splendiani (andrea.splendiani@bbsrc.ac.uk) 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009 Outline HowTo: export your data in semantic web formats,


slide-1
SLIDE 1

Building Semantic Web tools for Bioinformatics

Andrea Splendiani (andrea.splendiani@bbsrc.ac.uk)

6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

slide-2
SLIDE 2

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Outline

The building blocks of the Semantic Web HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Semantic Web application development

slide-3
SLIDE 3

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Outline

The building blocks of the Semantic Web HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Semantic Web application development Extra time: Application examples

slide-4
SLIDE 4

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Outline

The building blocks of the Semantic Web HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Semantic Web application development

slide-5
SLIDE 5

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Outline

The building blocks of the Semantic Web HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Semantic Web application development

slide-6
SLIDE 6

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

  • The Semantic web is a set of

technologies

  • Different technologies address

different needs, and not all of them need to be used

  • Different technologies have

different level of maturity

The building blocks of the Semantic Web

slide-7
SLIDE 7

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

  • The Semantic web is a set of

technologies

  • Different technologies address

different needs, and not all of them need to be used

  • Different technologies have

different level of maturity

The building blocks of the Semantic Web

Mature technology

slide-8
SLIDE 8

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

  • The Semantic web is a set of

technologies

  • Different technologies address

different needs, and not all of them need to be used

  • Different technologies have

different level of maturity

The building blocks of the Semantic Web

Mature technology

slide-9
SLIDE 9

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

  • The Semantic web is a set of

technologies

  • Different technologies address

different needs, and not all of them need to be used

  • Different technologies have

different level of maturity

The building blocks of the Semantic Web

Mature technology

slide-10
SLIDE 10

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

  • The Semantic web is a set of

technologies

  • Different technologies address

different needs, and not all of them need to be used

  • Different technologies have

different level of maturity

The building blocks of the Semantic Web

Mature technology Refinements in progress, usable.

slide-11
SLIDE 11

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

  • The Semantic web is a set of

technologies

  • Different technologies address

different needs, and not all of them need to be used

  • Different technologies have

different level of maturity

The building blocks of the Semantic Web

Mature technology Refinements in progress, usable.

slide-12
SLIDE 12

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

  • The Semantic web is a set of

technologies

  • Different technologies address

different needs, and not all of them need to be used

  • Different technologies have

different level of maturity

The building blocks of the Semantic Web

Mature technology Refinements in progress, usable.

slide-13
SLIDE 13

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

  • The Semantic web is a set of

technologies

  • Different technologies address

different needs, and not all of them need to be used

  • Different technologies have

different level of maturity

The building blocks of the Semantic Web

Mature technology Refinements in progress, usable.

slide-14
SLIDE 14

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

  • The Semantic web is a set of

technologies

  • Different technologies address

different needs, and not all of them need to be used

  • Different technologies have

different level of maturity

The building blocks of the Semantic Web

Mature technology Refinements in progress, usable. Not so standard yet, but usable.

slide-15
SLIDE 15

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

  • The Semantic web is a set of

technologies

  • Different technologies address

different needs, and not all of them need to be used

  • Different technologies have

different level of maturity

The building blocks of the Semantic Web

Mature technology Refinements in progress, usable. Not so standard yet, but usable.

slide-16
SLIDE 16

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

The building blocks of the Semantic Web

slide-17
SLIDE 17

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

URIs are global names for information resources. Examples:

The building blocks of the Semantic Web

slide-18
SLIDE 18

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

URIs are global names for information resources.

  • http://www.ncbi.nlm.nih.gov/nuccore/1836110

Examples:

The building blocks of the Semantic Web

slide-19
SLIDE 19

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

URIs are global names for information resources.

  • http://www.ncbi.nlm.nih.gov/nuccore/1836110
  • http://purl.org/obo/owl/NCBITaxon#NCBITaxon_6

Examples:

The building blocks of the Semantic Web

slide-20
SLIDE 20

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

URIs are global names for information resources.

  • http://www.ncbi.nlm.nih.gov/nuccore/1836110
  • http://purl.org/obo/owl/NCBITaxon#NCBITaxon_6
  • http://bio2rdf.org/html/go:0032283

Examples:

The building blocks of the Semantic Web

slide-21
SLIDE 21

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

URIs are global names for information resources.

  • http://www.ncbi.nlm.nih.gov/nuccore/1836110
  • http://purl.org/obo/owl/NCBITaxon#NCBITaxon_6
  • http://bio2rdf.org/html/go:0032283

(http://www.ebi.ac.uk/ego/GTerm?id=GO:0032283)

Examples:

The building blocks of the Semantic Web

slide-22
SLIDE 22

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

URIs are global names for information resources.

  • http://www.ncbi.nlm.nih.gov/nuccore/1836110
  • http://purl.org/obo/owl/NCBITaxon#NCBITaxon_6
  • http://bio2rdf.org/html/go:0032283

(http://www.ebi.ac.uk/ego/GTerm?id=GO:0032283)

  • info:pmid/18460179

Examples:

The building blocks of the Semantic Web

slide-23
SLIDE 23

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

URIs are global names for information resources.

  • http://www.ncbi.nlm.nih.gov/nuccore/1836110
  • http://purl.org/obo/owl/NCBITaxon#NCBITaxon_6
  • http://bio2rdf.org/html/go:0032283

(http://www.ebi.ac.uk/ego/GTerm?id=GO:0032283)

  • info:pmid/18460179
  • http://biocyc.org/biopax/biopax#smallMolecule84998

Examples:

The building blocks of the Semantic Web

slide-24
SLIDE 24

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

URIs are global names for information resources.

  • http://www.ncbi.nlm.nih.gov/nuccore/1836110
  • http://purl.org/obo/owl/NCBITaxon#NCBITaxon_6
  • http://bio2rdf.org/html/go:0032283

(http://www.ebi.ac.uk/ego/GTerm?id=GO:0032283)

  • info:pmid/18460179
  • http://biocyc.org/biopax/biopax#smallMolecule84998
  • http://www.reactome.org/biopax#H2O__ChEBI_15377_

Examples:

The building blocks of the Semantic Web

slide-25
SLIDE 25

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

There are a few proposal for standard ways to define URIs, a consensus will be hopefully reached soon.

  • http://neurocommons.org/page/Shared_names
  • http://esw.w3.org/topic/HCLSIG_BioRDF_Subgroup/Tasks/URI_Best_Practices/

Recommendations

In a “local” integration processes, any style of URIs will

  • work. In general, a conversion to a different “style” is

relatively sraightforward.

The building blocks of the Semantic Web

URIs are “global” names. There are also “local names” (blank nodes). They refer to objects whose identity is not identified across resources.

slide-26
SLIDE 26

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

The building blocks of the Semantic Web

slide-27
SLIDE 27

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

RDF is the language to express types and relations among information resource (what can be identified through a URI).

  • It is made of a set of simple statements:

subject predicate object

  • It is conceptually a graph
  • Several syntaxes support its representation: XML, N3, N-

Triples...

More info:

The building blocks of the Semantic Web

slide-28
SLIDE 28

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

example of RDF

More info:

The building blocks of the Semantic Web

slide-29
SLIDE 29

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

More info:

The building blocks of the Semantic Web

Readability can be improved by the use of namespaces example of RDF

slide-30
SLIDE 30

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

example of RDF in XML

The building blocks of the Semantic Web

<rdf:RDF xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" > <rdf:Description rdf:about="http://purl.org/obo/owl/GO#GO_0006915"> <rdfs:label xml:lang="en">apoptosis</rdfs:lang> <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:lang> </rdf:Description> </rdf:RDF>

  • Not the only XML serialization possible!
  • Some more details (language, types...)
slide-31
SLIDE 31

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

The building blocks of the Semantic Web

<rdf:RDF xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" > <rdf:Description rdf:about="http://purl.org/obo/owl/GO#GO_0006915"> <rdfs:label xml:lang="en">apoptosis</rdfs:lang> <rdfs:subClassOf> <rdf:Description rdf:about="http://purl.org/obo/owl/GO#GO_0012501"> <rdfs:label xml:lang="en">programmed cell death</rdfs:lang> </rdf:Description> </rdfs:subClassOf> </rdf:Description> </rdf:RDF>

  • Not the only XML serialization possible!
  • Some more details (language, types...)
  • http://www.w3.org/TR/rdf-syntax-grammar/

example of RDF in XML

slide-32
SLIDE 32

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

example of RDF in N3-Triple

The building blocks of the Semantic Web

<http://purl.org/obo/owl/GO#GO_0006915> <http://www.w3.org/2000/01/rdf-schema#label> “apoptosis”. <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”.

slide-33
SLIDE 33

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Blank nodes in RDF (XML and N3-Triple)

The building blocks of the Semantic Web

<rdf:Description rdf:nodeID="abc"> <ex:city="Bedford" /> </rdf:Description> _abc: <ex:city> <Description>

slide-34
SLIDE 34

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

The building blocks of the Semantic Web

The complex picture...

slide-35
SLIDE 35

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Don’t focus on the syntax, focus on the RDF Conceptual graph, and use a library to seralize it! (more later...)

The building blocks of the Semantic Web

The simple practice...

  • http://www.w3.org/RDF/
slide-36
SLIDE 36

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

The building blocks of the Semantic Web

slide-37
SLIDE 37

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

SPARQL is a language to query RDF graphs.

More info:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?x WHERE { ?x rdfs:subClassOf <http://purl.org/obo/owl/GO#GO_0012501> . }

Example:

The building blocks of the Semantic Web

slide-38
SLIDE 38

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

SPARQL is a language to query RDF graphs. What SPARQL does for you:

  • allows to query resources in RDF
  • allows to make queries over http

What SPARQL does not for you:

  • it cannot specify which inference to use
  • it cannot alter graphs (sparql/update)

More info:

  • http://www.w3.org/TR/rdf-sparql-query/

More examples later...

The building blocks of the Semantic Web

slide-39
SLIDE 39

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

The building blocks of the Semantic Web

slide-40
SLIDE 40

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

OWL specifies properties of relations and types used in RDF (it specifies an ontology). RDF-S has a similar function, but is more limited in scope.

More info:

The building blocks of the Semantic Web

slide-41
SLIDE 41

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

OWL specifies properties of relations and types used in RDF (it specifies an ontology). RDF-S has a similar function, but is more limited in scope.

More info:

The building blocks of the Semantic Web

slide-42
SLIDE 42

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

OWL specifies properties of relations and types used in RDF (it specifies an ontology). RDF-S has a similar function, but is more limited in scope.

More info:

RDF-S:

  • subClassOf
  • subPropertyOf
  • ...

OWL:

  • Class Union/Intersection
  • Universal/Existential

restriction

  • Property Domain/Range
  • Transitive/Reflexive/

Functional properties

  • ...

The building blocks of the Semantic Web

slide-43
SLIDE 43

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

OWL

More info:

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>

The building blocks of the Semantic Web

slide-44
SLIDE 44

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

OWL

More info:

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>

The building blocks of the Semantic Web

slide-45
SLIDE 45

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Why OWL ?

More info:

OWL is designed for automatic classification: Given a description in OWL of two biological processes, a “reasoner” could establish wether two processes are equivalent, if one is a more specific kind of the other, or if they are disjoint.

  • http:://www.co-ode.org/resources/tutorials/ProtegeOWLTutorial.pdf

The building blocks of the Semantic Web

slide-46
SLIDE 46

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

WHICH OWL ?

More info:

OWL-2 OWL RDF-S OWL-DL OWL-Lite OWL-Full

{

Flovours

{

Based on Description Logic (decidable subset of first order logic) Computable (mostly) in polinomial time...

The building blocks of the Semantic Web

slide-47
SLIDE 47

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HOW to use OWL ?

More info:

Editor Reasoner

  • Protégé
  • SWOOP
  • Pellet
  • Fact++
  • ...

The building blocks of the Semantic Web

slide-48
SLIDE 48

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Confused about OWL ?

More info:

The building blocks of the Semantic Web

  • You don’t need to use OWL unless you want to model

what you know in formal terms!

  • Most of the time you will see OWL, you will encounter
  • nly simple OWL expressions.

OWL is not an Object Oriented language!!!

  • Classes and properties have different semantics in OO and

OWL.

  • OWL is based on an Open World Assumption, OO on a Closed

World Assumption

slide-49
SLIDE 49

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

The building blocks of the Semantic Web

slide-50
SLIDE 50

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Rules can specify additional semantics that cannot be represented in OWL.

  • The definition of rules varies in their syntax and in

their expressivity.

  • One common language to represent rules is SWRL.
  • In general, unrestricted rules may result in

undecidable OWL.

More info:

The building blocks of the Semantic Web

Example: hasFather(x,y) and hasBrother(y,z) hasUncle(x,z)

slide-51
SLIDE 51

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

More info:

The building blocks of the Semantic Web

hasFather(x,y) and hasBrother(y,z) hasUncle(x,z)

in SWRL:

<ruleml:imp> <ruleml:_rlab ruleml:href="#example1"/> <ruleml:_body> <swrlx:individualPropertyAtom swrlx:property="hasParent"> <ruleml:var>x1</ruleml:var> <ruleml:var>x2</ruleml:var> </swrlx:individualPropertyAtom> <swrlx:individualPropertyAtom swrlx:property="hasBrother"> <ruleml:var>x2</ruleml:var> <ruleml:var>x3</ruleml:var> </swrlx:individualPropertyAtom> </ruleml:_body> <ruleml:_head> <swrlx:individualPropertyAtom swrlx:property="hasUncle"> <ruleml:var>x1</ruleml:var> <ruleml:var>x3</ruleml:var> </swrlx:individualPropertyAtom> </ruleml:_head> </ruleml:imp>

slide-52
SLIDE 52

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

More info:

The building blocks of the Semantic Web

  • You can use inference rules through reasoners

(Pellet), tools (Protégé) or libraries (Jena,...)

  • http://www.w3.org/Submission/SWRL/
  • http://www.ruleml.org/
slide-53
SLIDE 53

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Outline

The building blocks of the Semantic Web HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Semantic Web application development

slide-54
SLIDE 54

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Outline

The building blocks of the Semantic Web HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Semantic Web application development

slide-55
SLIDE 55

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

slide-56
SLIDE 56

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

How do I convert a text file in RDF ?

slide-57
SLIDE 57

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

CAS reg. Number Chemical name CHEBI ID 17804-35-2 Benomyl 3015 36734-19-7 Iprodione 28909 65277-42-1 Cis- Ketoconazole 47519

<http://www.purl.org/obo/owl/CHEBI#CHEBI_3015> <http://ex.org/hasChemName> “Benomyl”. <http://www.purl.org/obo/owl/CHEBI#CHEBI_3015> <hhtp://ex.org/hasCASN> “17804-35-2”. <http://www.purl.org/obo/owl/CHEBI#CHEBI_28909> <http://ex.org/hasChemName> “Iprodione”. <http://www.purl.org/obo/owl/CHEBI#CHEBI_28909> <hhtp://ex.org/hasCASN> “36734-19-7”. <http://www.purl.org/obo/owl/CHEBI#CHEBI_47519> <http://ex.org/hasChemName> “Cis-Ketoconazole”. <http://www.purl.org/obo/owl/CHEBI#CHEBI_47519> <hhtp://ex.org/hasCASN> “65227-42-1”.

slide-58
SLIDE 58

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

How do I convert a relational database in RDF ?

slide-59
SLIDE 59

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

How do you export the content of a relational database in RDF ?

  • Build your own script (use a RDF library, more later...)
  • Use a relational to RDF mapping tool. These tools (which

varies in “strategy”) can be used to:

  • dump the content of a relational database in RDF
  • map queries addressing the RDF representation to the

underlying SQL representation

  • http://www.w3.org/2005/Incubator/rdb2rdf/RDB2RDF_SurveyReport.pdf

We present briefly one of these tools: D2RQ

slide-60
SLIDE 60

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

D2RQ

  • It is a relational to RDF mapping tool that can be used to:
  • dump the content of a relational db in RDF
  • provide an RDF-query front-end to a relational databse
  • provide a view on sql data for RDF libraries
  • D2RQ analyzes the db structure to generate a candidate

mapping file

./generate-mapping -u XXXX -p XXXX -d org.postgresql.Driver

  • o phibasemapping.n3 -b http://phi-base.org jdbc:postgresql://127.0.0.1/phibase

./dump-rdf -m phibasemapping.n3 -o phibaserdfv1.xml

  • http://www4.wiwiss.fu-berlin.de/bizer/d2rq/
slide-61
SLIDE 61

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Details from D2RQ mapping file

Author

ID (key) Name

Author2p

AuthorID (fkey) PaperID (fkey) ...

Paper

ID (key) PubmedID ...

slide-62
SLIDE 62

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Details from D2RQ mapping file: default mapping

Author

ID (key) Name

Author2p

AuthorID (fkey) PaperID (fkey) ...

Paper

ID (key) PubmedID ...

# Table Author map:author a d2rq:ClassMap; d2rq:dataStorage map:database; d2rq:uriPattern "interaction/@@Author.ID@@"; d2rq:class ex:author; d2rq:classDefinitionLabel "author"; . map:interaction__label a d2rq:PropertyBridge; d2rq:belongsToClassMap map:author; d2rq:property rdfs:label; d2rq:pattern "interaction #@@Author.ID@@"; . map:interaction_interaction_id a d2rq:PropertyBridge; d2rq:belongsToClassMap map:author; d2rq:property ex:author_name; d2rq:propertyDefinitionLabel "Author_name"; d2rq:column "Author.Name"; d2rq:datatype xsd:string; .

slide-63
SLIDE 63

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Details from D2RQ mapping file: default mapping

Author

ID (key) Name

# 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__label a d2rq:PropertyBridge; d2rq:belongsToClassMap map:author; d2rq:property rdfs:label; d2rq:pattern "@@Author.Name@@"; . map:author_name a d2rq:PropertyBridge; d2rq:belongsToClassMap map:author; d2rq:property foaf:name; d2rq:column "author.Name"; # d2rq:propertyDefinitionLabel "name"; .

slide-64
SLIDE 64

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Details from D2RQ mapping file: default mapping

Paper

ID (key) PubmedID ...

# Table Paper map:paper a d2rq:ClassMap; d2rq:dataStorage map:database; d2rq:uriPattern "info:pubmed/@@Paper.ID@@"; d2rq:class ex:paper; d2rq:classDefinitionLabel "paper"; d2rq:condition “PubmedID !=’’ “; . map:paper__label a d2rq:PropertyBridge; d2rq:belongsToClassMap map:paper; d2rq:property rdfs:label; d2rq:pattern "paper: @@Paper.ID@@"; .

Author

ID (key) Name

slide-65
SLIDE 65

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Details from D2RQ mapping file: default mapping

# Map author2paper map:author2paper a d2rq:PropertyBridge; d2rq:belongsToClassMap map:paper; d2rq:property ex:hasAuthor; d2rq:refersToClassMap map:author; d2rq:join "Author2p.AuthorID = Author.ID"; d2rq:join "Author2p.PaperID = Paper.PubmedID"; .

Author

ID (key) Name

Author2p

AuthorID (fkey) PaperID (fkey) ...

Paper

ID (key) PubmedID ...

  • http://www4.wiwiss.fu-berlin.de/bizer/d2rq/spec
slide-66
SLIDE 66

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

  • “Default” mapping can be misleading.
  • Understeand what is a global identifier (URI)

and what is not. URIs are stable and shared...

  • Wheight pros and cons of tools: respect to

tools’ maturity, to dump data in RDF is less critical than to query it.

slide-67
SLIDE 67

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

How do I build a knowledge base ?

slide-68
SLIDE 68

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

How to build a Semantic Web based kowledge base

What:

  • Triple stores

Yes!

  • Ontology design No...
  • Reasoning/Inference A little, later...
  • http://www4.wiwiss.fu-berlin.de/bizer/d2rq/
slide-69
SLIDE 69

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

How to build a Semantic Web based kowledge base: TripleStores

  • http://www4.wiwiss.fu-berlin.de/bizer/d2rq/
  • A triplestore is like a db engine for RDF
  • It manages persistence (either through a

relational database or not)

  • It can provide some form of inference
  • It can support for SPARQL queries
slide-70
SLIDE 70

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

How to build a Semantic Web based kowledge base: TripleStores

  • http://esw.w3.org/topic/LargeTripleStores
  • www4.wiwiss.fu-berlin.de/bizer/pub/BizerSchulz-BerlinSPARQLBenchmark.pdf

Jena TDB 1.7B Sesame Virtuoso(os) 1+B Garlik JXT 9.8B Yars2 7B BigOWLIM 3.36B Mulgara 500M ...

slide-71
SLIDE 71

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

  • http://www4.wiwiss.fu-berlin.de/bizer/d2rq/

How to build a Semantic Web based kowledge base: TripleStores

  • The use of triplestores is straightforward
  • Load into it all RDF files and Ontologies

that make your knowledge base

  • By virtues of URIs the resulting knowledge

base is already “connected”

slide-72
SLIDE 72

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

How to build a Semantic Web based kowledge base: TripleStores

# 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/rdf- schema#> PREFIX ssb:<http://www.semantic-systems- biology.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-systems- biology.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

slide-73
SLIDE 73

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

How do I build a knowledge base ?

slide-74
SLIDE 74

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

An introduction to SPARQL Simple Select Query

<ex.org#pers1> <ex.org#name> “Marc” <ex.org#pers1> <ex.org#age> “40”^^xsd:integer <ex.org#pers2> <ex.org#name> “Mary” <ex.org#pers2> <ex.org#age> “38”^^xsd:integer <ex.org#pers3> <ex.o<ex.org#pers2> <ex.org#pers3> <ex.org#age> “10”^^xsd:interger <ex.org#pers3> <ex.org#sonOf> <ex.org#pers1> <ex.org#pers3> <ex.org#sonOf> <ex.org#pers2>

SELECT ?n WHERE ?x <ex.org#name> ?n .

“Marc” “Mary” “Tom”

SELECT ?x ?y WHERE <ex.org#pers1> ?x ?y .

<ex.org#name> “Marc” <ex.org#age> 40

SELECT ?y WHERE { ?x <ex.org#sonOf> ?y . ?y <ex.org#name> “Marc” . }

<ex.org#pers3>

slide-75
SLIDE 75

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

An introduction to SPARQL Simple Select Query + Filters and Optional

<ex.org#pers1> <ex.org#name> “Marc” <ex.org#pers1> <ex.org#age> “40”^^xsd:integer <ex.org#pers2> <ex.org#name> “Mary” <ex.org#pers2> <ex.org#age> “38”^^xsd:integer <ex.org#pers3> <ex.o<ex.org#pers2> <ex.org#pers3> <ex.org#age> “10”^^xsd:interger <ex.org#pers3> <ex.org#sonOf> <ex.org#pers1> <ex.org#pers3> <ex.org#sonOf> <ex.org#pers2>

SELECT ?n WHERE { ?x <ex.org#name> ?n . ?x <ex.org#age> ?a . FILTER (?a >10) . }

“Marc” “Mary”

PREFIX ex: <ex.org#> SELECT ?name ?parent WHERE { ?x ex:name ?name . OPTIONAL { ?x <ex.org#sonOf> ? parent } }

“Marc” “Mary” “Tom” “Tom” “Marc” “Tom” “Mary”

distinct limit ... union

slide-76
SLIDE 76

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

An introduction to SPARQL Simple Construct Query

<ex.org#pers1> <ex.org#name> “Marc” <ex.org#pers1> <ex.org#age> “40”^^xsd:integer <ex.org#pers2> <ex.org#name> “Mary” <ex.org#pers2> <ex.org#age> “38”^^xsd:integer <ex.org#pers3> <ex.o<ex.org#pers2> <ex.org#pers3> <ex.org#age> “10”^^xsd:interger <ex.org#pers3> <ex.org#sonOf> <ex.org#pers1> <ex.org#pers3> <ex.org#sonOf> <ex.org#pers2>

PREFIX ex: <ex.org#> CONSTRUCT {?p1 ex:older ?p2} WHERE { ?p1 ex:age ?a1 . ?p2 ex:age ?a2. FILTER (?a1 > ?a2) }

“Marc” ex:older “Mary” “Marc” ex:older “Tom” “Mary” ex:older “Tom”

Ask Describe

slide-77
SLIDE 77

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

An introduction to SPARQL Named Graphs

<ex.org#family1> { <ex.org#pers1> <ex.org#name> “Marc” ... <ex.org#pers3> <ex.org#sonOf> <ex.org#pers2> } <ex.org#family2> { <ex.org#pers2> <ex.org#name> “John” ... }

PREFIX ex: <ex.org#> SELECT ?name FROM <ex.org#family1> FROM <ex.org#family2> WHERE { ?x ex:name ?name . } PREFIX ex: <ex.org#> SELECT ?family FROM NAMED <ex.org#family1> FROM NAMED <ex.org#family2> WHERE { GRAPH ?family { ?x sonOf ?y . } }

“Marc” ... “John” ...

slide-78
SLIDE 78

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Playing with SPARQL

  • http://www.semantic-systems-biology.org/biogateway/querying
  • http://www.w3.org/TR/rdf-sparql-query/
  • http://www4.wiwiss.fu-berlin.de/bizer/ng4j/
slide-79
SLIDE 79

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Outline

The building blocks of the Semantic Web HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Semantic Web application development

slide-80
SLIDE 80

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Outline

The building blocks of the Semantic Web HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Semantic Web application development

slide-81
SLIDE 81

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

The Jena Semantic Web library (Java) provides:

  • An API to parse/access RDF and OWL files
  • A persistence layer
  • An hybrid reasoner
  • A query server

Semantic Web application development

Programmatic access to resources and tools: Jena

  • http://esw.w3.org/topic/SemanticWebTools

Jena is only one of the tools available (at least to be cited: Sesame, OWLApi)

slide-82
SLIDE 82

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Semantic Web application development

Parsing and Persistence

Model myRDF=ModelFactory.createDefaultModel() Model.read(“file://my/file.rdf”); IDBConnection dbConnection= new DBConnection( "DB_URL","DB_USER","DB_PASSWD","M_DB" ); ModelRDB myDBModel= ModelRDB.createModel(dbConnection,”name”); MyDBModel.read(“ file://my/file.rdf”);

StoreDesc storeDesc = new StoreDesc(LayoutType.LayoutTripleNodesHash, DatabaseType.Derby) ; JDBC.loadDriverDerby() ; String jdbcURL = "jdbc:derby:DB/SDB2"; SDBConnection conn = new SDBConnection(jdbcURL, null, null) ; Store store = SDBFactory.connectStore(conn, storeDesc) ; // Store store = SDBFactory.connectStore("sdb.ttl") ;

Model model = SDBFactory.connectDefaultModel(store) ;

  • utFileStream=new FileOutputStream(new File(file));

write(outFileStream,”RDF/XML-ABBREV”); write(outFileStream,”N3”); Default (in memory, no inference) Reading in DB Serialization (different formats) SDB & TSB

slide-83
SLIDE 83

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Semantic Web application development

Accessing Elements of RDF

boolean containsStat= myRDFModel.contains( ModelFactory.createResource(“http://example/ex1”), ModelFactory.createProperty(“http://example/p1”), null); StmIterator stats =myRDF.listStatements() ResIterator resWithProp= myRDFModel.listResourcesWithProperty( ModelFactory.createProperty(“http://example/p1”) ); value of p1 for ex1 list all statements all subjects that have some p1

slide-84
SLIDE 84

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Semantic Web application development

Accessing Elements of OWL

myOntModel=ModelFactory.createOntologyModel(); myOntModel.read(“example.owl”); ExtendedIterator myOntModel.listIndividuals(); ExtendedIterator myOntModel. listSymmetricalProperties(); ExtendedIterator myOntModel.listUnionClasses(); StmIterator stats =myRDF.listStatements()

  • ntology

model still and RDF model!

  • http://jena.sourceforge.net/
  • http://jena.sourceforge.net/javadoc/
  • http://www.ibm.com/developerworks/xml/library/j-jena/
  • http://www.ibm.com/developerworks/library/j-sparql/
slide-85
SLIDE 85

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Semantic Web application development

Reasoning

myModel=ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_TRANS_INF,myRDFModel ); myModel=ModelFactory.createOntologyModel( PelletReasonerFactory.THE_SPEC,myRDFModel ); myModel.prepare(); [rdfs6: (?a ?p ?b), (?p rdfs:subPropertyOf ?q)

  • > (?a ?q ?b)] Model.read(“file://my/file/url”);

Simple Reasoner (Transitive) Connection to Pellet Rules!

  • http://jena.sourceforge.net/inference/
slide-86
SLIDE 86

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

The end

The building blocks of the Semantic Web HowTo: export your data in semantic web formats, build a knowledge bases and query it.

Semantic Web application development

slide-87
SLIDE 87

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Reading further...

The building blocks of the Semantic Web HowTo: export your data in semantic web formats, Semantic Web application development

  • http://www.w3.org/2005/04/fresnel-info/
  • http://esw.w3.org/topic/HCLS/Banff2007Demo
slide-88
SLIDE 88

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Extra time

Example 1 : implementing non standard semantics (UnificationXrefs)

(?x owl:sameAs ?y) <- (?x bp:unificationXrefs ?x1) (?y bp:unificationXrefs ?y1) (?x1 bp:ID ?i)(?y1 bp:ID ?i) (?x1 bp:version ?v)(?y1 bp:version ?v)

slide-89
SLIDE 89

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Extra time

[Skip-Context: (?interactor new:elementInteracting ?p) <- (?x rdf:type bp:interaction) (?x bp:PARTICIPANTS ?px) (?px bp:PHYSICAL-ENTITY ?p) ]

Example 2: enhancing readability (PeP)

slide-90
SLIDE 90

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Extra time

[Define-interaction: (?interactor1 new:interacts ?interactor2) <- (?x rdf:type bp:interaction) (?x new:elementInteracting ?interactor1) (?x new:elementInteracting ?interactor2)]

new:interacts ?x7 ?x6

bp:PHYSICAL!ENT bp:PARTICIPANTS bp:PARTICIPANTS YSICAL!ENTITY rdf:type ?x1 ?x4 ?x3 ?x2 ?x5 bp:interaction Example 3: enhancing readability

(PeP)

slide-91
SLIDE 91

Building Semantic Web tools for Bioinformatics 6th annual meeting of the Bioinformatics ITalian Sociaety, Genova, 18-20 Apr. 2009

Extra time

[influence: (?x ak:influences ?y) <- (?p1 rdf:type bp:biochemicalReaction) (?p2 rdf:type bp:biochemicalReaction) (?p1 bp:RIGHT ?k1)(?k1 bp:PHYSICAL-ENTITY ?k) (?p2 bp:LEFT ?k2)(?k2 bp:PHYSICAL-ENTITY ?k) (?p1 bp:LEFT ?k3)(?k3 bp:PHYSICAL-ENTITY ?x) (?p2 bp:RIGHT ?k4)(?k4 bp:PHYSICAL-ENTITY ?y) ]

Example 4: inference of causal relations