SPARQLthon58/Umaka-command

提供:TogoWiki

移動: 案内, 検索

SPARQLthon58

目次

Motivation

コマンドライン環境で、利用可能なエンドポイントのリストを簡単に表示したい

方法

Umaka REST API で取得した、エンドポイント情報( JSON形式)をパースする

実行例

$ umaka -h
usage: umaka [-h] [-a] [-v] [-t] ...

positional arguments:
  keywords       parts of endpoint name

optional arguments:
  -h, --help     show this help message and exit
  -a, --all      show all endpoints (alive and dead)
  -v, --verbose  show verbose information
  -t, --tsv      show in tab separated values
$ umaka
Life Science Dictionary                                     http://lsd.dbcls.jp/sparql                                 
Colil                                                       http://colil.dbcls.jp/sparql                               
Allie                                                       http://data.allie.dbcls.jp/sparql                          
WikiPathways                                                http://sparql.wikipathways.org                             
FirstAuthor Navigation                                      http://navi.first.lifesciencedb.jp/fanavi/sparql           
OpenLifeData                                                http://sparql.openlifedata.org/                            
Bio2RDF                                                     http://bio2rdf.org/sparql                                  
ChEMBL                                                      http://www.ebi.ac.uk/rdf/services/chembl/sparql            
Microbial Genome Database for Comparative Analysis (MBGD)   http://sparql.nibb.ac.jp/sparql                            
...


$ umaka micro
Microbial Genome Database for Comparative Analysis (MBGD)   http://sparql.nibb.ac.jp/sparql  
MIcrobeDB.jp                                                http://genome.microbedb.jp/sparql
$ umaka -v micro
Microbial Genome Database for Comparative Analysis (MBGD)   http://sparql.nibb.ac.jp/sparql     Alive   B   70
MIcrobeDB.jp                                                http://genome.microbedb.jp/sparql   Alive   B   64


$ umaka bio
Bio2RDF               http://bio2rdf.org/sparql                                  
BioModels             http://www.ebi.ac.uk/rdf/services/biomodels/sparql         
BioGateway            http://www.semantic-systems-biology.org/biogateway/endpoint
LSDB Archive @ NBDC   https://dba-rdf.biosciencedbc.jp/sparql                    
BioSamples            http://www.ebi.ac.uk/rdf/services/biosamples/sparql        
NBDC RDF Portal       http://integbio.jp/rdf/sparql                              
$ umaka -a bio
Bio2RDF                                     http://bio2rdf.org/sparql                                     Alive
BioModels                                   http://www.ebi.ac.uk/rdf/services/biomodels/sparql            Alive
BioGateway                                  http://www.semantic-systems-biology.org/biogateway/endpoint   Alive
LSDB Archive @ NBDC                         https://dba-rdf.biosciencedbc.jp/sparql                       Alive
BioSamples                                  http://www.ebi.ac.uk/rdf/services/biosamples/sparql           Alive
NBDC RDF Portal                             http://integbio.jp/rdf/sparql                                 Alive
National Center for Biomedical Ontologies   http://sparql.bioontology.org                                 Dead 
Chembl @Uppsala                             http://rdf.farmbio.uu.se/chembl/sparql                        Dead 
FlyBase                                     http://www.open-biomed.org.uk/sparql/endpoint/flybase         Dead 
$ umaka -av bio
Bio2RDF                                     http://bio2rdf.org/sparql                                     Alive   B   73
BioModels                                   http://www.ebi.ac.uk/rdf/services/biomodels/sparql            Alive   B   68
BioGateway                                  http://www.semantic-systems-biology.org/biogateway/endpoint   Alive   B   64
LSDB Archive @ NBDC                         https://dba-rdf.biosciencedbc.jp/sparql                       Alive   B   62
BioSamples                                  http://www.ebi.ac.uk/rdf/services/biosamples/sparql           Alive   B   62
NBDC RDF Portal                             http://integbio.jp/rdf/sparql                                 Alive   C   54
National Center for Biomedical Ontologies   http://sparql.bioontology.org                                 Dead    E   8
Chembl @Uppsala                             http://rdf.farmbio.uu.se/chembl/sparql                        Dead    E   8
FlyBase                                     http://www.open-biomed.org.uk/sparql/endpoint/flybase         Dead    E   8


問題点など

Python2と3のどちらでも動作するようにしようとしたが、Unicodeの扱いが異なっており、両方で動かすのは難しい。

現状、Python3では動かない。


どのタイミングで、ローカルのキャッシュを更新するか?


SPANGコマンドとセットにするか、独立したプログラムにするか → GitHub DBCLSアカウントで公開へ