SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Towards ubiquitous OWL
computing:
Simplifying programmatic
authoring of and querying
with OWL axioms
Hilmar Lapp, Jim Balhoff
National Evolutionary Synthesis Center (NESCent)
BOSC 2014, Boston
Did all the work:
http://github.com/balhoff
Jim Balhoff, Programmer extraordinaire
RDF is a powerful data integrator
Linking Open Data cloud
diagram, by Richard Cyganiak
and Anja Jentzsch. http://lod-
cloud.net/
Ontologies allow integrating
across descriptive biology
Descriptive biology
- Phenotypes
- Traits
- Function
- Behavior
- Habitat
- Life Cycle
- Reproduction
- Conservation Threats
Biodiversity
(Specimens,
Occurrence
records)
Taxonomy,
Species ID
Conservation
Biology
Ecology
Genetics
Genomics,
Gene
expression
Genetic
variation
Physiology
Translational
bioinformatics
Fig. 3, Washington et al (2009)
Fig. 1, Washington et al (2009)
Model organism
->
Human
Translational
biodiversity
informatics
Model organism genes -> Evolutionary diversity
by semantic similarity of phenotypes
Fig. 1, Washington et al (2009)
Integrate across studies & fields
by virtue of ontologies
+
= Phenoscape Knowledgebase
Comparative studies Model organism datasets
Computable via shared ontologies,
rich semantics, OWL reasoning
NeXML
matrices
MODs
phenotype & gene
expression
annotations
gene identifiers
ontologies
kb-owl-tools
Bigdata
triplestore OWL
RDF (all) tbox axioms
Owlet SPARQL endpoint
tab-delimited
OWL conversion
• includes translation of
EQ to OWL expressions
Identifier cleanup
URIs for standard
properties across
ontologies are a mess
Axiom generation
• "Absence" classes for OWL EL
negation classification workaround
• SPARQL facilitation (e.g.
materialized existential hierarchies
such as part_of)
Materialize inferred
subclass axioms
ELK reasoner using
extracted tbox axioms
only (not feasible with
individuals included)
Assertion of
absence hierarchy
based on inverse of
hierarchy of negated
classes computed by
ELK
Phenoscape curators Ontology curatorsMOD
curators
SPARQL
queries
applications
ELK
Ontology axiom authoring
at scale is cumbersome
• If a developmental precursor is
absent, the structure is absent.
“For every anatomical structure, assert that
the class of things not having the structure as
a part is a subclass of the class of things not
having the structure’s developmental
precursor structure as a part.”
(See Balhoff et al, Phenotype Day, http://
phenoday2014.bio-lark.org/pdf/11.pdf)
Scowl: marrying programming
to ontology language
“For every anatomical structure, assert that the
class of things not having the structure as part
is a subclass of the class of things not having the
structure’s developmental precursor as part.”
for	
  {	
  
term	
  <-­‐	
  reasoner.getSubclasses(anatomical_structure)
}	
  yield	
  
(not	
  (hasPart	
  some	
  term))	
  SubClassOf	
  (not	
  (hasPart	
  some	
  (developsFrom	
  
some	
  term)))
