RDF data access

WARNING - new RDF schema has been deployed and documentation is being updated at the monet.

MolMeDB RDF dataset can be accessed in three ways:

  • bulk download of the database as RDF file in one of supported formats (RDF/XML, N-Triples and Turtle),
  • IRI dereference,
  • querying MolMeDB SPARQL endpoint.

MolMeDB SPARQL endpoint together with example queries is described HERE. Other two options are described below. MolMeDB Vocabulary can be accessed as XML document via https://rdf.molmedb.upol.cz/vocabulary.

Bulk download

MolMeDB RDF database is free to download as RDF files from Google Drive. Files are available in gzip-compressed RDF/XML, N-Triples and Turtle formats. After the extraction, data can be loaded into a triple store (e.g. Virtuoso) to run your local instance of the RDF database.

Download links 

RDF/XML
Turtle
N-Triples

IRI dereference

MolMeDB RDF IRIs can be resolved to document describing the resource in multiple formats. Hash IRIs are used for MolMeDB Vocabulary and 303 IRIs are used for resources described in the dataset.

MolMeDB Vocabulary

MolMeDB Vocabulary uses hash IRIs. This means the prefix of an IRI identifies the vocabulary and is separated by "#" character from the local name.

For example, the term

https://rdf.molmedb.upol.cz/vocabulary#MembraneModel

has a prefix

https://rdf.molmedb.upol.cz/vocabulary

and local name

MembraneModel

IRIs of terms from the vocabulary can be resolved using GET request. The response body is an XML document containing the whole vocabulary.

Note

Local part of IRI (after "#") is ignored during resolution. This means that vocabulary XML file can be obtained with or without any local part. Local names serve only to identify the term from the vocabulary.

MolMeDB RDF domains

MolMeDB RDF uses 303 (or slash) IRIs to identify described resources. 303 IRIs have prefixes common to an ontology, database or domain and a local name after the last '/' character. For example, caffeine has IRI

https://identifiers.org/molmedb/MM00040

where

https://identifiers.org/molmedb/

is prefix common for IRIs of all molecules in the dataset and MM00040 is a local name identifying caffeine in particular.

GET request against IRI with an invalid local part leads to a response with 404 (Not found) status code.

We are using redirect during IRI resolution

To describe a resource, e.g. caffeine, we need to identify it first. The description can be written into a document, but we need to keep in mind that caffeine and document describing caffeine are two distinct resources that are not interchangeable. For example, you can describe the molecular weight of caffeine, but the molecular weight of caffeine document is complete nonsense. Thus we keep identifiers separate https://identifiers.org/molmedb/MM00040 for caffeine and https://molmedb.upol.cz/mol/MM00040 for a document describing it.

Format of the returned document is decided according to the Accept header of the GET request (for more info, see the REST API document). HTML, RDF/XML, N-Triples and Turtle formats are currently supported for RDF-related requests.

The HTML format is recommended for clients requesting a human-readable format. Basic molecule info is returned as MolMeDB web page and the rest of URIs are dereferenced to HTML tables describing triples in which a particular IRI occurs as a subject or object.

Warning, HTML output may not be complete.

Considering the high number of triples in which some IRIs occur, we set a limit of 100 lines per HTML document. Please use another output data format mentioned above to obtain a complete list.

RDF/XMLN-Triples and Turtle documents are complete RDF representations describing all the triples in which particular URIs occur. Documents in these three formats are suitable for automated processing.

Table 1. Accept headers and their corresponding formats supported by MolMeDB REST API for RDF-related requests.

Accept header Format
text/html HTML
application/rdf+xml RDF/XML
application/n-triples N-Triple
text/turtle Turtle

IRI list by the described resource

This section provides a comprehensive list of IRI patterns for each resource type described by MolMeDB RDF. Each IRI definition is supplemented by an explanation of what that particular IRI means and an example IRI of that pattern.

How to read IRI pattern description?

Method Describes which HTTP method must be used while requesting the given IRI resolution.
IRI pattern Specifies the suffix of the URI determining a named resource. A final IRI is created by combining the server address prefix https://rdf.molmedb.upol.cz with the corresponding pattern.

For example, IRI with a pattern /interaction/membrane<id> is called at address https://rdf.molmedb.upol.cz/interaction/membrane<id>.

Molecules are exception to this, using pattern starting https://identifiers.org/molmedb/ instead.
Parameters Describes possible parameters which can be used for query specification. All parameters can be inserted as part of the IRI (e.g. parameter id in the previous example).
Output formats Describes possible output formats of the data returned from the server. For more info on how to set the output format of your request, please see Output formats.

