Learn about the RKB

Querying the RKB SPARQL Endpoint

We have made available an RDF store that enables users (human or other) to query the RKB and the PDB for all RNA containing records via the SPARQL language. Results can be exported into a variety of formats. You can visit our SPARQL endpoint by clicking here.

You may also explore our data by making use of Virtuoso's Faceted Browser by following this link.

Our data model enables the execution of SPARQL queries including:

  1. Find all nucleotide base pairs that are found in PDB 1Y27 (View results here):
    • 
      PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
      PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
      PREFIX ss: <http://semanticscience.org/resource/>
      PREFIX rkb: <http://semanticscience.org/rkb:>
      
      SELECT ?basePairLabel ?structureModelLabel
      WHERE {
       ?x rdf:type rkb:RKB_000001.
       ?x rdfs:label ?basePairLabel.
       ?z ss:isAbout ?x.
       ?z rdfs:label ?structureModelLabel.
      FILTER regex(?structureModelLabel, "1y27", "i")
      }	
      							
  2. Find all G-C nucleotide base pairs that are found in model 4 of PDB 2I7E (View results here):
    • 
      PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
      PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
      PREFIX ss: <http://semanticscience.org/resource/>
      PREFIX rkb: <http://semanticscience.org/rkb:>
      PREFIX rnao: <http://purl.obofoundry.org/obo/rnao/>
      
      SELECT  ?y ?w
      WHERE{
      ?x rdf:type rkb:RKB_000001.
      ?x rdfs:label ?y.
      ?z ss:isAbout ?x.
      ?z rdfs:label ?w.
      FILTER regex(?y, "(G-C)|(C-G)").
      FILTER regex(?y, "2i7e", "i").
      FILTER regex(?w, "model 4")
      }
      							
  3. Find all sub edge interactions that take part in PDB 1Y27 (View results here):
    • 
      PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
      PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
      PREFIX ss: <http://semanticscience.org/resource/>
      PREFIX rkb: <http://semanticscience.org/rkb:>
      PREFIX rnao: <http://purl.obofoundry.org/obo/rnao/>
      
      SELECT ?subEdge1 ?subEdge2
      WHERE{
       ?x rdf:type rkb:RKB_000100.
       ?x rdfs:label ?subEdge1.
       ?x rnao:externally_connected_to ?e.
       ?e rdfs:label ?subEdge2.
       ?w ss:isAbout ?x.
       ?w rdfs:label ?wl.
      FILTER regex(?wl, "1y27")
      }
      							

Querying the RKB Ontology

Once you have the RKB ontology loaded with individuals (see download instructions ) in your favourite OWL editor, you will need to enable an OWL-DL compatible reasoner. The RKB has been tested with Pellet, HermiT and FaCT++ reasoners for consistency checking and querying.

You may want to become familiarized with the RKB's modeling scheme for base pairs, base stacks and nucleotide residues by clicking here

If you are using Protege 4, you will need to click on "Reasoner->FaCT++" to enable the classification of the individuals. Depending on your computer this may take some time, so please be patient. Once done you can test some of the following sample queries in the DL-Query tab:


Base Pair Queries

  1. 'nucleotide base pair'
    • This query illustrates a simple retrieval of individuals that are instances of the class nucleotide base pair as defined by the RNAO.


  2. 'nucleotide base pair' that 'has part' some (('hoogsteen edge' or 'part of' some 'hoogsteen edge') and externally_connected_to some ('nucleotide edge' or 'part of' some 'nucleotide edge')
    • This conjunctive query finds all base pairs that involve at least one Hoogsteen Edge. As in query (1), the individuals must be an instance of the nucleotide base pair class but this base pair must be further specified by a Hoogsteen Edge.


  3. 'nucleotide base pair' that 'has part' some (('hoogsteen edge' or 'part of' some 'hoogsteen edge') and 'part of' some 'GMP residue [chebi:50324]' and externally_connected_to some('nucleotide edge' or 'part of' some 'nucleotide edge'))

    • This query further refines (2), in that the Hoogsteen edge must be attached to a guanine residue.


  4. 'structure model' that 'is represented by' some {'Molecular Structure File PDB:1am0'}
    • This conjunctive query finds how many structure models are defined by a particular PDB entry.

Base Stacking Queries

  1. 'base stack'
    • This query illustrates another simple retrieval of individuals that are instances of the base stack class as defined by the RNAO.


  2. 'base stack' that ('has quality' some 'base stack adjacent base orientation')
    • This conjunctive query finds all base stacks that have nucleotide residues that are adjacent to each other. As in query (1), the individulas must be an instance of the base stack class but must also bear the base stack adjacent base orientation quality.


  3. 'nucleotide residue [chebi:50319]' that 'is proper part of' some ('base stack' that (('has quality' some 'base stack adjacent base orientation') and ('has quality' some 'inward base stack orientation')))
    • This query not only further refines (2) but also demonstrates how our modeling scheme for base stacks allows for the construction of queries that use the stack's cognate nucleotide residues as the query's pivoting object.