suzuken / xbrl2rdf

XBRL converter to RDF (not maintenanced.)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

xbrlをrdfに変換するためのライブラリです。

構成

eclipseのプロジェクトになっています。

  • bin/ 実行バイナリです。
  • data/ EDINETのタクノソミデータです。
  • DB/ TDBに格納されたxbrlデータのサンプルです。
  • doc/ APIドキュメントです。javadocが入っています。
  • lib/ 各種外部ライブラリです。
  • output/ RDF出力用フォルダです。サンプルのrdfが入っています。
  • src/ プログラムのソースファイルです。
  • tdb/ TDBのソースコードが入っています。
  • tests/ テストフォルダです。
  • uml/ クラス図が載っています。

使い方

Xbrlデータの標準出力

java bin/xbrlreader/XbrlReader input/*.xbrl

RDFの生成

java bin/xbrlonto/RDFMaker input/*.xbrl

java bin/xbrlonto/RDFMaker -o ./output input/*.xbrl

またはeclipseで

${project_loc}/input/EDINET/2011/2 .*.xbrl

app.confで各種設定をできます。

# 名前空間の設定
nsClass=http://www.yamaguti.comp.ae.keio.ac.jp/xbrl_ontology/class#
nsInstance=http://www.yamaguti.comp.ae.keio.ac.jp/xbrl_ontology/instance#
nsProperty=http://www.yamaguti.comp.ae.keio.ac.jp/xbrl_ontology/property#
nsFoaf=http://xmlns.com/foaf/0.1/

# Context Settings
enableContextRef = Prior2YearNonConsolidatedDuration, Prior2YearNonConsolidatedInstant, \
Prior2YearConsolidatedDuration, Prior2YearConsolidatedInstant, \
Prior1YearNonConsolidatedDuration, Prior1YearNonConsolidatedInstant, \
Prior1YearConsolidatedDuration, Prior1YearConsolidatedInstant, \
CurrentYearNonConsolidatedDuration, CurrentYearNonConsolidatedInstant, \
CurrentYearConsolidatedDuration, CurrentYearConsolidatedInstant

# TDB setup
tdbFactoryLoc = ./output/TDB/default

# default rdf path for output
# outputRDFPath = ./output/test2.rdf
outputRDFDir = ./output

# Database setting
# for default, xbrl2rdf using TDB. When you use RDS to store RDF,
# please confirm this setting.
jdbcUrl = jdbc:mysql://localhost/mydb
DBUser = user
DBPassword = password
DBType = MySQL

動作フロー

  • まずxbrlファイルをrdfに変換します。xbrlのパースを行い、DTSのパースも行います。 ** デフォルトではxbrlファイルと同名のrdfファイルがoutputディレクトリに生成されます。
  • 生成したrdfファイルを元に、TDBに格納します。

TODO

  • XbrlReaderのテストケースの整備

  • RDFMakerをXbrlReaderに対応させる

  • コマンドラインオプションの整備

  • TDBをSPARQLエンドポイントとして利用

  • RDFMakerで再帰的にrdfを生成できるようにする

  • hasStartDateとhasEndDateをちゃんと同じ枠に入れるようにする。以下のようなミスが ある。本来は1つの期間の中にstartdateとenddateを入れるようにしなければならない 。

    <rdf:Description rdf:about="http://info.edinet-fsa.go.jp/jp/fr/gaap/t/cte/2009-03-09#DisposalOfTreasuryStockTS"> <j.0:hasAmount rdf:nodeID="A3"/> <j.0:hasAmount rdf:nodeID="A4"/> <j.0:hasStartDate rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2007-04-01</j.0:hasStartDate> <j.0:hasStartDate rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2008-04-01</j.0:hasStartDate> <j.0:hasEndDate rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2008-03-31</j.0:hasEndDate> <j.0:hasEndDate rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2009-03-31</j.0:hasEndDate> </rdf:Description>

  • contextについては同じ指定を書き過ぎていてrdfが巨大になってしまっているので、内 容を簡単に参照できるようにする。具体的には、コンテキストをrdfのグラフの中に埋 め込んで、おなじものを参照させるようにする。

  • ifrs関連でのエラーを解消する。 /home/suzuken/workspace/xbrl2rdf/input/EDINET/2011/2/10/S0007PA3/S0007PA3/ifrs-q3r-E01807-000-2010-12-31-01-2011-02-10.xbrl

About

XBRL converter to RDF (not maintenanced.)


Languages

Language:Java 96.7%Language:Shell 2.9%Language:Ruby 0.4%Language:JavaScript 0.0%Language:Perl 0.0%