I try to perform the following query on uniprot:
PREFIX rh:<http://rdf.rhea-db.org/>
PREFIX up:<http://purl.uniprot.org/core/>
PREFIX taxon:<http://purl.uniprot.org/taxonomy/>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT
       ?protein
       ?ecNumber
       ?reaction
       ?equation
WHERE {
    ?protein a up:Protein .
    ?protein up:reviewed true .
    ?taxon a up:Taxon .
    ?taxon up:scientificName ?name .
    VALUES ?taxonlist { taxon:83333 }
    {
        ?taxon rdfs:subClassOf ?taxonlist .
        ?protein up:organism ?taxon . 
    } UNION {
        ?protein up:organism ?taxonlist . 
    }
    ?protein up:enzyme|((up:component|up:domain)/up:enzyme) ?ecNumber .
  SERVICE <http://rdf.rhea-db.org/> {
    ?reaction rdfs:subClassOf rh:Reaction .
    ?reaction rh:status rh:Approved .
    ?reaction rh:equation ?equation .
    ?reaction rh:ec ?ecNumber .
  } 
}
which always results in the error:
VirtuosoException: SQ074: Line 36: SP031:
SPARQL compiler: Internal error: Usupported combination of subqueries and service invocations
When I remove the entire SERVICE part, it seems to work fine. Is there a way to perform a federated query from uniprot and if so, how?