Scowl
• Allows declarative approach to composing
OWL expressions and axioms using the OWL
API.
• Implemented as a library in Scala
• Exploits ‘implicit class’ construct in
Scala
• Compiler turns declarative expressions
into JVM instructions
• Class, Annotation, Property axioms
val hasFather = ObjectProperty("http://example.org/hasFather")
val hasBrother = ObjectProperty("http://example.org/hasBrother")
val hasUncle = ObjectProperty("http://example.org/hasUncle")
val axiom = hasUncle SubPropertyChain (hasFather o hasBrother)
Chris Mungall (2014) “The
perils of managing OWL in a
version control system”
http://douroucouli.wordpress.com/
2014/03/30/the-perils-of-managing-owl-in-a-
version-control-system/
object	
  AnatomyOntology	
  extends	
  App	
  {
	
  	
  val	
  factory	
  =	
  OWLManager.getOWLDataFactory
	
  	
  val	
  ns	
  =	
  "http://example.org/anatomy.owl#"
	
  	
  val	
  head	
  =	
  Class(ns	
  +	
  "001")
	
  	
  val	
  body	
  =	
  Class(ns	
  +	
  "002")
	
  	
  val	
  hand	
  =	
  Class(ns	
  +	
  "003")
	
  	
  val	
  arm	
  =	
  Class(ns	
  +	
  "004")
	
  	
  val	
  anatomical_structure	
  =	
  Class(ns	
  +	
  "005")
	
  	
  val	
  part_of	
  =	
  ObjectProperty(ns	
  +	
  "006")
	
  	
  val	
  label	
  =	
  factory.getRDFSLabel
	
  	
  val	
  ontology	
  =	
  Ontology("http://example.org/anatomy.owl",	
  Set(
	
  	
  	
  	
  head	
  Annotation	
  (label,	
  "head"),
	
  	
  	
  	
  head	
  SubClassOf	
  anatomical_structure,
	
  	
  	
  	
  head	
  SubClassOf	
  (part_of	
  some	
  body),
	
  	
  	
  	
  head	
  SubClassOf	
  (not(part_of	
  some	
  arm)),
	
  	
  	
  	
  body	
  Annotation	
  (label,	
  "body"),
	
  	
  	
  	
  body	
  SubClassOf	
  anatomical_structure,
	
  	
  	
  	
  arm	
  Annotation	
  (label,	
  "arm"),
	
  	
  	
  	
  arm	
  SubClassOf	
  anatomical_structure,
	
  	
  	
  	
  arm	
  SubClassOf	
  (part_of	
  some	
  body),
	
  	
  	
  	
  hand	
  Annotation	
  (label,	
  "hand"),
	
  	
  	
  	
  hand	
  SubClassOf	
  anatomical_structure,
	
  	
  	
  	
  hand	
  SubClassOf	
  (part_of	
  some	
  arm)))
	
  	
  ontology.getOWLOntologyManager.saveOntology(
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ontology,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  IRI.create(new	
  File(args(0))))
}
Similarly motivated
effort: Tawny-OWL
• By Phil Lord
• Allows construction of
OWL ontologies in Clojure.
• “the ontology engineering
equivalent of R”
• https://github.com/
phillord/tawny-owl
Scowl
• Home:
http://github.com/phenoscape/scowl
• MIT-licensed
Ontology-driven querying in
SPARQL is not pretty
• Awkward, lengthy, complicated
• Error-prone
• Slow
PREFIX	
  rdf:	
  <http://www.w3.org/1999/02/22-­‐rdf-­‐syntax-­‐ns#>
PREFIX	
  rdfs:	
  <http://www.w3.org/2000/01/rdf-­‐schema#>
PREFIX	
  ao:	
  <http://purl.obolibrary.org/obo/my-­‐anatomy-­‐ontology/>
PREFIX	
  owl:	
  <http://www.w3.org/2002/07/owl#>
SELECT	
  DISTINCT	
  ?gene
WHERE	
  
{
?gene	
  ao:expressed_in	
  ?structure	
  .
?structure	
  rdf:type	
  ?structure_class	
  .
#	
  Triple	
  pattern	
  selecting	
  structure:
?structure_class	
  rdfs:subClassOf	
  "ao:muscle”	
  .
?structure_class	
  rdfs:subClassOf	
  ?restriction
?restriction	
  owl:onProperty	
  ao:part_of	
  .
?restriction	
  owl:someValuesFrom	
  "ao:head"	
  .
}
SPARQL: genes expressed in head muscles
• Want to allow arbitrary selection of
structures of interest, using rich semantics:
(part_of some (limb/fin or girdle skeleton))
or (connected_to some girdle skeleton)
• RDF triplestores provide very limited
reasoning expressivity, and scale poorly
with large ontologies.
• However, ELK can answer class expression
queries within seconds.
Owlet: bridging from
SPARQL to DL queries
• owlet interprets OWL class expressions
embedded within SPARQL queries
• Uses any OWL API-based reasoner to
preprocess query.
• We use ELK that holds terminology in
memory.
• Replaces OWL expression with FILTER
statement listing matching terms
owlet: A little OWL in SPARQL
PREFIX	
  rdf:	
  <http://www.w3.org/1999/02/22-­‐rdf-­‐syntax-­‐ns#>
PREFIX	
  rdfs:	
  <http://www.w3.org/2000/01/rdf-­‐schema#>
PREFIX	
  ao:	
  <http://purl.obolibrary.org/obo/my-­‐anatomy-­‐ontology/>
PREFIX	
  ow:	
  <http://purl.org/phenoscape/owlet/syntax#>
SELECT	
  DISTINCT	
  ?gene
WHERE	
  
{
?gene	
  ao:expressed_in	
  ?structure	
  .
?structure	
  rdf:type	
  ?structure_class	
  .
#	
  Triple	
  pattern	
  containing	
  an	
  OWL	
  expression:
?structure_class	
  rdfs:subClassOf	
  "ao:muscle	
  and	
  (ao:part_of	
  some	
  ao:head)"^^ow:omn	
  .
}
PREFIX	
  rdf:	
  <http://www.w3.org/1999/02/22-­‐rdf-­‐syntax-­‐ns#>
PREFIX	
  rdfs:	
  <http://www.w3.org/2000/01/rdf-­‐schema#>
PREFIX	
  ao:	
  <http://purl.obolibrary.org/obo/my-­‐anatomy-­‐ontology/>
