The following query works at Pathway Commons SPARQL endpoint and returns all proteins that form complexes controlling Wnt signaling pathways:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX bp: <http://www.biopax.org/release/biopax-level3.owl#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT ?pathway ?protein ?eref 
WHERE
{
# define all objects (nodes)
?protein rdf:type bp:Protein. # identify all proteins
?protein bp:entityReference ?eref . # the protein has an entity reference eref, this can be unitprot, etc
?eref bp:xref ?reference . # entity referece eref corresponds to external reference ?reference

# define all object property assertions (edges)
?assembly bp:left ?protein. # proteins are reaction input
?pathway bp:pathwayComponent ?assembly . # complex assembly is a component of a pathway
?pathway rdf:type bp:Pathway ;
                 bp:displayName ?dname .

#SERVICE <https://sparql.uniprot.org/sparql>
#    {?eref a up:Protein .}

FILTER regex(?dname, "^Wnt")
}
LIMIT 100

Now I need to get info from UniProt about these proteins. If I un-comment the following lines from the above query I get an error:

SERVICE <https://sparql.uniprot.org/sparql>
   {?eref a up:Protein .}

Error:

Virtuoso RDFZZ Error
DB.DBA.SPARQL_REXEC('sparql.uniprot.org/sparql', ...) has
received result with unexpected variable name 'stubvar10'



Source link