I want to get all interactions between Metabolites and Gene Products in the KEGG database. I've done this before querying WikiPathways with the below SPARQL query. I can't seem to "break into" KEGG's SPARQL "schema" to translate this query in such a way that probes KEGG for the same information.
Particularly, I am having a hard time finding a predicate that is analogous to WikiPathway's http://vocabularies.wikipathways.org/wp#Interaction predicate. I need this predicate to connect both Metabolite-Metabolite interactions, GeneProduct-GeneProduct interactions and Metabolite-GeneProduct interactions, ideally.
PREFIX wp: <http://vocabularies.wikipathways.org/wp#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT distinct ?src ?src_label ?src_type ?dest ?dest_label ?dest_type
WHERE {
?p a wp:Interaction .
?p wp:source ?src .
?p wp:target ?dest .
?src rdfs:label ?src_label .
?dest rdfs:label ?dest_label .
?src a ?src_type .
?dest a ?dest_type .
FILTER ((?src_type != wp:GeneProduct || ?src_type != wp:Metabolite) && (?dest_type != wp:GeneProduct || ?dest_type != wp:Metabolite)) .
FILTER (?src_type != wp:DataNode && ?dest_type != wp:DataNode) .
FILTER (?src_type != wp:Protein && ?dest_type != wp:Protein) .
FILTER (?src_type != wp:Rna && ?dest_type != wp:Rna) .
FILTER (?src_type != wp:Complex && ?dest_type != wp:Complex)
}
Can anyone help me "break into" KEGG by helping me see how the query for WikiPathways can be translated to the same query against KEGG? Any advice/insights would be invaluable!
Against which KEGG SPARQL endpoint are you running your query?