PREFIX	
  ow:	
  <http://purl.org/phenoscape/owlet/syntax#>
SELECT	
  DISTINCT	
  ?gene
WHERE	
  
{
?gene	
  ao:expressed_in	
  ?structure	
  .
?structure	
  rdf:type	
  ?structure_class	
  .
#	
  Filter	
  constraining	
  ?structure_class	
  to	
  the	
  terms	
  returned	
  by	
  the	
  OWL	
  query:
FILTER(?structure_class	
  IN	
  (ao:adductor_mandibulae,	
  ao:constrictor_dorsalis,	
  ...))
}
➡︀︁︂︃︄︅︆︇︈︉︊︋︌︍︎️
owlet
➡︀︁︂︃︄︅︆︇︈︉︊︋︌︍︎️
• Implemented in Scala, can be used in Java
• Home: http://github.com/phenoscape/owlet
• MIT-licensed
• Unique to owlet, compared to some related
efforts (e.g., SPARQL-DL, Terp in Pellet):
• Any SPARQL endpoint / OWL API-based
reasoner combination
• No non-standard syntax
owlet: A little OWL in SPARQL
owlery: REST web
services for owlet
• Allows federation via SERVICE keyword in
SPARQL
• http://github.com/phenoscape/owlery
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ao: <http://purl.obolibrary.org/obo/my-anatomy-ontology/>
PREFIX ow: <http://purl.org/phenoscape/owlet/syntax#>
SELECT DISTINCT ?gene
WHERE 
{
?gene ao:expressed_in ?structure .
?structure rdf:type ?structure_class .
  # Triple pattern containing an OWL expression, handled by federated query:
  SERVICE <http://owlery.example.org/sparql> {
  ?structure_class rdfs:subClassOf
"ao:muscle and (ao:part_of some ao:head)"^^ow:omn .
  }
}
Summary
• Programming and computing with OWL
is more complicated than need be
• Need a thriving ecosystem of small
tools that fill common gaps
• Scowl, Owlet, and Owlery are small
steps in that direction
• Vision: programming with ontologies as
easy and ubiquitous as with alignments
Acknowledgements
• Jim Balhoff (NESCent,
Phenoscape)
• Chris Mungall (LBL)
• Ontology engineering
community (incl. Phil
Lord, OWL API)
• Phenoscape personnel,
PIs, and curators
• National Evolutionary
Synthesis Center
(NESCent)
• NSF (DBI-1062404,
DBI-1062542)

Más contenido relacionado

La actualidad más candente

Research Objects for e-Laboratories
Research Objects for e-LaboratoriesResearch Objects for e-Laboratories
Research Objects for e-Laboratories
David Newman
 
FUNctional Programming in Java 8
FUNctional Programming in Java 8FUNctional Programming in Java 8
FUNctional Programming in Java 8
Richard Walker
 
Java Introductie
Java IntroductieJava Introductie
Java Introductie
mbruggen
 

La actualidad más candente (20)

Research Objects for e-Laboratories
Research Objects for e-LaboratoriesResearch Objects for e-Laboratories
Research Objects for e-Laboratories
 
ICAR 2015 Poster - Araport
ICAR 2015 Poster - AraportICAR 2015 Poster - Araport
ICAR 2015 Poster - Araport
 
P7 2018 biopython3
P7 2018 biopython3P7 2018 biopython3
P7 2018 biopython3
 
2008 11 13 Hcls Call
2008 11 13 Hcls Call2008 11 13 Hcls Call
2008 11 13 Hcls Call
 
Molecular scaffolds poster
Molecular scaffolds posterMolecular scaffolds poster
Molecular scaffolds poster
 
Molecular scaffolds are special and useful guides to discovery
Molecular scaffolds are special and useful guides to discoveryMolecular scaffolds are special and useful guides to discovery
Molecular scaffolds are special and useful guides to discovery
 
ACS 248th Paper 146 VIVO/ScientistsDB Integration into Eureka
ACS 248th Paper 146 VIVO/ScientistsDB Integration into EurekaACS 248th Paper 146 VIVO/ScientistsDB Integration into Eureka
ACS 248th Paper 146 VIVO/ScientistsDB Integration into Eureka
 
FUNctional Programming in Java 8
FUNctional Programming in Java 8FUNctional Programming in Java 8
FUNctional Programming in Java 8
 
Java Introductie
Java IntroductieJava Introductie
Java Introductie
 
2016 bioinformatics i_io_wim_vancriekinge
2016 bioinformatics i_io_wim_vancriekinge2016 bioinformatics i_io_wim_vancriekinge
2016 bioinformatics i_io_wim_vancriekinge
 
Tony Rees IRMNG 2015 presentation
Tony Rees IRMNG 2015 presentationTony Rees IRMNG 2015 presentation
Tony Rees IRMNG 2015 presentation
 
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...
 
