Greggが早急に動くようにしてくれました.すでに入れている人はgem update で0.5.0にできます.とりあえずRuby1.8.6-1.9.1なら動くようになったようです.1.8と1.9では文字の扱いが大分違うので色々な問題がありそうですね.また,TurtleなどのTestSuiteもN3 Parserが通るようになってみたいです.
Tags: RDF, Ruby, SemanticWebMonthly Archives: 2月 2010
RubyRDF
次はRubyRDFです.特徴は以下の通りです.
- Store: Memory, Sesami
- Query: 独自の構文
特定のフォーマットの入出力には対応しておらず,メモリ上(またはSesami)でグラフを作り,それに対して独自のクエリを投げられるだけのようです.また,残念ながら開発が止まっており,かつRuby1.8.xでしか動きません.Ruby1.9.1では駄目でした.メリットが何もないので少し試しただけで止めました.
使い方
gemから入れます.
$ gem install rubyrdf
とりあえず試すには以下のコード(ほぼサンプルのまま)を入れれば良いです.
#!/usr/bin/ruby
require 'rubygems'
require 'rubyrdf'
RDF::Namespace.register(:dc, "http://purl.org/dc/elements/1.1/")
g = RDF::Graph::Memory.new
g.add(RDF::UriNode.new("http://paul.stadig.name/"), DC::author,
g.new_blank_node("test"))
q = RDF::Query.new
q.select(:x, :y).where(:x, DC::author, :y)
result = g.execute(q)
result.bindings.each do |b|
puts "x = #{b[:x]}"
puts "y = #{b[:y]}"
end
Tags: Programming, RDF, Ruby, SemanticWeb, SesamiRdfContext
自分用メモとして,言語毎にRDFを扱えるライブラリのまとめをしていきたいと思っています.とりあえずまずはRubyから.RubyはRDFライブラリの対応具合がばらばらで,これといったものがありませんでした.一番人気がある方法がJRuby経由でJenaを使うことです.私はCライブラリであるRedlandのRubyバインディングをたまに使っていました.しかしここ最近,Pure Rubyなライブラリが出てきているので,調査しています.
まず今回はRdfContextです.Reddyがベースとなっています.主な機能は以下の通り.
- Parser: RDF/XML, RDFa, N3
- Store: List(Array), Memory, SQLite3
- Serialization: RDF/XML, N-Triples
まだRDFの入出力しか対応しておらず,SPARQLなどの機能はTodoとなっています.また,非ASCII文字は全部unicode escapeされます.Ruby1.9.1で動かなかったので,とりあえず動くようにするPatchを送ったのですが,作者のGreggが今色々と対応中で,近い内にversion0.5を出したいとのことなので,しばらく待とうと思います.
使い方
インストールはgemでできます.Ruby 1.8.7なら動くはずです.Ruby1.9以上で使う場合は上記のPatchをインストール後に当てればとりあえず使えます.
$ gem install rdf_context
RDFファイルを読み込んでN-Triplesで出力するコードは以下のようになります.p.parseの2つ目の引数で基点となるURIを与える必要があります.与えなかった場合は適当なbnodeになるようです.
#!/usr/bin/ruby
require 'rubygems'
require 'rdf_context'
require 'open-uri'
include RdfContext
p = Parser.new
str = open("http://fumi.me/foaf.rdf").read
g = p.parse(str, "http://fumi.me/foaf.rdf", :type => :rdfxml)
#puts g.to_rdfxml
puts g.to_ntriples
また,GraphにTripleを追加いきたいときは,ストレージ先を指定したGraphを先に作れば良いです.引数storeについては,今のところListは動くのですが,まだSQLite3で動かせていません.引数identifierは,NamedGraph用のようです.下記のコードで,二つのRDF/XMLの内容をまとめた一つのRDF/XMLを出力することができます.
include RdfContext
## 動かない
#g = Graph.new(:store => SQLite3Store.new(:path => "store.db"),
:identifier => URIRef.new("http://fumi.me"))
g = Graph.new(:store => :list_store,
:identifier => URIRef.new("http://fumi.me"))
g.parse(open("http://fumi.me/foaf.rdf").read,
"http://fumi.me/foaf.rdf", :type => :rdfxml)
g.parse(open("http://semantictweet.com/fumi1").read,
"http://semantictweet.com/fumi1", :type => :rdfxml)
puts g.to_rdfxml
全体的にまだまだこれからという印象です.
Tags: Library, RDF, RDFa, Ruby, SemanticWebゴールは偶然の産物ではない~FCバルセロナ流世界最強マネジメント~
サッカー関係の本は好きなので結構読むのですが,この本は面白いです.FCバルセロナは去年12月にFIFAクラブワールドカップ2009に優勝し,現在のリーガエスパニョーラでも首位と,現在最も勢いのある世界有数のビッククラブです.しかし,2002年頃には大幅な赤字(7300万ユーロ)で経営難に直面していました.それをどうやって2003年に黒字に戻し,2008年には収益を2002年と比べて3倍以上にしたのかが述べられています.
当時からトップの収益を誇るマンチェスターユナイテッドから学べるところを全部学んだ上で,独自の理念・戦略を考え,それをどうやってチーム全体に根付かせたかというのを,マネージメント,リーダーシップ,マーケティング,育成,交渉など様々な側面から触れています.この経営改革によって,現在FCバルセロナは一つのグローバル企業のような存在になっています.スペインの一サッカークラブが日本語のサイトを持っているというのは凄いですよね.アラビア語のサイトもあります.また,日本人もソシオ(サポーター)になることができますし,会長選挙の投票権など運営に関わる権利もスペイン人と同様に与えられます.投票は現地にいかないといけないですが.
マネージメントやサッカー,スポーツビジネスに興味がある人には是非読んで見ると良いのではないでしょうか.特にサカつくとか好きな人にはお薦めです.
また,”史上最強バルセロナ 世界最高の育成メソッド”も一緒にお薦めです.こちらはバルセロナのカンテラ(下部組織)でどうやって若手を育成してきたのかということが書かれています.現在のトップチームの半分がカンテラ出身というのは,偶然ではないというのがわかります.
ゴールは偶然の産物ではない~FCバルセロナ流世界最強マネジメント~
著者/訳者:フェラン・ソリアーノ
出版社:アチーブメントシュッパン( 2009-12-01 )
定価:¥ 1,680
Amazon価格:¥ 1,680
単行本 ( 272 ページ )
ISBN-10 : 4902222809
ISBN-13 : 9784902222807
史上最強バルセロナ 世界最高の育成メソッド (小学館101新書 56)
著者/訳者:ジョアン・サルバンス
出版社:小学館( 2009-10-01 )
定価:¥ 756
Amazon価格:¥ 756
単行本 ( 226 ページ )
ISBN-10 : 409825056X
ISBN-13 : 9784098250561
Tags: Book, Management, Soccer
Google Chrome for MacとTaberareloo
私はずっとFirefoxをメインで使っていましたが,その大きな理由の一つがTomblooでした.以前ブログにも書きましたが,複数のウェブサービスを使っている人には大変役に立つアドオンです.Firefoxがメモリ2GBくらい占有して固まったりとかするのが日常茶飯事になってしまっていて,他ブラウザに移行したいなと思いつつも移行できなかったのはこれがあったからでした.
実はGoogle Chrome Extensionsには,TomblooのChrome版であるTaberarelooというExtensionがあります.しかし,Mac版のChromeではExtensionに正式には対応していなかったので使えませんでした.Windows版では既に試用しており,これが対応すれば移行できるのになと思っていました.
そんな中,やっと昨日の更新でMac版のChromeも正式にExtensionが動くようになったと聞きました.試したところ,Taberarelooもきちんと動くことが確認できました.というわけでしばらくの間Chromeをメインブラウザに指定して使ってみることにします.
Tags: Browser, Chrome, Extension, Taberareloo, Tombloo