MolMeDB vocabulary terms

Terms from MolMedb Vocabulary.

Method GET
IRI pattern /vocabulary#<local_name>
Parameters Note that the local name parameter does not affect the response, but options are listed here for completeness.

AbsorbtionWavelength peak absorption wavelength
ContactAngle contact angle with the membrane
DepthOfMinima depth of minima within a membrane
FluorescenceLifetime time a fluorophore spends in the excited state before emitting a photon and returning to the ground state
FluorescenceWavelength peak fluorescence wavelength
InhibitionAssay result of the assay whether the measured entity acts as an inhibitor of the target enzyme
kcalMol kilocalorie per mol
LogK logarithm of partition coefficient membrane/water
LogPerm logarithm of membrane permeability
MembrameModel model of biological membrane
PenetrationBarrier penetration barrier (maximum-minimum)
PKm -log Km, where Km is the concentration of substrate at ½ Vmax, according to the Henri-Michaelis-Menten kinetic model
PositionOfMinima position of minima along the membrane normal from the membrane centre
QuantumYield number of times a specific event occurs per photon absorbed by the system
SubstrateBindingAssay result of the assay whether the measured entity acts as a substrate of the target enzyme
Output formats XML (default)

Example

Term for membrane model. Returns MolMeDB Vocabulary (in XML format only)

https://rdf.molmedb.upol.cz/vocabulary#MembraneModel

Part of returned vocabulary XML document describing Membrane Model

...
<owl:Class rdf:about="http://rdf.molmedb.upol.cz/vocabulary#MembraneModel">
    <rdfs:subClassOf 
rdf:resource="http://www.bioassayontology.org/bao#BAO_0003114"/>
...
<owl:Class>
...
...
<
owl:Class
rdf:about="http://rdf.molmedb.upol.cz/vocabulary#MembraneModel">

<rdfs:subClassOf
rdf:
resource
="http://www.bioassayontology.org/bao#BAO_0003114"/>

...
<
owl:Class
>

...

Substance

Substance record. Use https://identifiers.org/molmedb/ prefix instead of the standard MolMeDB RDF one.

Method GET
IRI pattern https://identifiers.org/molmedb/<mmdb_identifier>
Parameters mmdb_identifier [string] (required) - MolMeDB compound identifier (e.g. MM00040).
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Returns caffeine molecule detail

https://identifiers.org/molmedb/MM00040

Part of RDF/XML document describing caffeine.

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ns5="http://purl.org/dc/terms/"
xmlns:ns3="http://www.w3.org/2004/02/skos/core#"
xmlns:ns2="http://semanticscience.org/resource/"
xmlns:ns1="http://www.w3.org/2000/01/rdf-schema#"
xmlns:ns4="http://www.bioassayontology.org/bao#"
>
<rdf:Description rdf:about="https://identifiers.org/molmedb/MM00040">
<rdf:type rdf:resource="http://www.bioassayontology.org/bao#BAO_0000076"/>
        ...
    </rdf:Description>
    <rdf:Description rdf:about="https://rdf.molmedb.upol.cz/interaction/int453">
<ns4:BAO_0090012 rdf:resource="https://identifiers.org/molmedb/MM00040"/>
</rdf:Description>
    ...
</rdf:RDF>
<?xml version="1.0" encoding="UTF-8"?>
<
rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ns5="http://purl.org/dc/terms/"
xmlns:ns3="http://www.w3.org/2004/02/skos/core#"
xmlns:ns2="http://semanticscience.org/resource/"
xmlns:ns1="http://www.w3.org/2000/01/rdf-schema#"
xmlns:ns4="http://www.bioassayontology.org/bao#"
>

<rdf:Description rdf:about="https://identifiers.org/molmedb/MM00040">
<rdf:type rdf:resource="http://www.bioassayontology.org/bao#BAO_0000076"/>
...
</rdf:Description>
<rdf:Description rdf:about="https://rdf.molmedb.upol.cz/interaction/int453">
<ns4:BAO_0090012 rdf:resource="https://identifiers.org/molmedb/MM00040"/>
</rdf:Description>
...
</
rdf:RDF
>

Substance - attributes

Description of a particular attribute of a substance specified by its MolMeDB ID.

Method GET
IRI pattern /substance/<mmdb_identifier>_<attribute>
Parameters mmdb_identifier [string] (required) - MolMeDB compound identifier