SQL is Dead; Long Live SQL: Lightweight Query Services for Long Tail Science
SQL is Dead; Long Live SQL: Lightweight Query Services for Long Tail ScienceSQL is Dead; Long Live SQL: Lightweight Query Services for Long Tail Science
SQL is Dead; Long Live SQL: Lightweight Query Services for Long Tail Science
 
BioSamples Database Linked Data, SWAT4LS Tutorial
BioSamples Database Linked Data, SWAT4LS TutorialBioSamples Database Linked Data, SWAT4LS Tutorial
BioSamples Database Linked Data, SWAT4LS Tutorial
 
10 years of global biodiversity databases: are we there yet?
10 years of global biodiversity databases: are we there yet?10 years of global biodiversity databases: are we there yet?
10 years of global biodiversity databases: are we there yet?
 
Franz 2014 ESA Aligning Insect Phylogenies Perelleschus and Other Cases
Franz 2014 ESA Aligning Insect Phylogenies Perelleschus and Other CasesFranz 2014 ESA Aligning Insect Phylogenies Perelleschus and Other Cases
Franz 2014 ESA Aligning Insect Phylogenies Perelleschus and Other Cases
 
Biodiversity Informatics Course Presentation
Biodiversity Informatics Course PresentationBiodiversity Informatics Course Presentation
Biodiversity Informatics Course Presentation
 
Experiences in the biosciences with the open biological ontologies foundry an...
Experiences in the biosciences with the open biological ontologies foundry an...Experiences in the biosciences with the open biological ontologies foundry an...
Experiences in the biosciences with the open biological ontologies foundry an...
 
SWAT4LS 2014 SLIDE by Yamamoto
SWAT4LS 2014 SLIDE by YamamotoSWAT4LS 2014 SLIDE by Yamamoto
SWAT4LS 2014 SLIDE by Yamamoto
 
2015 Summer - Araport Project Overview Leaflet
2015 Summer - Araport Project Overview Leaflet2015 Summer - Araport Project Overview Leaflet
2015 Summer - Araport Project Overview Leaflet
 

Destacado

interpersonal relations- leadership development plan draft
interpersonal relations- leadership development plan draftinterpersonal relations- leadership development plan draft
interpersonal relations- leadership development plan draft
Christopher Jankun
 

Destacado (6)

Integrating data with phylogenies, at scale
Integrating data with phylogenies, at scaleIntegrating data with phylogenies, at scale
Integrating data with phylogenies, at scale
 
Open Bioinformatics Foundation: 2014 Update & Some Introspection
Open Bioinformatics Foundation: 2014 Update & Some IntrospectionOpen Bioinformatics Foundation: 2014 Update & Some Introspection
Open Bioinformatics Foundation: 2014 Update & Some Introspection
 
The Dryad Digital Repository: Published data as part of the greater data ecos...
The Dryad Digital Repository: Published data as part of the greater data ecos...The Dryad Digital Repository: Published data as part of the greater data ecos...
The Dryad Digital Repository: Published data as part of the greater data ecos...
 
Data curation at Dryad Digital Repository: A former curator's perspective
Data curation at Dryad Digital Repository: A former curator's perspectiveData curation at Dryad Digital Repository: A former curator's perspective
Data curation at Dryad Digital Repository: A former curator's perspective
 
interpersonal relations- leadership development plan draft
interpersonal relations- leadership development plan draftinterpersonal relations- leadership development plan draft
interpersonal relations- leadership development plan draft
 
SMART Communication Plans
SMART Communication PlansSMART Communication Plans
SMART Communication Plans
 

Similar a Towards ubiquitous OWL computing: Simplifying programmatic authoring of and querying with OWL axioms

Adapt OWL as a Modular Ontology Language
Adapt OWL as a Modular Ontology LanguageAdapt OWL as a Modular Ontology Language
Adapt OWL as a Modular Ontology Language
Jie Bao
 
Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...
Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...
Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...
NASIG
 

Similar a Towards ubiquitous OWL computing: Simplifying programmatic authoring of and querying with OWL axioms (20)

eureka09
eureka09eureka09
eureka09
 
eureka09
eureka09eureka09
eureka09
 
Ontology-based data access and semantic mining with Aber-OWL
Ontology-based data access and semantic mining with Aber-OWLOntology-based data access and semantic mining with Aber-OWL
Ontology-based data access and semantic mining with Aber-OWL
 
Tutorial OWL and drug discovery ICBO 2013
Tutorial OWL and drug discovery ICBO 2013Tutorial OWL and drug discovery ICBO 2013
Tutorial OWL and drug discovery ICBO 2013
 
Semantic Web: From Representations to Applications
Semantic Web: From Representations to ApplicationsSemantic Web: From Representations to Applications
Semantic Web: From Representations to Applications
 
