35
Populous: A tool for Populating OWL Ontologies from Templates Simon Jupp Bio Health Informatics Group, School of Computer Science, University of Manchester, UK 10.12.2010 SWAT4LS 2010, Berlin.

Populous: A tool for Populating OWL Ontologies from Templates

Embed Size (px)

DESCRIPTION

talk on Populous at SWAT4LS in berlin 2010; presented by Simon Jupp

Citation preview

Page 1: Populous: A tool for Populating OWL Ontologies from Templates

Populous:A tool for Populating OWL

Ontologies from TemplatesSimon Jupp

Bio Health Informatics Group, School of Computer Science,University of Manchester, UK

10.12.2010 SWAT4LS 2010, Berlin.

Page 2: Populous: A tool for Populating OWL Ontologies from Templates

Ontology development barriers

The underlying representationThe art of modelingCommunity engagementThe tool support

Page 3: Populous: A tool for Populating OWL Ontologies from Templates

Templates approach

Shield the underlying technology Collect repetitive information consistently Put constraints on the input data Abstraction from any complex modeling

Page 4: Populous: A tool for Populating OWL Ontologies from Templates

Capturing the differentia

All Eukarytoic Cells are either nucleated or anucleate, some cells are multinucleateAll Eukarytoic Cells are either nucleated or anucleate, some cells are multinucleateKnowledge

‘Eukarytoic Cells’ has_nucleation some ‘Nucleation’‘Nucleation’ subClassOf {mononucleate , binucleate , polynucleate , anucleate}

‘Eukarytoic Cells’ has_nucleation some ‘Nucleation’‘Nucleation’ subClassOf {mononucleate , binucleate , polynucleate , anucleate}

Ontologically

‘Eukarytoic Cells’ has_nucleation some ‘Nucleation’‘Nucleation’ subClassOf {mononucleate , binucleate , polynucleate , anucleate}

‘Eukarytoic Cells’ has_nucleation some ‘Nucleation’‘Nucleation’ subClassOf {mononucleate , binucleate , polynucleate , anucleate}

Differentia

‘Eukarytoic Cells’ ‘Nucleation’Mononculear phagocyte mononcuelateFlight Muscle cell multinucleateRed Blood cell anucleate

‘Eukarytoic Cells’ ‘Nucleation’Mononculear phagocyte mononcuelateFlight Muscle cell multinucleateRed Blood cell anucleate

Real Examples

Page 5: Populous: A tool for Populating OWL Ontologies from Templates

Spreadsheets

• A popular tool for data management• Good at collecting regular data• Users from many domains

Page 6: Populous: A tool for Populating OWL Ontologies from Templates

Related work• Cell type ontology normalisation• OBI and Quick Term Templates• ICD-11

Page 7: Populous: A tool for Populating OWL Ontologies from Templates

Typical Stages in Ontology development

RequirementsRequirements

DesignDesign

ConstructionConstruction

DeploymentDeployment

Page 8: Populous: A tool for Populating OWL Ontologies from Templates

Typical Stages in Ontology development

RequirementsRequirements

DesignDesign

ConstructionConstruction

DeploymentDeployment

Populous support these stages

Page 9: Populous: A tool for Populating OWL Ontologies from Templates

Previous work

RDF based tools Excel2RDF, Convert2RDF, RDF123

Protégé 4.0 plugins Excel Importer, Matrix Plugin

Protégé 3.4 Mapping Master (Protégé 3)

Page 10: Populous: A tool for Populating OWL Ontologies from Templates

Populous

Generic tool for populating ontology templates Spreadsheet style interface Supports validation at the point of data entry Expressive Pattern language for OWL Ontology

generation

http://www.e-lico.eu/populous

Page 11: Populous: A tool for Populating OWL Ontologies from Templates

Built on top of RightField

• Semantic Annotation by Stealth

http://www.sysmo-db.org/rightfield

Page 12: Populous: A tool for Populating OWL Ontologies from Templates

Export to Excel

Page 13: Populous: A tool for Populating OWL Ontologies from Templates

Excel Validations

Page 14: Populous: A tool for Populating OWL Ontologies from Templates

Creating Templates

Page 15: Populous: A tool for Populating OWL Ontologies from Templates

Creating Templates

Load from file or directlyfrom BioPortal

Page 16: Populous: A tool for Populating OWL Ontologies from Templates

Creating Templates

Ontology browser

Page 17: Populous: A tool for Populating OWL Ontologies from Templates

Creating Templates