attribute [string] (required) - Compound attribute can be one of the following:
- smiles - SMILES identifier
- nchikey - InChIKey identifier
- molecular_weight - average molecular weight
- logp - logarithm of octanol-water partition coefficient
- pubchem - PubChem identifier
- drugbank - DrugBank identifier
- chembl - ChEMBL identifier
- pdb - wwPDB ligand identifier
- chebi - ChEBI identifier
- mmdbid - MolMeDB identifier
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Returns SMILES record of Caffeine (MM00040) molecule

https://rdf.molmedb.upol.cz/substance/MM00040_smiles

Turtle document describing SMILES record of Caffeine

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix sio: <http://semanticscience.org/resource/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<https://rdf.molmedb.upol.cz/substance/MM00040_smiles> rdf:type 
sio:CHEMINF_000018;
sio:SIO_000300 "Cn1c(=O)c2c(ncn2C)n(C)c1=O"^^xsd:string .
<https://identifiers.org/molmedb/MM00040> sio:SIO_000008 <https://rdf.molmedb.upol.cz/substance/MM00040_smiles> . 

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix
sio: <http://semanticscience.org/resource/> .
@prefix
xsd: <http://www.w3.org/2001/XMLSchema#> .

<
https://rdf.molmedb.upol.cz/substance/MM00040_smiles>
rdf:type
sio:
CHEMINF_000018
;
sio:SIO_000300 "Cn1c(=O)c2c(ncn2C)n(C)c1=O"^^xsd:string .
<
https://identifiers.org/molmedb/MM00040>
sio:SIO_000008 <https://rdf.molmedb.upol.cz/substance/MM00040_smiles> .

Membrane

Membrane description.

Method GET
IRI pattern /interaction/membrane<id>
Prameters id [int] (required) - Membrane ID.
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Returns detail of membrane with ID=1

https://rdf.molmedb.upol.cz/interaction/membrane1

Part of N-Triples document describing membrane with ID=1

<https://rdf.molmedb.upol.cz/interaction/membrane1> 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<https://rdf.molmedb.upol.cz/vocabulary#MembraneModel>.
<https://rdf.molmedb.upol.cz/interaction/membrane1> <http://www.w3.org/2000/01/rdf-schema#label>  


"DMPC"^^<http://www.w3.org/2001/XMLSchema#string>.
<https://rdf.molmedb.upol.cz/interaction/membrane1> 
<
http://www.w3.org/1999/02/22-rdf-syntax-ns#type>

<
https://rdf.molmedb.upol.cz/vocabulary#MembraneModel>
.
<
https://rdf.molmedb.upol.cz/interaction/membrane1>
<http://www.w3.org/2000/01/rdf-schema#label>


"DMPC"
^^<http://www.w3.org/2001/XMLSchema#string>.

Membrane interaction

Membrane interaction assay record.

Method GET
IRI pattern /interaction/int<id>
Parameters ID is a number corresponding to the id of a membrane interaction.
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Returns record of membrane interaction with ID=1

https://rdf.molmedb.upol.cz/interaction/int1

Membrane interaction - measure group

Measure group of membrane interaction assay specified by membrane interaction ID.

Method GET
IRI pattern /interaction/measure_group_int<id>
Parameters ID [int] (required) - ID of a membrane interaction
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Returns record of measure group of the membrane interaction with ID=1

https://rdf.molmedb.upol.cz/interaction/measure_group_int1

Membrane interaction - experimental condition

Experimental condition (temperature/charge) at which assay was conducted.

Method GET
IRI pattern /interaction/measure_group_<condition>_int<id>
Parameters condition [temperature/charge] (required)
id [int] (required) - ID o membrane interaction.
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Returns record of temperature at which was the membrane interaction with ID=453 measured

https://rdf.molmedb.upol.cz/interaction/measure_group_temperature_int453

Membrane interaction - endpoint

Value of a specific measurement of a membrane interaction (determined by the interaction ID).

Method GET
IRI pattern /interaction/endpoint_<property>_int<id>
Parameters property [string] (requited) - Can be one of the following:
- logk - logarithm of partition coefficient membrane/water
- logperm - logarithm of membrane permeability
- position - position of minima along the membrane normal from the membrane center
- penetration - penetration barrier
- water - depth of minima within membrane
- theta - contact angle
- abs_wl - peak absorbtion wavelength
- fluo_wl - peak fluorescence wavelength
- qy - quantum yield
- lt - fluorescence lifetime

id [int] (required) - ID of a membrane interaction.
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Returns record of LogK value of the membrane interaction with ID=1