NCBO BioPortal SPARQL Endpoint - The Quad Economy of a Semantic Web Ontology ...
NCBO BioPortal SPARQL Endpoint - The Quad Economy of a Semantic Web Ontology ...NCBO BioPortal SPARQL Endpoint - The Quad Economy of a Semantic Web Ontology ...
NCBO BioPortal SPARQL Endpoint - The Quad Economy of a Semantic Web Ontology ...
 
Semantic tools for aggregation of morphological characters across studies
Semantic tools for aggregation of morphological characters across studiesSemantic tools for aggregation of morphological characters across studies
Semantic tools for aggregation of morphological characters across studies
 
Integrating a Domain Ontology Development Environment and an Ontology Search ...
Integrating a Domain Ontology Development Environment and an Ontology Search ...Integrating a Domain Ontology Development Environment and an Ontology Search ...
Integrating a Domain Ontology Development Environment and an Ontology Search ...
 
Semantic Modelling using Semantic Web Technology
Semantic Modelling using Semantic Web TechnologySemantic Modelling using Semantic Web Technology
Semantic Modelling using Semantic Web Technology
 
Reasoning on the Semantic Web
Reasoning on the Semantic WebReasoning on the Semantic Web
Reasoning on the Semantic Web
 
Drug-discovery knowledge integration and analysis using OWL and reasoners
Drug-discovery knowledge integration and analysis using OWL and reasonersDrug-discovery knowledge integration and analysis using OWL and reasoners
Drug-discovery knowledge integration and analysis using OWL and reasoners
 
Experiences with logic programming in bioinformatics
Experiences with logic programming in bioinformaticsExperiences with logic programming in bioinformatics
Experiences with logic programming in bioinformatics
 
Falcon-AO: Results for OAEI 2007
Falcon-AO: Results for OAEI 2007Falcon-AO: Results for OAEI 2007
Falcon-AO: Results for OAEI 2007
 
Web ontology language (owl)
Web ontology language (owl)Web ontology language (owl)
Web ontology language (owl)
 
Formalization and implementation of BFO 2 with a focus on the OWL implementation
Formalization and implementation of BFO 2 with a focus on the OWL implementationFormalization and implementation of BFO 2 with a focus on the OWL implementation
Formalization and implementation of BFO 2 with a focus on the OWL implementation
 
Adapt OWL as a Modular Ontology Language
Adapt OWL as a Modular Ontology LanguageAdapt OWL as a Modular Ontology Language
Adapt OWL as a Modular Ontology Language
 
WEB ONTOLOGY LANGUAGE: OWL
WEB ONTOLOGY LANGUAGE: OWLWEB ONTOLOGY LANGUAGE: OWL
WEB ONTOLOGY LANGUAGE: OWL
 
Owl assignment udeh
Owl assignment udehOwl assignment udeh
Owl assignment udeh
 
Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...
Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...
Bringing It All Together: Mapping Continuing Resources Vocabularies for Linke...
 
SPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeSPARQL-DL - Theory & Practice
SPARQL-DL - Theory & Practice
 

Más de Hilmar Lapp

PhyloCommons: Sharing, annotating, and reusing Phylogenies
PhyloCommons: Sharing, annotating, and reusing PhylogeniesPhyloCommons: Sharing, annotating, and reusing Phylogenies
PhyloCommons: Sharing, annotating, and reusing Phylogenies
Hilmar Lapp
 
The MIAPA ontology: An annotation ontology for validating minimum metadata re...
The MIAPA ontology: An annotation ontology for validating minimum metadata re...The MIAPA ontology: An annotation ontology for validating minimum metadata re...
The MIAPA ontology: An annotation ontology for validating minimum metadata re...
Hilmar Lapp
 
Towards a Simple, Standards-Compliant, and Generic Phylogenetic Database
Towards a Simple, Standards-Compliant, and Generic Phylogenetic DatabaseTowards a Simple, Standards-Compliant, and Generic Phylogenetic Database
Towards a Simple, Standards-Compliant, and Generic Phylogenetic Database
Hilmar Lapp
 
Lapp, ISCB Software Sharing Symposium
Lapp, ISCB Software Sharing SymposiumLapp, ISCB Software Sharing Symposium
Lapp, ISCB Software Sharing Symposium
Hilmar Lapp
 
BioSQL Reloaded: v1.0 Release, PhyloDB Module, and Future Features
BioSQL Reloaded: v1.0 Release, PhyloDB Module, and Future FeaturesBioSQL Reloaded: v1.0 Release, PhyloDB Module, and Future Features
BioSQL Reloaded: v1.0 Release, PhyloDB Module, and Future Features
Hilmar Lapp
 

Más de Hilmar Lapp (16)

