RDFグラフとAPI
2015-12-22 外部データ参照の実装 現状の整理(続き)の件
前提として、使用する Ruby gem の linkeddata とその周辺を
確認してみました。2015-12-22の記事にあるように、RDF::Graph
というクラスはあります。
http://www.rubydoc.info/github/ruby-rdf/rdf/RDF/Graph
しかし、このドキュメント中の
graph = RDF::Graph.new(RDF::URI("http://greggkellogg.net/foaf#me"), data: repository)
というのは、
graph = RDF::Graph.load(RDF::URI("http://greggkellogg.net/foaf#me"), data: repository)
の間違いのようで、これが修正されないところを見ると、
そもそもこのクラスは使われていないようです。
また、jsonld 形式を扱おうとすると例外が発生してうまく
いかないこともわかりました。
結果、グラフ機能は linkeddata など外部ライブラリに依存せず、
自力で書ける範囲を実装しました。
http://hosi.org:4000/cookies の最下段の「データセット」の
設定で単に example-datasets とし、
http://hosi.org:4000/Event?date=1993
などを見ると、新たに「グループ」というカラムと分類
「日本」「外国」が出ます。これが、GUI から見たグラフの
実装の表れです。かなりややこしい概念的な整理があるので、
詳細はブログではなく Wiki の方で、別途説明する予定です。
グラフ機能を実装したので、API の方も自然に動くように
なりました。例えば、
http://hosi.org/Event.ttl?dataset=history-dataset-sparql.csv&uri=http://hosi.org/public/data/events/history/1
などとすると中西版「歴史データベース」の最初のイベントを
Turtle 形式で取り出せるようになりました。この機能も多岐に
渡りますので、別途 Wiki で説明する予定です。
前提として、使用する Ruby gem の linkeddata とその周辺を
確認してみました。2015-12-22の記事にあるように、RDF::Graph
というクラスはあります。
http://www.rubydoc.info/github/ruby-rdf/rdf/RDF/Graph
しかし、このドキュメント中の
graph = RDF::Graph.new(RDF::URI("http://greggkellogg.net/foaf#me"), data: repository)
というのは、
graph = RDF::Graph.load(RDF::URI("http://greggkellogg.net/foaf#me"), data: repository)
の間違いのようで、これが修正されないところを見ると、
そもそもこのクラスは使われていないようです。
また、jsonld 形式を扱おうとすると例外が発生してうまく
いかないこともわかりました。
結果、グラフ機能は linkeddata など外部ライブラリに依存せず、
自力で書ける範囲を実装しました。
http://hosi.org:4000/cookies の最下段の「データセット」の
設定で単に example-datasets とし、
http://hosi.org:4000/Event?date=1993
などを見ると、新たに「グループ」というカラムと分類
「日本」「外国」が出ます。これが、GUI から見たグラフの
実装の表れです。かなりややこしい概念的な整理があるので、
詳細はブログではなく Wiki の方で、別途説明する予定です。
グラフ機能を実装したので、API の方も自然に動くように
なりました。例えば、
http://hosi.org/Event.ttl?dataset=history-dataset-sparql.csv&uri=http://hosi.org/public/data/events/history/1
などとすると中西版「歴史データベース」の最初のイベントを
Turtle 形式で取り出せるようになりました。この機能も多岐に
渡りますので、別途 Wiki で説明する予定です。
この記事へのコメント