/* Example: pl2sparql -e --consult examples/oma_ebi_federated.pl "orthologs_with_coordinates(ensembl:'ENSG00000198840',G2,Tax,E,R)" We pass the -e option to force execution within the prolog environment (rather attempting to compile the function) Within the prolog environment, the ?? predicate will explicitly invoke sparqlprog on an explicit endpoint */ :- use_module(library(sparqlprog/ontologies/oma)). :- use_module(library(sparqlprog/ontologies/ebi),[]). :- use_module(library(sparqlprog/ontologies/faldo)). %! orthologs_with_coordinates(?Gene1, ?Gene2, ?Taxon, ?Begin:int, End:int, ?Ref) :- orthologs_with_coordinates(G1,G2,T,B,E,R) :- ( oma ?? (is_orthologous_to(P1,P2), organism_in_taxon(P2,T), encoded_by_ensembl_gene(P1,G1), encoded_by_ensembl_gene(P2,G2) )), ( ebi ?? location(G2,B,E,R)).