Of Trees and Owl: 
The challenges of reasoning over the semantics of shared d...
Of Trees and Owl: 
The challenges of reasoning over the semantics of shared d...Of Trees and Owl: 
The challenges of reasoning over the semantics of shared d...
Of Trees and Owl: 
The challenges of reasoning over the semantics of shared d...
 
Reproducible Science - Panel at iEvoBio 2014
Reproducible Science - Panel at iEvoBio 2014 Reproducible Science - Panel at iEvoBio 2014
Reproducible Science - Panel at iEvoBio 2014
 
Semantics of and for the diversity of life:
 Opportunities and perils of tryi...
Semantics of and for the diversity of life:
 Opportunities and perils of tryi...Semantics of and for the diversity of life:
 Opportunities and perils of tryi...
Semantics of and for the diversity of life:
 Opportunities and perils of tryi...
 
PhyloCommons: Sharing, annotating, and reusing Phylogenies
PhyloCommons: Sharing, annotating, and reusing PhylogeniesPhyloCommons: Sharing, annotating, and reusing Phylogenies
PhyloCommons: Sharing, annotating, and reusing Phylogenies
 
OBF Address at BOSC 2013
OBF Address at BOSC 2013OBF Address at BOSC 2013
OBF Address at BOSC 2013
 
The MIAPA ontology: An annotation ontology for validating minimum metadata re...
The MIAPA ontology: An annotation ontology for validating minimum metadata re...The MIAPA ontology: An annotation ontology for validating minimum metadata re...
The MIAPA ontology: An annotation ontology for validating minimum metadata re...
 
The blessing and the curse: handshaking between general and specialist data r...
The blessing and the curse: handshaking between general and specialist data r...The blessing and the curse: handshaking between general and specialist data r...
The blessing and the curse: handshaking between general and specialist data r...
 
Bringing reason to phenotype diversity, character change, and common descent
Bringing reason to phenotype diversity, character change, and common descentBringing reason to phenotype diversity, character change, and common descent
Bringing reason to phenotype diversity, character change, and common descent
 
Phyloinformatics VoCamp
Phyloinformatics VoCampPhyloinformatics VoCamp
Phyloinformatics VoCamp
 
Reasoning over phenotype diversity, character change, and evolutionary descent
Reasoning over phenotype diversity, character change, and evolutionary descentReasoning over phenotype diversity, character change, and evolutionary descent
Reasoning over phenotype diversity, character change, and evolutionary descent
 
Open science, open-source, and open data: Collaboration as an emergent property?
Open science, open-source, and open data: Collaboration as an emergent property?Open science, open-source, and open data: Collaboration as an emergent property?
Open science, open-source, and open data: Collaboration as an emergent property?
 
Liberating Our Beautiful Trees: A Call to Arms.
Liberating Our Beautiful Trees: A Call to Arms.Liberating Our Beautiful Trees: A Call to Arms.
Liberating Our Beautiful Trees: A Call to Arms.
 
OBF Address at BOSC 2012
OBF Address at BOSC 2012OBF Address at BOSC 2012
OBF Address at BOSC 2012
 
Towards a Simple, Standards-Compliant, and Generic Phylogenetic Database
Towards a Simple, Standards-Compliant, and Generic Phylogenetic DatabaseTowards a Simple, Standards-Compliant, and Generic Phylogenetic Database
Towards a Simple, Standards-Compliant, and Generic Phylogenetic Database
 
Lapp, ISCB Software Sharing Symposium
Lapp, ISCB Software Sharing SymposiumLapp, ISCB Software Sharing Symposium
Lapp, ISCB Software Sharing Symposium
 
BioSQL Reloaded: v1.0 Release, PhyloDB Module, and Future Features
BioSQL Reloaded: v1.0 Release, PhyloDB Module, and Future FeaturesBioSQL Reloaded: v1.0 Release, PhyloDB Module, and Future Features
BioSQL Reloaded: v1.0 Release, PhyloDB Module, and Future Features
 

Último

Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Sérgio Sacani
 
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
Lokesh Kothari
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
PirithiRaju
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
RohitNehra6
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
RizalinePalanog2
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
Sérgio Sacani
 

Último (20)

Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Green chemistry and Sustainable development.pptx
Green chemistry  and Sustainable development.pptxGreen chemistry  and Sustainable development.pptx
Green chemistry and Sustainable development.pptx
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)
 
Botany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsBotany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questions
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
VIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PVIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C P
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
GUIDELINES ON SIMILAR BIOLOGICS Regulatory Requirements for Marketing Authori...
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICESAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...
High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...
High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 

