2005年11月アーカイブ
先日 Folksonomy (フォークソノミー)を話題に出しました。 ブログが爆発的に広まり、個人の情報発信がWEBの世界で大きな勢力を持ってきている中、いま注目を浴びている Web2.0 の中でもそれは特徴として挙げられています。
Web2.0 に対する明確な定義はありませんが、最近注目されているテクノロジである ブログ、Ajax、RSS、タギング、などはWeb2.0だといえます。 Web 2.0:次世代ソフトウェアのデザインパターンとビジネスモデル(前編)の Web 2.0 Meme Map よると、Web2.0の中心にある考え方は、
ということで、上記の各テクノロジもこれらの特徴に当てはまることが分かります。 (注目されている各テクノロジを上記のような切り口でまとめてWeb2.0という言葉をつけた、という感がありますが...)
- プラットフォームとしてのウェブ
- 情報の自己コントロール
- パッケージソフトウェアでなくサービス
- 「参加」のアーキテクチャ
- 高い拡張性とコスト効率
- 再構成可能なデータソースとデータ変換
- 単一デバイスの枠を超えたソフトウェア
- 集合知の利用
こういった技術が普及してきて感じることは、流通したり利用されたりするデータの粒度が小さくなっていることです。そして、実際にそれらのデータを利用するときには、APIやその他のインタフェースによりオリジナルのサービスへ導かれていることです。
たとえば、Google Maps でも、APIが提供されたことにより、さまざまな人々が簡易的なGISシステムを簡単に作り上げることが可能になりました。これも、地図データをAjaxで利用しているのでWeb2.0のサービスとなっています。
私が注目しているセマンティックWEBもこれらの発想と近いものだと思います。ガッチリと体系付けられたセマンティックWEBに対して、自然発生的に生まれたサービス、テクノロジで、Folksonomy などを通じてメタデータがつけられていくことで、コンピュータが自動的に処理できるデータが増えていくのは、インターネット全体にとってはいい方向に向かっていると思います。
ちなみに、人工知能学会のセマンティックウェブとオントロジー研究会では、このようなユーザ指向のメタデータを「ライトウエイト・メタデータ」と定義しているようです。
Tyzohでも、ユビキタス時代のIT基盤への取り組みのなかで、爆発するデータの多様性(非定型、細粒度、複雑なデータ間の関係)、大量に発生するデータへ対応するための議論を行っていますが、Web2.0という言葉でまとめられているものの、それぞれのテクノロジの発想はインターネットで発信、蓄積、流通しているデータをどうやって扱っていくかというところから出てきているのでしょうね。
以下、参考まで。「データは次世代の『インテル・インサイド』」という見出しは面白い発想ですね。Web 2.0:次世代ソフトウェアのデザインパターンとビジネスモデル(後編)
ワタナベ (2005-11-30 12:07) | コメント(0)| トラックバック(0)
ワタナベです。
この週末、RDF Repository の効率改善にチャレンジしてみます。
まずは、トリプルを格納するテーブルの分割。
結果はまた月曜日に。
ワタナベ (2005-11-25 23:40) | コメント(0)| トラックバック(0)
本日、「RDFデータベースとXMLデータベースってどう違うの?」
という質問を受けました。
その名の通り、おのおのRDFを格納するDB、XMLを格納するDBです。
そうすると、
「RDFとXMLではどう違うの?柔軟な属性の追加ならXMLでもできるでしょ?」
という疑問が湧いてきます。
ある複雑なデータの塊を想定したとき、
XMLは必ずルートノードを基点としたツリー構造になっています。それに対しRDFはトリプルを基本構造とした有向グラフ、つまりネットワーク構造になっています。
ツリー構造は理解しやすく、ノード間に上下関係や包含関係があるものを表現するのに適しています。しかし、いわゆる兄弟ノードなど、ルートからのパスを共有していないノードとの関係を表現する場合にはノードにIDを割り当て、IDを介して参照するといった関係の定義が必要になり、ツリー構造の扱いとは別の仕組みで行うことになります。
ネットワーク構造であれば、ツリーの形状を表現できることはもちろん、上記のような関係も、同じネットワーク構造の操作の範疇で表現することができます。
言い換えると縦の関係だけしか表せない(縦の構造にしないといけない)XMLに対し、横の関係も表せるRDFの方が、構造的な制約を受けない分、柔軟性が高いといえます。
ワタナベ (2005-11-25 12:56) | コメント(0)| トラックバック(0)
RDF Repositoryの効率改善ということで、フォーラムでは nakaytさんにたくさんのご意見をいただいています。ありがとうございます。
私も効率の面やDB周りのつくりについて、やり残したこと、アイデアとして持っていることを記録していきたいと思います。
# オフラインでのディスカスのためのメモという位置づけでもあります。
・Predicate の種類によるstatementsテーブルの分割
・現在有効なデータと過去のデータを保持するテーブルを分割。
過去データは履歴テーブルに。
・同じサブジェクトを持つステートメントを一括して読み取ってキャッシュする。
リソースを起点にプロパティ値を読み取る処理に有効か。
・リソースごとに、「履歴を残すかどうか」「読み取り専用かどうか」
「永続化しない」などデータ管理のポリシーを指定できるようにする。
・DBアクセスの下回りを、ちゃんとDAOパターンにする。PersistentModelクラス
ではちゃんとできていない...各々のDBに特化した効率の良いSQLの利用。
・アクセスコントロールのチェック処理を repository パッケージ内で行う。
list処理の結果やクエリー結果のフィルタをできるだけ下位で行う。
・Rinza APIレベルでの複数ステートメントの一括追加
・クライアント側のステートメントのキャッシュ
などなどです。
このほかにも思い出したら、つらつらと書き記しておきます。
ワタナベ (2005-11-22 01:38) | コメント(0)| トラックバック(0)
今日は会社でフロアの引越しと避難訓練があり、
疲れました。若いのに...
さて、避難訓練の後に技術シーズの品評会なるものが
開催され、私もそこでRDF Repositoryの紹介をしました。
ユビキタス時代においては、さまざまなところから膨大な
データが生まれることが予想されます。
それらのデータから価値ある情報を見つけるために、
メタデータによるデータへの意味づけが有効ではないかと思います。
ということで、少しメタデータの勉強をしたいと思います。
ポインタのみですみません。。。
W3C Metadata Activity
Webアーキテクチャ:メタデータ
メタデータの基礎概念
ちかごろ気になるITキーワード ? メタデータ ?
ワタナベ (2005-11-19 12:59) | コメント(0)| トラックバック(0)
ワタナベです。
今日は便利ツールの紹介。
皆さんはソーシャルタギング(social tagging) や フォークソノミー(folksonomy)という言葉をご存知でしょうか。
いずれもほぼ同じ意味で使われ、みんなで「タグ」と呼ばれるキーワードを付与することで、いろいろなものを分類していくということを指しています。Folksonomy は folks と taxonomy をくっつけた造語ですね。
フォークソノミーというと代表的なサービスは、flickr や del.icio.usが有名どころですが、今回紹介したいのはSpurlというオンラインブックマークサービスです。
Firefoxをお使いの方は、ブックマークのリストがサイドバーに入りますので内蔵のブックマークと同じように使えます。
とってもグーです。お試しあれ。
フォークソノミーやSpurlに関しては以下のサイトが詳しいです。
こんにちは Spurl! さらば Delicious!
ちまたで祭りの「Folksonomy」ってなんだ?
結局、中身の説明は他人まかせになってしまった...
ワタナベ (2005-11-17 18:37) | コメント(0)| トラックバック(0)
ワタナベです。
ずいぶん間が開いてしまいました。
WEBサイトのリニューアルとかいろいろやっていたんですよ ~o~;
前の話を思い出していただくために、一旦こちらを読んでいただいたほうがいいかもしれませんね。
Rinza RDF Repository (その1)
Rinza RDF Repository (その2)
コンピュータ上で意味を表現するには認識が共有された語彙が必要になるというところで止まっていたようです...。
まずは「意味を表現する」ということが、コンピュータ上で何をどうすることなのかということををちゃんとイメージできるように整理しておきましょう。
たとえば、日本語で「ワタナベは犬が大好きだ」ということをあらわすとき、
RDFを使えば、
[ ワタナベ ] --<大好き>--> [ 犬 ]
と描けます。といっても私がこのように描いているだけです。
日本語を使える人が見れば、伝えたいことはかなりの確率で理解してもらえると思います。
しかし、日本語が分からない外国人が見たら「大好き」という述語で何を表したいのか
さっぱり理解されないでしょう。
さて、これはどういうことかというと、私たちが使っている日本語をはじめとして、ほとんどの言語(語彙)は、自分の意思を伝えるためのコミュニケーションの手段であったり、物を考える上での基本的な概念を形作っていたりするということです。
そして(言語を媒体として)相手の意思を理解するには、お互いに同じ文化の下で定義された同じ語彙を使っていることが重要になってきます。
言い換えると、相手を理解するためには語彙の体系を共有していることが必要だということになります。
もっと言い換えると、語彙と語彙の関係付けが共有できていればいいのです。
つまり、私が思っているところの●と■の関係は、あなたが思っているところの○と□であるということが定義されていれば良いです。
そうすると、日本語を使う人と英語を使う人が意思の疎通を図ろうとした場合、
「ワタナベ」→ 人間 = Person
「大好き」 = love
「犬」 → ペット = Pet
という関係さえ導き出せれば、意味を理解することはできそうです。
そしてこの関係を定義づけるのがオントロジです。
コンピュータ上で意味を表現するということは、オントロジ記述言語(OWLなど)を用いて、語彙と語彙の関係をコンピュータが処理できる形で体系化してあげることといえます。
ワタナベ (2005-11-17 12:00) | コメント(0)| トラックバック(0)
プロフィール
ワタナベ
サーバ管理が趣味の渡邉充隆です。
仮想化やネットワーク構成に興味があります。
あとは、ウェブ系の技術(プログラミングからインフラまで)も好きで、特にデータの見せ方などを工夫することで情報の流通や再活用を促進する技術を研究しています。
dev.tyzoh.jp では ssdb の(コアではなく)周辺のコードをいじっています。
月別アーカイブ
Copyright (C) 2004-2008 Nihon Unisys, Ltd. All Rights Reserved.
Powered by Movable Type Open Source