SPARQLthon58/Umaka-command

提供:TogoWiki

(版間での差分)
移動: 案内, 検索
(問題点など)
 
(間の48版分が非表示)
1行: 1行:
 +
[http://wiki.lifesciencedb.jp/mw/SPARQLthon58 SPARQLthon58]
 +
 +
=== Motivation ===
 +
コマンドライン環境で、利用可能なエンドポイントのリストを簡単に表示したい
 +
 +
=== 方法 ===
 +
[http://yummydata.org/api/specifications Umaka REST API] で取得した、エンドポイント情報( JSON形式)をパースする
 +
 +
=== 実行例 ===
 +
<pre>
 +
$ 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
 +
</pre>
 +
<pre>
<pre>
$ umaka
$ umaka
-
Life Science Dictionary http://lsd.dbcls.jp/sparql
+
Life Science Dictionary                                     http://lsd.dbcls.jp/sparql                                
-
Colil   http://colil.dbcls.jp/sparql
+
Colil                                                       http://colil.dbcls.jp/sparql                              
-
Allie   http://data.allie.dbcls.jp/sparql
+
Allie                                                       http://data.allie.dbcls.jp/sparql                        
-
WikiPathways   http://sparql.wikipathways.org
+
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                           
...
...
</pre>
</pre>
 +
 +
 +
<pre>
 +
$ umaka micro
 +
Microbial Genome Database for Comparative Analysis (MBGD)  http://sparql.nibb.ac.jp/sparql 
 +
MIcrobeDB.jp                                                http://genome.microbedb.jp/sparql
 +
</pre>
 +
 +
<pre>
 +
$ 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
 +
</pre>
 +
 +
 +
<pre>
 +
$ 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                             
 +
</pre>
 +
 +
<pre>
 +
$ 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
 +
</pre>
 +
 +
<pre>
 +
$ 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
 +
</pre>
 +
 +
 +
=== 問題点など ===
 +
Python2と3のどちらでも動作するようにしようとしたが、Unicodeの扱いが異なっており、両方で動かすのは難しい。
 +
 +
現状、Python3では動かない。
 +
 +
 +
どのタイミングで、ローカルのキャッシュを更新するか?
 +
 +
 +
SPANGコマンドとセットにするか、独立したプログラムにするか → GitHub DBCLSアカウントで公開へ

2017年8月10日 (木) 09:07時点における最新版

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アカウントで公開へ

個人用ツール