Towards ubiquitous OWL computing: Simplifying programmatic authoring of and querying with OWL axioms

  • 1. Towards ubiquitous OWL computing: Simplifying programmatic authoring of and querying with OWL axioms Hilmar Lapp, Jim Balhoff National Evolutionary Synthesis Center (NESCent) BOSC 2014, Boston
  • 2. Did all the work: http://github.com/balhoff Jim Balhoff, Programmer extraordinaire
  • 3. RDF is a powerful data integrator Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod- cloud.net/
  • 4. Ontologies allow integrating across descriptive biology Descriptive biology - Phenotypes - Traits - Function - Behavior - Habitat - Life Cycle - Reproduction - Conservation Threats Biodiversity (Specimens, Occurrence records) Taxonomy, Species ID Conservation Biology Ecology Genetics Genomics, Gene expression Genetic variation Physiology
  • 5. Translational bioinformatics Fig. 3, Washington et al (2009) Fig. 1, Washington et al (2009) Model organism -> Human
  • 6. Translational biodiversity informatics Model organism genes -> Evolutionary diversity by semantic similarity of phenotypes Fig. 1, Washington et al (2009)
  • 7. Integrate across studies & fields by virtue of ontologies + = Phenoscape Knowledgebase Comparative studies Model organism datasets
  • 8. Computable via shared ontologies, rich semantics, OWL reasoning
  • 9. NeXML matrices MODs phenotype & gene expression annotations gene identifiers ontologies kb-owl-tools Bigdata triplestore OWL RDF (all) tbox axioms Owlet SPARQL endpoint tab-delimited OWL conversion • includes translation of EQ to OWL expressions Identifier cleanup URIs for standard properties across ontologies are a mess Axiom generation • "Absence" classes for OWL EL negation classification workaround • SPARQL facilitation (e.g. materialized existential hierarchies such as part_of) Materialize inferred subclass axioms ELK reasoner using extracted tbox axioms only (not feasible with individuals included) Assertion of absence hierarchy based on inverse of hierarchy of negated classes computed by ELK Phenoscape curators Ontology curatorsMOD curators SPARQL queries applications ELK
  • 10. Ontology axiom authoring at scale is cumbersome • If a developmental precursor is absent, the structure is absent. “For every anatomical structure, assert that the class of things not having the structure as a part is a subclass of the class of things not having the structure’s developmental precursor structure as a part.” (See Balhoff et al, Phenotype Day, http:// phenoday2014.bio-lark.org/pdf/11.pdf)
  • 11. Scowl: marrying programming to ontology language “For every anatomical structure, assert that the class of things not having the structure as part is a subclass of the class of things not having the structure’s developmental precursor as part.” for  {   term  <-­‐  reasoner.getSubclasses(anatomical_structure) }  yield   (not  (hasPart  some  term))  SubClassOf  (not  (hasPart  some  (developsFrom   some  term)))
  • 12. Scowl • Allows declarative approach to composing OWL expressions and axioms using the OWL API. • Implemented as a library in Scala • Exploits ‘implicit class’ construct in Scala • Compiler turns declarative expressions into JVM instructions • Class, Annotation, Property axioms val hasFather = ObjectProperty("http://example.org/hasFather") val hasBrother = ObjectProperty("http://example.org/hasBrother") val hasUncle = ObjectProperty("http://example.org/hasUncle") val axiom = hasUncle SubPropertyChain (hasFather o hasBrother)
  • 13. Chris Mungall (2014) “The perils of managing OWL in a version control system” http://douroucouli.wordpress.com/ 2014/03/30/the-perils-of-managing-owl-in-a- version-control-system/
  • 14. object  AnatomyOntology  extends  App  {    val  factory  =  OWLManager.getOWLDataFactory    val  ns  =  "http://example.org/anatomy.owl#"    val  head  =  Class(ns  +  "001")    val  body  =  Class(ns  +  "002")    val  hand  =  Class(ns  +  "003")    val  arm  =  Class(ns  +  "004")    val  anatomical_structure  =  Class(ns  +  "005")    val  part_of  =  ObjectProperty(ns  +  "006")    val  label  =  factory.getRDFSLabel    val  ontology  =  Ontology("http://example.org/anatomy.owl",  Set(        head  Annotation  (label,  "head"),        head  SubClassOf  anatomical_structure,        head  SubClassOf  (part_of  some  body),        head  SubClassOf  (not(part_of  some  arm)),        body  Annotation  (label,  "body"),        body  SubClassOf  anatomical_structure,        arm  Annotation  (label,  "arm"),        arm  SubClassOf  anatomical_structure,        arm  SubClassOf  (part_of  some  body),        hand  Annotation  (label,  "hand"),        hand  SubClassOf  anatomical_structure,        hand  SubClassOf  (part_of  some  arm)))    ontology.getOWLOntologyManager.saveOntology(                                                                ontology,                                                                  IRI.create(new  File(args(0)))) }
  • 15. Similarly motivated effort: Tawny-OWL • By Phil Lord • Allows construction of OWL ontologies in Clojure. • “the ontology engineering equivalent of R” • https://github.com/ phillord/tawny-owl
  • 17. Ontology-driven querying in SPARQL is not pretty • Awkward, lengthy, complicated • Error-prone • Slow PREFIX  rdf:  <http://www.w3.org/1999/02/22-­‐rdf-­‐syntax-­‐ns#> PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#> PREFIX  ao:  <http://purl.obolibrary.org/obo/my-­‐anatomy-­‐ontology/> PREFIX  owl:  <http://www.w3.org/2002/07/owl#> SELECT  DISTINCT  ?gene WHERE   { ?gene  ao:expressed_in  ?structure  . ?structure  rdf:type  ?structure_class  . #  Triple  pattern  selecting  structure: ?structure_class  rdfs:subClassOf  "ao:muscle”  . ?structure_class  rdfs:subClassOf  ?restriction ?restriction  owl:onProperty  ao:part_of  . ?restriction  owl:someValuesFrom  "ao:head"  . } SPARQL: genes expressed in head muscles
  • 18. • Want to allow arbitrary selection of structures of interest, using rich semantics: (part_of some (limb/fin or girdle skeleton)) or (connected_to some girdle skeleton) • RDF triplestores provide very limited reasoning expressivity, and scale poorly with large ontologies. • However, ELK can answer class expression queries within seconds. Owlet: bridging from SPARQL to DL queries
  • 19. • owlet interprets OWL class expressions embedded within SPARQL queries • Uses any OWL API-based reasoner to preprocess query. • We use ELK that holds terminology in memory. • Replaces OWL expression with FILTER statement listing matching terms owlet: A little OWL in SPARQL
  • 20. PREFIX  rdf:  <http://www.w3.org/1999/02/22-­‐rdf-­‐syntax-­‐ns#> PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#> PREFIX  ao:  <http://purl.obolibrary.org/obo/my-­‐anatomy-­‐ontology/> PREFIX  ow:  <http://purl.org/phenoscape/owlet/syntax#> SELECT  DISTINCT  ?gene WHERE   { ?gene  ao:expressed_in  ?structure  . ?structure  rdf:type  ?structure_class  . #  Triple  pattern  containing  an  OWL  expression: ?structure_class  rdfs:subClassOf  "ao:muscle  and  (ao:part_of  some  ao:head)"^^ow:omn  . } PREFIX  rdf:  <http://www.w3.org/1999/02/22-­‐rdf-­‐syntax-­‐ns#> PREFIX  rdfs:  <http://www.w3.org/2000/01/rdf-­‐schema#> PREFIX  ao:  <http://purl.obolibrary.org/obo/my-­‐anatomy-­‐ontology/> PREFIX  ow:  <http://purl.org/phenoscape/owlet/syntax#> SELECT  DISTINCT  ?gene WHERE   { ?gene  ao:expressed_in  ?structure  . ?structure  rdf:type  ?structure_class  . #  Filter  constraining  ?structure_class  to  the  terms  returned  by  the  OWL  query: FILTER(?structure_class  IN  (ao:adductor_mandibulae,  ao:constrictor_dorsalis,  ...)) } ➡︀︁︂︃︄︅︆︇︈︉︊︋︌︍︎️ owlet ➡︀︁︂︃︄︅︆︇︈︉︊︋︌︍︎️
  • 21. • Implemented in Scala, can be used in Java • Home: http://github.com/phenoscape/owlet • MIT-licensed • Unique to owlet, compared to some related efforts (e.g., SPARQL-DL, Terp in Pellet): • Any SPARQL endpoint / OWL API-based reasoner combination • No non-standard syntax owlet: A little OWL in SPARQL
  • 22. owlery: REST web services for owlet • Allows federation via SERVICE keyword in SPARQL • http://github.com/phenoscape/owlery PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX ao: <http://purl.obolibrary.org/obo/my-anatomy-ontology/> PREFIX ow: <http://purl.org/phenoscape/owlet/syntax#> SELECT DISTINCT ?gene WHERE  { ?gene ao:expressed_in ?structure . ?structure rdf:type ?structure_class .   # Triple pattern containing an OWL expression, handled by federated query:   SERVICE <http://owlery.example.org/sparql> {   ?structure_class rdfs:subClassOf "ao:muscle and (ao:part_of some ao:head)"^^ow:omn .   } }
  • 23. Summary • Programming and computing with OWL is more complicated than need be • Need a thriving ecosystem of small tools that fill common gaps • Scowl, Owlet, and Owlery are small steps in that direction • Vision: programming with ontologies as easy and ubiquitous as with alignments
  • 24. Acknowledgements • Jim Balhoff (NESCent, Phenoscape) • Chris Mungall (LBL) • Ontology engineering community (incl. Phil Lord, OWL API) • Phenoscape personnel, PIs, and curators • National Evolutionary Synthesis Center (NESCent) • NSF (DBI-1062404, DBI-1062542)