ローカルに起てたVirtuosoにReFexのttlをインポートして、以下のようにスクリプトを呼び、jsonデータを表示しています。少し追記してサービスをたててD3.jsからAPIを呼んでもいいし、ファイル保存してもいいと思う。
python3 rdfutils.py 11657
ただし、 たぶんsparqlが良く無いと思うのですが、JSONの中に同じ値のハッシュが4つづつ入ってます。。。こ の箇所は、正しいspqrqlを教えていただけたらと思います。。。
var vchart = function(obj){ | |
var q = queue(); | |
for(var i=0; i <= arguments.length; i++){ | |
q.defer(d3.json, obj.datas[i].filepath); | |
} | |
q.await(multi_chart); | |
} | |
// |
ローカルに起てたVirtuosoにReFexのttlをインポートして、以下のようにスクリプトを呼び、jsonデータを表示しています。少し追記してサービスをたててD3.jsからAPIを呼んでもいいし、ファイル保存してもいいと思う。
python3 rdfutils.py 11657
ただし、 たぶんsparqlが良く無いと思うのですが、JSONの中に同じ値のハッシュが4つづつ入ってます。。。こ の箇所は、正しいspqrqlを教えていただけたらと思います。。。
with BytesIO() as f: | |
ftp.retrbinary('RETR ' + filename, f.write) | |
data_list = f.getvalue().decode('utf-8').strip().split("\n") |
def get_api_response(self, req): | |
for i in range(self.maxretry): | |
try: | |
response = urlopen(req) | |
response_read = response.read().decode('utf-8') | |
response_json = json.loads(response_read) | |
# srastatrepは502: Bad Gatewayが頻発。この場合、urlib.error.HTTPErrorになる。 | |
except HTTPError as e: | |
if i + 1 == self.maxretry: |
データの計算過程と計算結果をそのまま残して保存できるipython notebookは、集計・分析のプロセスをオープンに共有したいような用途には最適なツールです。Anaconda3系でインストールしたipython notebookはPython3.xなため、コードの中で日本語も利用できます。政府の統計データなどは、カラムの値からインデックスまで日本語だらけになるので、そちらの向きのデータを集計するのならPython3系のipythonを利用しない理由はない!ということになります。
ただし、Python3自体はデフォルトでunicodeに対応していて日本語の記述が可能なのですが、matplotlibを使ってチャートをレンダリングする場合は日本語フォントを明示的に指定する必用があります。(指定しないと日本語が豆腐に置き換わります)
matplotlibの日本語対応は複雑なものではないのですが、参考となる資料があまりまだ無いようなので、自分の設定をメモしておきます。
まず、前提としてconfigファイルを置く必用があるとのことで、pyenv localでanaconda3を指定したディレクトリに以下のファイルを設定します。
自分はPythonのバージョンの問題をずっと避けて2.7を使ってきたのですが、Web関連でシステムを構築する場合でも自然言語の処理をするにしても、日本語はどうしても扱うことになるので、仕事のキリの良いところでPython 3.xの環境に移行していくことにしました。
基本的には完全に3.xに移行したいのですが、3.xに対応する気配の全くないGoogle app engine/Pythonのユーザでもあるため、2.x環境も捨てらない、、、。あとjupyterを使いたいし、Anacondaもインストールしたいけど、開発環境とは分けておきたい、、、、。などの事情でpyenvをMacにインストールして用途ごとPythonのバージョンを切り替えて使うことにしました。
$ sudo brew update