1. Select column

Page 18: Populous: A tool for Populating OWL Ontologies from Templates

Creating Templates

1. Select column 2. Select Class in Ontology

Page 19: Populous: A tool for Populating OWL Ontologies from Templates

Creating Templates

1. Select column 2. Select Class in Ontology

3. Select allowed values

Page 20: Populous: A tool for Populating OWL Ontologies from Templates

Creating Templates

Page 21: Populous: A tool for Populating OWL Ontologies from Templates

Editing Templates

Tab completion

Syntax Highlighting

Multi-value cells

Label rendering

Page 22: Populous: A tool for Populating OWL Ontologies from Templates

Editing Templates

Tab completion

Syntax Highlighting

Multi-value cells

Label rendering

Page 23: Populous: A tool for Populating OWL Ontologies from Templates

Ontology Pre-Processing LanguageA cell type is equivalent to a cell type that is part of some anatomy

Pattern

Page 24: Populous: A tool for Populating OWL Ontologies from Templates

Ontology Pre-Processing Language

?cell:CLASS, ?anatomyPart:CLASS, ?anatomy:CLASS =

(CL:0000000 part_of some ?anatomyPart)

BEGINADD ?cell equivalentTo ?anatomyEND;

Variables

Create axioms

A cell type is equivalent to a cell type that is part of some anatomy

Pattern

OPPL Script

Page 25: Populous: A tool for Populating OWL Ontologies from Templates

Ontology Pre-Processing Language

?cell:CLASS, ?anatomyPart:CLASS, ?anatomy:CLASS =

(CL:0000000 part_of some ?anatomyPart)

BEGINADD ?cell equivalentTo ?anatomyEND;

A cell type is equivalent to a cell type that is part of some anatomy

Pattern

OPPL Script

Variable mapper ?cell -> ‘Kidney Cell’[CL:0003523]?anatomyPart -> ‘Kidney’[FMA:629093]

Page 26: Populous: A tool for Populating OWL Ontologies from Templates

Resulting OWL axioms

Class: CL:0003523

Annotation:rdfs:label ‘Kidney Cell’

EquivalentTo:CL:0000000 and OBO_REL:part_of some FMA:629093

A ‘Kidney Cell’ is equivalent to a cell that is part of the ‘Kidney’

Example

Generated OWL (Manchester Syntax)

Page 27: Populous: A tool for Populating OWL Ontologies from Templates

OPPL Wizzard

Page 28: Populous: A tool for Populating OWL Ontologies from Templates

Variable mapping?cell:CLASS, ?anatomyPart:CLASS, ?partOfRestriction:CLASS = CL_0000000 and part_of some ?anatomyPart,?anatomyIntersection:CLASS = createIntersection(?partOfRestriction.VALUES) BEGINADD ?cell equivalentTo ?anatomyIntersectionEND;

Page 29: Populous: A tool for Populating OWL Ontologies from Templates

Use case – Kidney and Urinary Pathway Ontology (KUPO)

Page 30: Populous: A tool for Populating OWL Ontologies from Templates

KUPO in PopulousCell type Ontology Mouse anatomy Ontology Biological Process (GO)

Page 31: Populous: A tool for Populating OWL Ontologies from Templates

KUPO in OWL

Page 32: Populous: A tool for Populating OWL Ontologies from Templates

Limitations of approach

• Assumes regular patterns– Developing patterns is hard– Not always sensible

• Handling exceptions to patterns– Need special syntax, but how far do you go…

• Regular data (entity-per-row assumption)

Page 33: Populous: A tool for Populating OWL Ontologies from Templates

Future plans

• Mapping Master Support• Additional syntax• Ontology Alignment• Template creation from Protégé OPPL

patterns plugin. • Building KUP knowledge base

Page 34: Populous: A tool for Populating OWL Ontologies from Templates

Summary

• Populous is for populating templates• Focus on supporting domain experts• Expressive pattern language for modeling

OWL• Abstract knowledge from the modeling• Engaging the experts by stealth!

Page 35: Populous: A tool for Populating OWL Ontologies from Templates

Acknowledgments

RightFieldMatthew Horridge, Katy Wolstencroft, Stuart Owen, Carole Goble

OPPL Luigi Iannone, Mikel Aranguren, Alan Rector, Robert Stevens

KUPORobert Stevens, Julie Klein, Joost Schanstra

e-LICOEU-FP7 Collaborative Project (2009-2012) Theme ICT-4.4: Intelligent Content and Semantics