https://rdf.molmedb.upol.cz/interaction/endpoint_logk_int1

Membrane interaction - standard deviation

Standard deviation of a specific measurement of a membrane interaction determined by the ID.

Method GET
IRI pattern /interaction/endpoint_<property>_stdev_int<id>
Parameters property [string] (requited) - Can be one of the following:
- logk - logarithm of partition coefficient membrane/water
- logperm - logarithm of membrane permeability
- position - position of minima along the membrane normal from the membrane center
- penetration - penetration barrier
- water - depth of minima within membrane
- theta - contact angle
- abs_wl - peak absorbtion wavelength
- fluo_wl - peak fluorescence wavelength
- qy - quantum yield
- lt - fluorescence lifetime

id [int] (required) - ID of a membrane interaction.
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Returns record of a standard deviation of logPerm value in interaction with ID=1967

https://rdf.molmedb.upol.cz/interaction/endpoint_logperm_stdev_int1967

Membrane interaction - method

Description of a method determined by the ID.

Method GET
IRI pattern /interaction/method<id>
Parameters id [int] (required) - Method ID.
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Record of a method with ID=1.

https://rdf.molmedb.upol.cz/interaction/method1

Transporter interaction

Transporter interaction assay record.

Method GET
IRI pattern /transporter/tra<id>
Parameters id [int] (required) - Transporter interaction ID.
Output formats HTML (required)
RDF/XML 
N-Triples 
Turtle

Example

Returns record of transporter interaction with ID=34644

https://rdf.molmedb.upol.cz/transporter/tra34644

Transporter interaction - measure group

Measure group of transporter interaction assay determined by ID.

Method GET
IRI pattern /transporter/measure_group_tra<id>
Parameters id [int] (required) - Transpoter interaction ID.
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Returns record of measure group of the transporter interaction with ID=34644

https://rdf.molmedb.upol.cz/transporter/measure_group_tra34644

Transporter interaction - endpoint

Description of a result for measurement of specified property of a transporter interaction specified by its ID.

Method GET
IRI pattern /transporter/endpoint_<property>_tra<id>
Parameters property [string] (required) - Can be one of the following:
- substrate - result on assay whether the compound is a substrate of the transporter
- inhibitor - result on assay whether the compound is an inhibitor of the transporter
- pkm - pKm
- pec50 - pEC50
- pki - pKi
- pic50 - pIC50

id [int] (required) is a number corresponding to the id of a transporter interaction.
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Returns record of pIC50 value the transporter interaction with ID=34644

https://rdf.molmedb.upol.cz/transporter/endpoint_pic50_tra34644

Transporter interaction - standard deviation

Standard deviation of result for measurement of a specified property of a transporter interaction specified by its ID.

Method GET
IRI pattern /transporter/endpoint_<property>_stdev_tra<id>
Parameters property [string] (required) - Can be one of the following:
- substrate - result on assay whether the compound is a substrate of the transporter
- inhibitor - result on assay whether the compound is an inhibitor of the transporter
- pkm - pKm
- pec50 - pEC50
- pki - pKi
- pic50 - pIC50

id [int] (required) is a number corresponding to the id of a transporter interaction.
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Returns descriotion of a standard deviation of pKm for transporter interaction with ID=31403

https://rdf.molmedb.upol.cz/transporter/endpoint_pkm_stdev_tra31403

Reference

Description of a data source providing information for transporter and membrane interactions

Method GET
IRI pattern /reference/ref<id>
Parameters id [int] (default) - Internal data source (reference) id.
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Return description of Endo, S., Escher, B. I., & Goss, K. -U. (2011). Capacities of Membrane Lipids to Accumulate Neutral Organic Chemicals, 45(14), 5912-5921. https://doi.org/10.1021/es200855w

https://rdf.molmedb.upol.cz/reference/ref1

Transporter

Transporter IRIs belong to UniProt thus MolMeDB is not responsible for result of their IRI resolution. However they can be resolved in the same way as MolMeDB IRIs. We list them here for the sake of completeness.

Another important point is that documents returned by UniProt IRI resolution DO NOT contain information about their role in MolMeDB. Please refer to the MolMeDB data about transporter interactions to obtain this information.

Method GET
IRI pattern http://purl.uniprot.org/uniprot/<id>
Parameters id [int] (required) - UniProt identifier.
Output formats HTML (default)
RDF/XML 
N-Triples 
Turtle

Example

Returns ABCC2 transporter detail.

http://purl.uniprot.org/uniprot/Q92887