Title: NCBO SPARQL Endpoint
1NCBO SPARQL Endpoint
- Trish Whetzel
- Outreach Coordinator
2Outline
- NCBO Overview
- BioPortal Web and Web services
- BioPortal SPARQL Endpoint
- BioPortal Metadata Ontology
- SPARQL Examples
3Links of Interest
- http//www.bioontology.org/wiki/index.php/SWAT4LS2
012_Tutorial
4National Center for Biomedical Ontology
- Mission
- To create software for the application of
ontologies in biomedical science and clinical
care - NCBO Partners
- Stanford University - Dr. Mark A. Musen
- Mayo Clinic - Dr. Christopher G. Chute
- University at Buffalo - Dr. Barry Smith
- University of Victoria - Dr. Margaret-Anne Storey
5NCBO Key Activities
- We create and maintain a library of biomedical
ontologies - We build tools and Web services to enable the use
of ontologies - We collaborate with scientific communities that
develop and use ontologies
6National Centers for Biomedical Computing
(http//www.ncbcs.org)
7www.bioontology.org
8Outline
- NCBO Overview
- BioPortal Web and Web services
- BioPortal SPARQL Endpoint
- BioPortal Metadata Ontology
- SPARQL Examples
9bioportal.bioontology.org
10BioPortal
- Repository of biomedical ontologies
- Infrastructure is domain independent
- Stores ontologies developed in OWL, Protégé
frames, OBO format, and Rich Release Format - Access to ontologies via Web interface, Web
services, and SPARQL - Access control for private ontologies
- Supports subsets/views of ontologies
11- Search
- Traverse
- Comment
- Download
Ontology Services
Mapping Services
http//rest.bioontology.org
- Tree-view
- Auto-complete
- Graph-view
Widgets
Annotation
Term recognition
Search data annotated with a given term
Data Access
http//bioportal.bioontology.org
12Virtual Appliance Installations
13Who is using NCBO technology?
14Outline
- NCBO Overview
- BioPortal Web and Web services
- BioPortal SPARQL Endpoint
- BioPortal Metadata Ontology
- SPARQL Examples
15BioPortal Architecture
Ruby on Rails
Tomcat
Restlet
Spring Framework
Hibernate ORM
RDF
LexEVS
Protégé DB
OWL, RDF, Protégé frames
OBO format, UMLS RRF, LexGrid XML
16http//sparql.bioontology.org/
17BioPortal SPARQL Data
- Ontology Content
- Ontology Metadata
- Mapping Data
18BioPortal SPARQL Data cont.
- All ontologies from BioPortal
- Original ontology format transformed into RDF
- OBO and OWL converted via OWL API
- RRF converted via UMLS2RDF custom code
- Latest version only
- Statistics
- 415 ontologies
- 4.2M terms
- 2419 different predicates
- 80M triples
19Outline
- NCBO Overview
- BioPortal Web and Web services
- BioPortal SPARQL Endpoint
- BioPortal Metadata Ontology
- SPARQL Examples
20BioPortal Metadata Ontology
- Virtual Ontology
- Virtual ontology identifier provides a stable
identifier across all versions of the ontology - All versions of an ontology are linked via this
ID - Ontology
- Ontology version identifier is unique for each
version of an ontology - Most metadata linked directly to the ontology
version
21BioPortal Ontology Metadata
22BioPortal Metadata Ontology
23Outline
- NCBO Overview
- BioPortal Web and Web services
- BioPortal SPARQL Endpoint
- BioPortal Metadata Ontology
- SPARQL Examples
24SPARQL Basics
- W3C standard query language for RDF
25Prefixes of Interest
- meta http//bioportal.bioontology.org/metadata/de
f/ - omv http//omv.ontoware.org/2005/05/ontology
- map http//protege.stanford.edu/ontologies/mappin
gs/mappings.rdfs - owl http//www.w3.org/2002/07/owl
- skos http//www.w3.org/2004/02/skos/core
- rdfs http//www.w3.org/2000/01/rdf-schema
- rdf http//www.w3.org/1999/02/22-rdf-syntax-ns
- xsd http//www.w3.org/2001/XMLSchema
26Ontology Content in Named Graphs
No named graph is the same as the union of all
graphs.
27Globals
- Provides rdfssubPropertyOf reasoning to enable
querying over multiple ontologies while using the
same predicate - http//bioportal.bioontology.org/ontologies/global
s - Implemented for
- Preferred name skosprefLabel
- Synonyms skosaltLabel
- Term definition skosdefinition
- Term author dcauthor
28Query including globals
29Select all ontology graphs
30(No Transcript)
31All ontologies updated since DATE
32List latest ontologies
33Find term in all ontologies
34Get all root terms
35Select all terms from the ABA Adult Mouse Anatomy
36Select URI and preferred label from all terms
37Get parent of given term
38Select all terms and their parent
39Select distinct properties from an ontology
40Select properties for term
41Get count of terms in SNOMED
42Mapping Access
- Get a list of mappings for an ontology to all
other ontologies - Get a list of mappings between two ontologies
- Get a list of mappings for a single term
- Get a list of mappings between two terms
43Mapping Data Sources
- Loom - lexical mappings
- REST - user submitted mappings
- UMLS-CUI - CUI based mappings
- OBO-XREF - Mappings for terms with same xref
attribute - URI-MATCH - Mappings that for terms that in
different ontologies are represented by the same
URI
http//www.bioontology.org/wiki/index.php/SPARQL_B
ioPortalMappings
44RDF Representation of Mappings
Noy, N.F., Griffith, N., Musen, M.A. Collecting
community-based mappings in an ontology
repository. In International Semantic Web
Conference. pp. 371386 (2008)
45Get mapping statistics for an ontology
46Get all mappings between two ontologies
47Get all mappings for a given term
48Performance Tips and Tricks
- Completely unbound patterns (?g ?s ?p ?o) are not
allowed - To optimize queries, use UNIONS instead of
FILTERS - If using FILTER on literals it is better if the
filter is not applied to millions of rows - To prevent combinatorial explosions of results,
consider use CONSTRUCT or DESCRIBE (any M-N
relationship can provoke this)
49SPARQL Code Repository
- https//github.com/ncbo/sparql-code-examples
50Thank you!
- BioPortal SPARQL documentation
- http//www.bioontology.org/wiki/index.php/SPARQL_B
ioPortal - Keep in touch
- Software support support_at_bioontology.org
- Twitter _at_bioontology
- Facebook http//on.fb.me/bioontology
- LinkedIn http//linkd.in/ncbo-group
51BioPortal SPARQL Endpoint Info
- Documentation http//www.bioontology.org/wiki/ind
ex.php/SPARQL_BioPortal - Query interface http//sparql.bioontology.org/
- Example queries http//sparql.bioontology.org/exa
mples - Sample code https//github.com/ncbo/sparql-code-e
xamples