let's have fun with SPARQL.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| build | chrom | start | end | gene_id | gene_name | gene_biotype | go_id | go_label |
================================================================================================================================================================================================================================================
| "GRCh38" | "1" | "20740266"^^<http://www.w3.org/2001/XMLSchema#int> | "20787323"^^<http://www.w3.org/2001/XMLSchema#int> | "ENSG00000127483" | "HP1BP3" | "protein_coding" | "GO:0006334" | "nucleosome assembly" |
| "GRCh38" | "1" | "20740266"^^<http://www.w3.org/2001/XMLSchema#int> | "20787323"^^<http://www.w3.org/2001/XMLSchema#int> | "ENSG00000127483" | "HP1BP3" | "protein_coding" | "GO:0000786" | "nucleosome" |
| "GRCh38" | "1" | "20740266"^^<http://www.w3.org/2001/XMLSchema#int> | "20787323"^^<http://www.w3.org/2001/XMLSchema#int> | "ENSG00000127483" | "HP1BP3" | "protein_coding" | "GO:0005634" | "nucleus" |
| "GRCh38" | "1" | "20740266"^^<http://www.w3.org/2001/XMLSchema#int> | "20787323"^^<http://www.w3.org/2001/XMLSchema#int> | "ENSG00000127483" | "HP1BP3" | "protein_coding" | "GO:0070828" | "heterochromatin organization" |
| "GRCh38" | "1" | "20740266"^^<http://www.w3.org/2001/XMLSchema#int> | "20787323"^^<http://www.w3.org/2001/XMLSchema#int> | "ENSG00000127483" | "HP1BP3" | "protein_coding" | "GO:0031491" | "nucleosome binding" |
| "GRCh38" | "1" | "20740266"^^<http://www.w3.org/2001/XMLSchema#int> | "20787323"^^<http://www.w3.org/2001/XMLSchema#int> | "ENSG00000127483" | "HP1BP3" | "protein_coding" | "GO:0006355" | "regulation of DNA-templated transcription" |
| "GRCh38" | "1" | "20740266"^^<http://www.w3.org/2001/XMLSchema#int> | "20787323"^^<http://www.w3.org/2001/XMLSchema#int> | "ENSG00000127483" | "HP1BP3" | "protein_coding" | "GO:0003677" | "DNA binding" |
| "GRCh38" | "1" | "20740266"^^<http://www.w3.org/2001/XMLSchema#int> | "20787323"^^<http://www.w3.org/2001/XMLSchema#int> | "ENSG00000127483" | "HP1BP3" | "protein_coding" | "GO:0005694" | "chromosome" |
| "GRCh38" | "1" | "20740266"^^<http://www.w3.org/2001/XMLSchema#int> | "20787323"^^<http://www.w3.org/2001/XMLSchema#int> | "ENSG00000127483" | "HP1BP3" | "protein_coding" | "GO:0016607" | "nuclear speck" |
| "GRCh38" | "1" | "20740266"^^<http://www.w3.org/2001/XMLSchema#int> | "20787323"^^<http://www.w3.org/2001/XMLSchema#int> | "ENSG00000127483" | "HP1BP3" | "protein_coding" | "GO:0042127" | "regulation of cell population proliferation" |
| "GRCh38" | "1" | "20740266"^^<http://www.w3.org/2001/XMLSchema#int> | "20787323"^^<http://www.w3.org/2001/XMLSchema#int> | "ENSG00000127483" | "HP1BP3" | "protein_coding" | "GO:0005515" | "protein binding" |
| "GRCh38" | "1" | "20740266"^^<http://www.w3.org/2001/XMLSchema#int> | "20787323"^^<http://www.w3.org/2001/XMLSchema#int> | "ENSG00000127483" | "HP1BP3" | "protein_coding" | "GO:0097298" | "regulation of nucleus size" |
| "GRCh38" | "1" | "20740266"^^<http://www.w3.org/2001/XMLSchema#int> | "20787323"^^<http://www.w3.org/2001/XMLSchema#int> | "ENSG00000127483" | "HP1BP3" | "protein_coding" | "GO:0071456" | "cellular response to hypoxia" |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
`
1) download a human GTF and convert it to XML+RDF with awk
2) download mapping about ensembl and GO from NCBI , join both resources and convert it to XML+RDF with awk
3) concatenate 1 and 2 to create a RDF database
4) query SPARQL with jena/arq